Use passninja-python as a PyPi or Anaconda module.
Install via pip:
pip install passninja
Use this class to create a PassNinjaClient
object. Make sure to
pass your user credentials to make any authenticated requests.
import passninja
account_id = '**your-account-id**'
api_key = '**your-api-key**'
pass_ninja_client = passninja.PassNinjaClient(account_id, api_key)
We've placed our demo user API credentials in this example. Replace it with your actual API credentials to test this code through your PassNinja account and don't hesitate to contact PassNinja with our built in chat system if you'd like to subscribe and create your own custom pass type(s).
For more information on how to use passninja-python
once it loads, please refer to
the PassNinja JS API reference
This library currently supports methods for creating, getting, updating, and deleting passes via the PassNinja api. The methods are outlined below.
simple_pass_object = pass_ninja_client.passes.create(
'ptk_0x14', # passType
{'discount': '50%', 'memberName': 'John'} # passData
)
print(simple_pass_object.url)
print(simple_pass_object.passType)
print(simple_pass_object.serialNumber)
Finds issued passes for a given pass template key
pass_objects = pass_ninja_client.passes.find(
'ptk_0x14', # passType aka pass template key
)
detailed_pass_object = pass_ninja_client.passes.get(
'ptk_0x14', # passType
'97694bd7-3493-4b39-b805-20e3e5e4c770' # serialNumber
)
pass_template_object = pass_ninja_client.pass_templates.find(
'ptk_0x14', # pass template key
)
print(pass_template_object.pass_type_id)
Decrypts issued passes payload for a given pass template key
decrypted_pass_object = pass_ninja_client.passes.decrypt(
'ptk_0x14', # passType
'55166a9700250a8c51382dd16822b0c763136090b91099c16385f2961b7d9392d31b386cae133dca1b2faf10e93a1f8f26343ef56c4b35d5bf6cb8cd9ff45177e1ea070f0d4fe88887' # payload
)
simple_pass_object = pass_ninja_client.passes.put(
'ptk_0x14', # passType
'97694bd7-3493-4b39-b805-20e3e5e4c770', # serialNumber
{'discount': '100%', 'memberName': 'Ted'} # passData
)
deleted_pass_serial_number = pass_ninja_client.passes.delete(
'ptk_0x14', # passType,
'97694bd7-3493-4b39-b805-20e3e5e4c770' # serialNumber
)
print('Pass deleted. Serial_number: ', deleted_pass_serial_number)