Getting Started

Overview

The Channel Manager API issues tickets on behalf of an external sales channel from a single order submission. Issuance runs synchronously inside the API call, so the response to createOrder already contains the final order state, the issued wallets, the ticket numbers, and the manifestUrl — no polling is required. The walk-through below shows the most common path followed by the operational variants (deferred payment, replacement, cancellation, lookup).

Send the full order in a single call. The combination of partnerId and sellToOrderReference must be unique per partner. Supply paymentReference if payment has already been captured; omit it if you intend to confirm payment in a second step.

POST
/:tenant/:environment/:company/channelManager
1curl -X POST https://api.npretail.app/01234567-89ab-cdef-0123-456789abcdef/production/CRONUS%2520International%2520Ltd./channelManager \
2 -H "x-np-api-key: <NaviPartner API Key>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "partnerId": "21e8c1d2-3f4a-4c5b-9e6d-7f8a9b0c1d2e",
6 "sellToOrderReference": "PARTNER-ORDER-2026-00042",
7 "items": [
8 {
9 "itemNumber": "31001",
10 "visitDate": "2026-06-01",
11 "visitTime": "10:30:00",
12 "quantity": 2,
13 "wallet": {
14 "names": [
15 "Jane Doe",
16 "John Doe"
17 ],
18 "externalReferenceNumbers": [
19 "JD-2026-001",
20 "JOHN-2026-001"
21 ]
22 }
23 }
24 ],
25 "sellToEmail": "guest@example.com",
26 "sellToName": "Jane Doe",
27 "sellToLanguage": "ENU",
28 "paymentReference": "PAY-987654"
29}'

The response is the final order state. With paymentReference supplied the order is returned as Issued, including every wallet’s walletReferenceNumber, the individual ticket numbers under assets, and the printable manifestUrl. Without paymentReference it is returned as Draft. Capture the orderId — every subsequent call uses it.

Response
1{
2 "orderId": "9c6b2f4e-2b71-4d23-9d6a-a3b4c5d6e7f8",
3 "status": "Issued",
4 "partnerId": "21e8c1d2-3f4a-4c5b-9e6d-7f8a9b0c1d2e",
5 "sellToOrderReference": "PARTNER-ORDER-2026-00042",
6 "receivedAt": "2026-05-15T09:30:00Z",
7 "items": [
8 {
9 "lineNo": 10000,
10 "itemNumber": "31001",
11 "isPackage": false,
12 "quantity": 1,
13 "visitDate": "2026-06-01",
14 "visitTime": "10:30:00",
15 "wallets": [
16 {
17 "seqNo": 1,
18 "assets": [
19 {
20 "id": "2c3a84c7-059f-41d3-8033-0d94e08d4b13",
21 "type": "ticket",
22 "assetId": "3d4b95d8-16e0-42e4-9b2a-1d95f08d5c14",
23 "referenceNumber": "ATF-BIL010665L-3",
24 "itemNumber": "31001"
25 }
26 ],
27 "walletId": "5a1c2b3d-4e5f-6071-8293-a4b5c6d7e8f9",
28 "walletReferenceNumber": "141234529930210327",
29 "externalReferenceNumber": "JD-2026-001",
30 "name": "Jane Doe",
31 "issuedAt": "2026-05-15T09:30:05Z",
32 "unitPriceExclVat": 80,
33 "unitPriceInclVat": 100,
34 "currencyCode": "DKK",
35 "manifestUrl": "https://manifests.npretail.app/wallets/9c6b2f4e/manifest.pdf"
36 }
37 ],
38 "sellToName": "Jane Doe",
39 "sellToEmail": "guest@example.com",
40 "sellToLanguage": "ENU"
41 }
42 ],
43 "sellToEmail": "guest@example.com",
44 "sellToName": "Jane Doe",
45 "sellToLanguage": "ENU",
46 "paymentReference": "PAY-987654",
47 "jobId": "TM-IMPORT-000123",
48 "manifestUrl": "https://manifests.npretail.app/wallets/9c6b2f4e/manifest.pdf"
49}

If issuance fails, the call returns an error response and the order is left as Error with statusMessage describing the problem. The recommended remediation is to fix the offending input (e.g. an invalid component schedule) and replace the order — see step 3.

If you did not include paymentReference in createOrder, the order rests in Draft. Release it for issuance with confirmOrder:

POST
/:tenant/:environment/:company/channelManager/:orderId/confirm
1curl -X POST https://api.npretail.app/01234567-89ab-cdef-0123-456789abcdef/production/CRONUS%2520International%2520Ltd./channelManager/9c6b2f4e-2b71-4d23-9d6a-a3b4c5d6e7f8/confirm \
2 -H "x-np-api-key: <NaviPartner API Key>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "paymentReference": "PAY-987654"
6}'

Confirming an order that is already Issued is a no-op.

