Webhook Solutions

Overview

Our webhook solution ensures that your system receives real-time notifications regarding specific events triggered within the NI system, based on your subscription to the different webhooks.

Integration

Our Webhooks solution relies on consumer defining a single API endpoint to receive all the notification types. Each message contains a common structure with:

  • id: Unique message id
  • type: type of notification. This is the key field to differentiate processing of the details payload
  • timestamp: timestamp of the message from NI systems
  • details: notification payload. Every message type will have its own payload specification and should be parsed and acted accordingly.

 

Security

The webhook endpoint is expected to be hosted through TLS/HTTPS to ensure secured data exchange. In addition to this, our webhook solution supports API authentication.
The preferred authentication strategy is oAuth2 where the consumer should provide NI with:

  • Authentication/Token management URL endpoint
  • client_id
  • client_secret

 

Pre-requisites

Our webhook API request will be using the POST verb.
To register a Webhook endpoint with us, please contact your relationship manager with:

  • Webhook URL Endpoint
  • Authentication mode
  • Security requirements
NI will ensure efficient management of authentication token and will include such in every webhook call.
To support different authentication method or integration strategy with us, please contact your relationship manager

 

 

 
Version

SMS Webhook

Status:

Production

Version:

V2

Product:

Webhook Solutions

SMS Webhook....

Overview

The SMS Webhook serves to inform your system when an SMS needs to be dispatched to the cardholder.

How It Works

First the template needs to be defined at NI side, and delivery channel will be defined as your system.
Once SMS is triggered, the SMS Webhook will initiate a request containing relevant information about the event to a predefined URL endpoint.

 

https://api-sandbox.egy.network.global

SMS Webhook

Status:

Production

Version:

V2

Product:

Webhook Solutions
/V2/webhook/SMS
curl --location --request GET 'https://api-sandbox.network.global/v1/tokenkc/generate' \--data-raw '#{JSON_PAYLOAD}'
curl --location --request POST 'https://api-sandbox.network.global/v1/tokenkc/generate' \--data-raw '#{JSON_PAYLOAD}'

Node Child Node Type Length Description
Authorization* requiredBearer xxxx* requiredstringAuthorization Header (Bearer Token)
Content-Type* requiredapplication/json* requiredstringContent Type

Node TypeTypeLengthDescription
idstring20Unique identifer for the request
typestring32Type of the webhook
timestampstring30Timestamp of the request - Format YYYY-MM-DDtHH:MM:SS.SSS+04:00
detailssmsrecipientcardidvaluestring32Card Identifier
typestring20externalCardId - when this is used,cardNumber - when clear card number is used
maskedCardNumberstring19Masked PAN number
clientIdstring21Client ID
mobilePhonestring32Mobile Number to which the SMS should be triggered
emailstring255Email ID
languagestring3Language ISO code
textMessagestring255The content of the SMS

{
    "id": "b876d568-8411-4638-bdef-a1a188a4773b",
    "type": "SMS",
    "timestamp": "2020-07-20T06:49:02.366Z",
    "details": {
        "sms": {
            "recipient": {
                "card": {
                    "id": {
                        "value": "99984100133767425304",
                        "type": "externalCardId"
                    }
                },
                "maskedCardNumber": "999841XXXXXX7408",
                "clientId": "112233677339066180",
                "mobilePhone": "112211223322",
                "email": "James.Robert@network.global",
                "language": "ENG"
            },
            "textMessage": "Thank you for your NI Issuing Core DEMO Visa Gold credit card application. Your NI Issuing Core DEMO credit card ending 0796 was activated with 0.00 AED."
        }
    }
}

Node Child Node Type Length Description
Content-Typeapplication/jsonstringContent Type

Node TypeTypeLengthDescription
idstring12Unique identifer ID
typestring10Type of the webhook
timestampstring30Timestamp of the response - Format YYYY-MM-DDtHH:MM:SS.SSS+04:00
responsestatuscodestring5Status code of the response
descriptionstring30Response Description

{
    "id": "b876d568-8411-4638-bdef-a1a188a4773b",
    "type": "SMS",
    "timestamp": "2020-07-20T06:49:02.366Z",
    "response": {
        "status": {
            "code": "00",
            "description": "successful"
        }
    }
}

Code Description
200Bank Fin Profiles Successfully retrieved
400Bad request (Refer to the Bussiness Error Table)
401Indicates that the request requires user authentication information. The client MAY repeat the request with a suitable Authorization header field
404The server can not find the requested resource.
500Internal Server Error
502The server got an invalid response while working as a gateway to get the response needed to handle the request
503The server is not ready to handle the request.
504The server is acting as a gateway and cannot get a response in time for a request.
596Service Not Found