This AsyncAPI document specifies the message formats and communication channels between Nexus Go Cards 2.0 (NGOC) and the External Production Partner.
NGOC functions as both a message producer and consumer, depending on the operation:
The communication is handled through Azure Service Bus, with de-duplication detection enabled and configured for a 5-day window.
To kickstart your integration you can generate client code using one of the supported AsyncAPI generator templates listed here. The example below generates a nodejs application based on this AsyncAPI specification.
Download the AsyncAPI CLI
npm install -g @asyncapi/cli
Download the generator
npm install @asyncapi/generator@2.4.1
Generate client code
asyncapi generate fromTemplate https://prodpartner.cards.nxsas.com/asyncapi.yml --output ./generated-project @asyncapi/nodejs-template -p server=production
Guidelines for message handling:
EXTERNAL_PRODUCTION_REQUEST_SENT
) as the subject/label of the Service Bus message.For additional information on publishing and subscribing to Azure Service Bus messages, refer to the official Azure Service Bus documentation.
Queue credentials will be provided during the integration setup process.
NGOC managed Azure Service Bus instance used for messaging.
Available only on servers:
Accepts the following message:
{
"organisationId": "string",
"shipmentId": "string",
"ordered": "2019-08-24T14:15:22Z",
"address": {
"addressOne": "string",
"addressTwo": "string",
"postalCode": "string",
"city": "string",
"countryCode": "st",
"recipient": "string",
"recipientPhone": "string",
"companyName": "string"
},
"card": {
"articleId": "string",
"cardId": "string",
"cardElements": {
"FIRST_NAME": "Jane",
"LAST_NAME": "Doe",
"EMPLOYEE_NUMBER": "555-555"
},
"expectedReportDataFields": [
"MIFARE_UID"
]
},
"accessories": [
{
"articleId": "string",
"accessoryId": "string",
"quantity": 1
}
]
}
Available only on servers:
Accepts the following message:
{
"organisationId": "string",
"shipmentId": "string",
"cardId": "string",
"timestamp": "2019-08-24T14:15:22Z",
"reportData": {
"MIFARE_UID": "1234ABCD",
"SERIAL_NUMBER": "123456"
}
}
Accepts the following message:
{
"organisationId": "string",
"shipmentId": "string",
"cardId": "string",
"timestamp": "2019-08-24T14:15:22Z"
}
Available only on servers:
Accepts the following message:
{
"organisationId": "string",
"shipmentId": "string",
"cardIds": [
"string"
],
"accessories": [
{
"accessoryId": "string",
"quantity": 1
}
],
"shippingInfo": {
"shippingCarrier": "string",
"trackingNumber": "string",
"trackingUrl": "string"
},
"timestamp": "2019-08-24T14:15:22Z"
}
Available only on servers:
Accepts the following message:
{
"organisationId": "string",
"shipmentId": "string",
"timestamp": "2019-08-24T14:15:22Z"
}
Accepts the following message:
{
"organisationId": "string",
"shipmentId": "string",
"cardIds": [
"string"
],
"accessoryIds": [
"string"
],
"reason": {
"errorCode": "INVALID_CARD_ELEMENT",
"details": "string"
},
"timestamp": "2019-08-24T14:15:22Z"
}
Accepts the following message:
{
"organisationId": "string",
"shipmentId": "string",
"cardIds": [
"string"
],
"accessoryIds": [
"string"
],
"reason": {
"errorCode": "INVALID_CARD_ELEMENT",
"details": "string"
},
"timestamp": "2019-08-24T14:15:22Z"
}