Response
1{
2 "orderId": "9c6b2f4e-2b71-4d23-9d6a-a3b4c5d6e7f8",
3 "status": "Issued",
4 "partnerId": "21e8c1d2-3f4a-4c5b-9e6d-7f8a9b0c1d2e",
5 "sellToOrderReference": "PARTNER-ORDER-2026-00042",
6 "receivedAt": "2026-05-15T09:30:00Z",
7 "items": [
8 {
9 "lineNo": 10000,
10 "itemNumber": "31001",
11 "isPackage": false,
12 "quantity": 1,
13 "visitDate": "2026-06-01",
14 "visitTime": "10:30:00",
15 "wallets": [
16 {
17 "seqNo": 1,
18 "assets": [
19 {
20 "id": "2c3a84c7-059f-41d3-8033-0d94e08d4b13",
21 "type": "ticket",
22 "assetId": "3d4b95d8-16e0-42e4-9b2a-1d95f08d5c14",
23 "referenceNumber": "ATF-BIL010665L-3",
24 "itemNumber": "31001"
25 }
26 ],
27 "walletId": "5a1c2b3d-4e5f-6071-8293-a4b5c6d7e8f9",
28 "walletReferenceNumber": "141234529930210327",
29 "externalReferenceNumber": "JD-2026-001",
30 "name": "Jane Doe",
31 "issuedAt": "2026-05-15T09:30:05Z",
32 "unitPriceExclVat": 80,
33 "unitPriceInclVat": 100,
34 "currencyCode": "DKK",
35 "manifestUrl": "https://manifests.npretail.app/wallets/9c6b2f4e/manifest.pdf"
36 }
37 ],
38 "sellToName": "Jane Doe",
39 "sellToEmail": "guest@example.com",
40 "sellToLanguage": "ENU"
41 }
42 ],
43 "sellToEmail": "guest@example.com",
44 "sellToName": "Jane Doe",
45 "sellToLanguage": "ENU",
46 "paymentReference": "PAY-987654",
47 "jobId": "TM-IMPORT-000123",
48 "manifestUrl": "https://manifests.npretail.app/wallets/9c6b2f4e/manifest.pdf"
49}

Use replaceOrder to change a Draft or Error order. partnerId and sellToOrderReference are immutable under PUT; all other header fields, plus the entire items array, are replaced. Previously issued wallets are destroyed and re-issued from the new payload.

PUT
/:tenant/:environment/:company/channelManager/:orderId
1curl -X PUT https://api.npretail.app/01234567-89ab-cdef-0123-456789abcdef/production/CRONUS%2520International%2520Ltd./channelManager/9c6b2f4e-2b71-4d23-9d6a-a3b4c5d6e7f8 \
2 -H "x-np-api-key: <NaviPartner API Key>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "partnerId": "21e8c1d2-3f4a-4c5b-9e6d-7f8a9b0c1d2e",
6 "sellToOrderReference": "PARTNER-ORDER-2026-00042",
7 "items": [
8 {
9 "itemNumber": "31001",
10 "visitDate": "2026-06-01",
11 "visitTime": "10:30:00",
12 "quantity": 2,
13 "wallet": {
14 "names": [
15 "Jane Doe",
16 "John Doe"
17 ],
18 "externalReferenceNumbers": [
19 "JD-2026-001",
20 "JOHN-2026-001"
21 ]
22 }
23 }
24 ],
25 "sellToEmail": "guest@example.com",
26 "sellToName": "Jane Doe",
27 "sellToLanguage": "ENU"
28}'
Response
1{
2 "orderId": "9c6b2f4e-2b71-4d23-9d6a-a3b4c5d6e7f8",
3 "status": "Issued",
4 "partnerId": "21e8c1d2-3f4a-4c5b-9e6d-7f8a9b0c1d2e",
5 "sellToOrderReference": "PARTNER-ORDER-2026-00042",
6 "receivedAt": "2026-05-15T09:30:00Z",
7 "items": [
8 {
9 "lineNo": 10000,
10 "itemNumber": "31001",
11 "isPackage": false,
12 "quantity": 1,
13 "visitDate": "2026-06-01",
14 "visitTime": "10:30:00",
15 "wallets": [
16 {
17 "seqNo": 1,
18 "assets": [
19 {
20 "id": "2c3a84c7-059f-41d3-8033-0d94e08d4b13",
21 "type": "ticket",
22 "assetId": "3d4b95d8-16e0-42e4-9b2a-1d95f08d5c14",
23 "referenceNumber": "ATF-BIL010665L-3",
24 "itemNumber": "31001"
25 }
26 ],
27 "walletId": "5a1c2b3d-4e5f-6071-8293-a4b5c6d7e8f9",
28 "walletReferenceNumber": "141234529930210327",
29 "externalReferenceNumber": "JD-2026-001",
30 "name": "Jane Doe",
31 "issuedAt": "2026-05-15T09:30:05Z",
32 "unitPriceExclVat": 80,
33 "unitPriceInclVat": 100,
34 "currencyCode": "DKK",
35 "manifestUrl": "https://manifests.npretail.app/wallets/9c6b2f4e/manifest.pdf"
36 }
37 ],
38 "sellToName": "Jane Doe",
39 "sellToEmail": "guest@example.com",
40 "sellToLanguage": "ENU"
41 }
42 ],
43 "sellToEmail": "guest@example.com",
44 "sellToName": "Jane Doe",
45 "sellToLanguage": "ENU",
46 "paymentReference": "PAY-987654",
47 "jobId": "TM-IMPORT-000123",
48 "manifestUrl": "https://manifests.npretail.app/wallets/9c6b2f4e/manifest.pdf"
49}

