Skip to main content

Notification samples

Sample methods​

A few methods exist in the API just to be used as examples. Anyone trying to build urls in order to subscribe to Retail ops notifications may take these samples as models.

info

No validation is made by the methods below. The returned results are just hardcoded structures.

"contact.details" sample​

Response to be implemented when subscribing the "contact.details" notification (aka "Customer detail").

Method​

POST/api/externals/v1/notification/test/sync/contact/onDetail

Arguments​

  • notification (json): "contact.details" notification JSON structure
Example​
{
"eventType": "contact.details",
"entityTypeID": 1,
"entityID": 12345,
"data": {
"id": 12345,
"internalCode": "ABCD",
"mainAddress": null,
"billingAddress": null,
"deliveryAddresses": []
}
}
note

The full possible structure of the data tag is the same as a single Contact item returned by a call to the Contact Search API method.

Body​

(none)

Response​

The service returns a sample matching the required JSON format:

{
"success": true,
"errorCode": "",
"errorLevel": 0,
"message": "",
"data": {} // Same Contact structure as received, with a new internalCode ("<entityID>_<internalCode>")
}

Response to be implemented when subscribing the "contact.search" notification (aka "Customer list").

Method​

POST/api/externals/v1/notification/test/sync/contact/onSearch

Arguments​

  • notification (json): "contact.search" notification JSON structure
Example​
{
"eventType": "contact.search",
"entityTypeID": 1,
"data": {
"searchString": "ABCD" // Search string
}
}

Body​

(none)

Response​

The service returns a sample result simply confirming the received searchString:

{
"success": true,
"errorCode": "",
"errorLevel": 0,
"message": "search: " // + <searchString> value
}

"contact.validation" sample​

Response to be implemented when subscribing the "contact.validation" notification (aka "Customer creation/update").

Method​

POST/api/externals/v1/notification/test/sync/contact/onValidated

Arguments​

  • notification (json): "contact.validation" notification JSON structure
Example​
{
"eventType": "contact.validation",
"entityTypeID": 1,
"entityID": 12345,
"data": {
"id": 12345,
"internalCode": "ABCD",
"mainAddress": null,
"billingAddress": null,
"deliveryAddresses": []
}
}
note

The full possible structure of the data tag is the same as a single Contact item returned by a call to the Contact Search API method.

Body​

(none)

Response​

The service returns a sample matching the required JSON format:

{
"success": true,
"errorCode": "",
"errorLevel": 0,
"message": "",
"data": {} // Same Contact structure as received, with a new internalCode ("<entityID>_<internalCode>")
}

"document.validation" sample​

Response to be implemented when subscribing the "document.validation" notification (aka "Document validation").

Method​

POST/api/externals/v1/notification/test/sync/document/onValidated

Arguments​

  • notification (json): "document.validation" notification JSON structure
Example​
{
"eventType": "document.validation",
"entityTypeID": 10,
"entityID": 12345,
"data": {
"id": 12345,
"internalCode": "ABCD",
"documentType": null,
"contact": null,
"mainAddress": null,
"billingAddress": null,
"deliveryAddress": null,
"documentLines": [],
"styles": []
}
}
note

The full possible structure of the data tag is the same as a single Document item returned by a call to the Document Search API method.

Body​

(none)

Response​

The service returns a sample matching the required JSON format:

{
"success": true,
"errorCode": "",
"errorLevel": 0,
"message": "",
"data": {
"internalCode": string // "<entityID>_<internalCode>" ("12345_ABCD" with our example input)
}
}

"document.pricing" sample​

Response to be implemented when subscribing the "document.pricing" notification (aka "Document pricing").

Method​

POST/api/externals/v1/notification/test/sync/document/onPricing

Arguments​

  • notification (json): "document.pricing" notification JSON structure
Example​
{
"eventType": "document.pricing",
"entityTypeID": 10,
"entityID": 12345,
"data": {
"storeCode": 123,
"currencyCode": "EUR",
"items": [
{
"catalogInternalCode": "CAT01",
"eanCode": "123456789",
"tax2Rate": 20.0,
"quantity": 1
}
]
}
}

Body​

(none)

Response​

The service returns a sample matching the required JSON format:

{
"success": true,
"errorCode": "",
"errorLevel": 0,
"message": "",
"data": {
"storeCode": 123,
"currencyCode": "EUR",
"validityDate": "2025-06-17T11:50:27.000", // Actual date + 30 days
"items": [
{
"catalogInternalCode": "CAT01",
"eanCode": "123456789",
"unitCostPrice": 123.35, // Random value between 0 and 1000
"unitSalesPrice": 197.36 // Unit cost price value * 1.6
}
]
}
}

The answer will contain the same list of items as provided in entry by the calling system, with random values for the returned unit cost prices and unit sales prices.

note

Please notice that if one or more items provided in entry by the calling system have an empty eanCode value, the testing answer will return a success = false value and the following hard-coded message : "Certain items could not be priced because they have no eanCode".
The other eventual items provided in entry will be priced as normally.


"payment.validation" sample​

Response to be implemented when subscribing the "payment.validation" notification (aka "Payment validation").

Method​

POST/api/externals/v1/notification/test/sync/payment/onValidated

Arguments​

  • notification (json): "payment.validation" notification JSON structure
Example​
{
"eventType": "payment.validation",
"entityTypeID": 10,
"entityID": 12345,
"data": {
"documentTypeID": 10,
"documentID": 12345,
"storeID": 123,
"currencyCode": "EUR",
"amount": 654.32,
"paymentMethod": {
"id": 1,
"description": "Deposit",
"isADeposit": true
},
"paymentType": {
"id": 9,
"description": "Bank transfer"
}
}
}

Body​

(none)

Response​

The service returns a sample matching the required JSON format:

{
"success": true,
"errorCode": "",
"errorLevel": 0,
"message": "",
"data": {
"status": string, // "W" = Pending, "P" = Paid, "R" = Rejected
"internalCode": string // amount in cents ("65432" with our example input)
}
}