Development of NOD BackOffice Clients
Using NOD
This chapter describes the most central concepts for a PTO to use NOD. The chapter does not cover all details but aims instead to put the NOD PTO Interface Specification in context for a NOD PTO developer. The PTO interface is currently accessed through the PL4 application, and PL4 access is therefore required. The NOD-related functionality in PL4 is hereafter referred to as the PTIS-HUB. For details on these services, consult the documentation.
PTIS-HUB NOD Services
Use of NOD is relatively simple. Orders that should be distributed by NOD can be added by calling the SOAP service described in [NOD_Services.doc - Document provided on request.]:
Service | Comment |
---|---|
AddOrders | Add one or more orders that should be distributed as an OrderGroup |
UpdateOrderGroup | Modify the state of an OrderGroup. This has many restrictions and is mostly used for cancellation. |
GetOrderGroups | Return the contents of OrderGroups. Typically used to check if an OrderGroups has been picked up, or used as a basis for a reconstruction. |
The OrderDescription that is submitted through AddOrders is a Base64 encoded XML document indended for a specific Plugin. PL4 will retrieve the OrderDescription schema from this plugin and validate the sumbmitted OrderDescription according to this schema before a submission is accepted. The metadata submitted with the order (ActionType, CompanyID etc) is used by PL4 to select the correct Plugin.
PTIS-HUB Registrar Services
Mobile QR Codes contain a cryptographically signed checksum. This checksum is calculated by the Mobile Ticket NOD Plugin. In order to verify these checksums during QR code scanning, the validator must obtain the same keys used for signing the QR code. These keys may be downloaded by a PTO through the PL4 RegsitrarServices by calling GetProtectedResources. This is the same service that the Plugin itself retrieves the keys from.
Submitting an Order to NOD for Distribution
Read [Del 22 App D - Document provided on request.].
NOD Transactions
Read [Del 22 App D - Document provided on request.].
Custom reports
This is mostly the properties submitted by the NOD Client at the time of pickup, and may be used for reports that need to know the location of the traveler, the Service Provider associated with the NOD Client etc. The following example comes from a stationary Mobile Ticket APP:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:context xmlns:ns2="http://ioas.no/nod/queue/context">
<property>
<key>timestamp</key>
<dateTime>2013-05-15T07:35:49.160Z</dateTime>
</property>
<property>
<key>userAgent</key>
<string>RuterBillett/1.0 (wp; OsVersion WinCE 7.10.8107; AppVersion 2)</string>
</property>
<property>
<key>mediaSerialNumberID</key>
<string>3298536270566</string>
</property>
<property>
<key>locale</key>
<string>no</string>
</property>
<property>
<key>clientID</key>
<string>DV5D4MCUXJ</string>
</property>
<property>
<key>qrSize</key>
<unsignedInt>480</unsignedInt>
</property>
<property>
<key>orderGroupID</key>
<string>999999</string>
</property>
<property>
<key>capabilityCode</key>
<string>000000001000000000000000000</string>
</property>
<property>
<key>clientSecret</key>
<byteArray>65303464356239642D363539642D343363632D393830392D303338316637343062376535</byteArray>
</property>
</ns2:context>