DELETE /channelManager/:orderId tears down the order’s wallets and tickets. The order row survives as Cancelled if it was previously Issued or Cancelled; it is removed outright if it was Draft or Error.

DELETE
/:tenant/:environment/:company/channelManager/:orderId
1curl -X DELETE https://api.npretail.app/01234567-89ab-cdef-0123-456789abcdef/production/CRONUS%2520International%2520Ltd./channelManager/9c6b2f4e-2b71-4d23-9d6a-a3b4c5d6e7f8 \
2 -H "x-np-api-key: <NaviPartner API Key>"
Response
1{
2 "orderId": "9c6b2f4e-2b71-4d23-9d6a-a3b4c5d6e7f8",
3 "status": "Issued",
4 "partnerId": "21e8c1d2-3f4a-4c5b-9e6d-7f8a9b0c1d2e",
5 "sellToOrderReference": "PARTNER-ORDER-2026-00042",
6 "receivedAt": "2026-05-15T09:30:00Z",
7 "items": [
8 {
9 "lineNo": 10000,
10 "itemNumber": "31001",
11 "isPackage": false,
12 "quantity": 1,
13 "visitDate": "2026-06-01",
14 "visitTime": "10:30:00",
15 "wallets": [
16 {
17 "seqNo": 1,
18 "assets": [
19 {
20 "id": "2c3a84c7-059f-41d3-8033-0d94e08d4b13",
21 "type": "ticket",
22 "assetId": "3d4b95d8-16e0-42e4-9b2a-1d95f08d5c14",
23 "referenceNumber": "ATF-BIL010665L-3",
24 "itemNumber": "31001"
25 }
26 ],
27 "walletId": "5a1c2b3d-4e5f-6071-8293-a4b5c6d7e8f9",
28 "walletReferenceNumber": "141234529930210327",
29 "externalReferenceNumber": "JD-2026-001",
30 "name": "Jane Doe",
31 "issuedAt": "2026-05-15T09:30:05Z",
32 "unitPriceExclVat": 80,
33 "unitPriceInclVat": 100,
34 "currencyCode": "DKK",
35 "manifestUrl": "https://manifests.npretail.app/wallets/9c6b2f4e/manifest.pdf"
36 }
37 ],
38 "sellToName": "Jane Doe",
39 "sellToEmail": "guest@example.com",
40 "sellToLanguage": "ENU"
41 }
42 ],
43 "sellToEmail": "guest@example.com",
44 "sellToName": "Jane Doe",
45 "sellToLanguage": "ENU",
46 "paymentReference": "PAY-987654",
47 "jobId": "TM-IMPORT-000123",
48 "manifestUrl": "https://manifests.npretail.app/wallets/9c6b2f4e/manifest.pdf"
49}

Use listOrdersByPartner to fetch orders for one partner, optionally filtered by status, sellToOrderReference, or a receivedAt window. The returned objects are compact summaries; follow up with getOrder to inspect items and wallets.

GET
/:tenant/:environment/:company/channelManager/orders/:partnerId
1curl -G https://api.npretail.app/01234567-89ab-cdef-0123-456789abcdef/production/CRONUS%2520International%2520Ltd./channelManager/orders/21e8c1d2-3f4a-4c5b-9e6d-7f8a9b0c1d2e \
2 -H "x-np-api-key: <NaviPartner API Key>" \
3 -d status=Issued \
4 --data-urlencode receivedAtFrom=2026-05-01T00:00:00Z \
5 --data-urlencode receivedAtTo=2026-05-31T23:59:59Z
Response
1[
2 {
3 "orderId": "9c6b2f4e-2b71-4d23-9d6a-a3b4c5d6e7f8",
4 "partnerId": "21e8c1d2-3f4a-4c5b-9e6d-7f8a9b0c1d2e",
5 "sellToOrderReference": "PARTNER-ORDER-2026-00042",
6 "status": "Issued",
7 "receivedAt": "2026-05-15T09:30:00Z",
8 "sellToEmail": "guest@example.com",
9 "sellToName": "Jane Doe",
10 "sellToLanguage": "ENU",
11 "paymentReference": "PAY-987654",
12 "statusMessage": "",
13 "jobId": "TM-IMPORT-000123",
14 "manifestUrl": "https://manifests.npretail.app/wallets/9c6b2f4e/manifest.pdf"
15 }
16]