Inventory Webhook

Description

This webhook publishes JSON data describing the products of the catalog which changed since last synchronization.

Behaviour

There are two ways to execute this webhook:

  • In a manual way.
  • Automatic way, every M minutes.

S-360 does POST all the data describing the product in the form of a JSON object.

If the remove system answers a value different than 200, the data will be reposted N times (By default, N=12) before giving up.

Limitations

This webhook publishes the whole inventory, whatever the state of the product.

It does not take into account the sales channel on which the product is on sale.

Url and http method

Url

The callee must provide a URL.

Any POST URL can be used in this webhook.

Http method

The URL will be called using POST method.

Setup in backend

  1. Ask for a proxy opening for the destination URL.
  2. In organization/tools/external interfaces create a new interface of type Firehose product/Inventory Webhook
  3. Paste the url in the Url field
  4. Choose the authentication mode : NONE, BASIC_AUTH, API_KEY
    1. NONE : nothing else to do
    2. BASIC_AUTH : put the login in the login field, the password in the password field
    3. API_KEY : put the name of the header (e.g. -x-api-key) in the login field. The key in the password field 5 In the schedule menu, create a new schedule. of type "Notify product changes"
  5. Enter P into the Batch size field. (default value: 1000)
  6. Save by clicking on "Schedule"

JSON example

The structure of data is described here: getProductDetails

(the payload is the same one as the one obtained through the call of the method above)

Example here:

[
    {
        "id": 10228321399304,
        "prevSeasonProductId": null,
        "code": "2010CIMM",
        "productFamilyType": "SINGLE_ENTRY",
        "productFamilySubType": "SIMPLE_TICKET",
        "audienceType": "ALL",
        "state": "RUNNING",
        "logo": null,
        "smallImageUrl": null,
        "mediumImageUrl": null,
        "largeImageUrl": null,
        "detailURL": null,
        "vatCodeId": 15251,
        "ticketModelId": 466679292,
        "chargesTableId": null,
        "partnerContactNumber": null,
        "productTypeId": null,
        "allowQuestionnaire": false,
        "questionnaireId": null,
        "salePeriods": [],
        "saleCloseExceptions": [],
        "externalName": {
            "translations": [
                {
                    "locale": "fr",
                    "value": "A Shape of Things to Come"
                },
                {
                    "locale": "en",
                    "value": "A Shape of Things to Come"
                },
                {
                    "locale": "es",
                    "value": "A Shape of Things to Come"
                },
                {
                    "locale": "de",
                    "value": "Deutsche Name"
                },
                {
                    "locale": "it",
                    "value": "A Shape of Things to Come"
                },
                {
                    "locale": "ca",
                    "value": "A Shape of Things to Come"
                },
                {
                    "locale": "nl",
                    "value": "A Shape of Things to Come"
                },
                {
                    "locale": "fi",
                    "value": "A Shape of Things to Come"
                },
                {
                    "locale": "hu",
                    "value": "A Shape of Things to Come"
                },
                {
                    "locale": "pt",
                    "value": "A Shape of Things to Come"
                }
            ]
        },
        "internalName": {
            "translations": [
                {
                    "locale": "fr",
                    "value": "A Shape of Things to Come"
                },
                {
                    "locale": "en",
                    "value": "A Shape of Things to Come"
                },
                {
                    "locale": "es",
                    "value": "A Shape of Things to Come"
                },
                {
                    "locale": "de",
                    "value": "A Shape of Things to Come"
                },
                {
                    "locale": "it",
                    "value": "A Shape of Things to Come"
                }
            ]
        },
        "shortName": {
            "translations": [
                {
                    "locale": "fr",
                    "value": "A Shape of Thin"
                },
                {
                    "locale": "en",
                    "value": "A Shape of Thin"
                },
                {
                    "locale": "es",
                    "value": "A Shape of Thin"
                },
                {
                    "locale": "de",
                    "value": "Deutsche Name"
                },
                {
                    "locale": "it",
                    "value": "A Shape of Thin"
                },
                {
                    "locale": "ca",
                    "value": "A Shape of Thin"
                },
                {
                    "locale": "nl",
                    "value": "A Shape of Thin"
                },
                {
                    "locale": "fi",
                    "value": "A Shape of Thin"
                },
                {
                    "locale": "hu",
                    "value": "A Shape of Thin"
                },
                {
                    "locale": "pt",
                    "value": "A Shape of Thin"
                }
            ]
        },
        "externalDescription": {
            "translations": [
                {
                    "locale": "fr",
                    "value": null
                },
                {
                    "locale": "en",
                    "value": null
                },
                {
                    "locale": "es",
                    "value": null
                },
                {
                    "locale": "de",
                    "value": null
                },
                {
                    "locale": "it",
                    "value": null
                },
                {
                    "locale": "ca",
                    "value": null
                },
                {
                    "locale": "nl",
                    "value": null
                },
                {
                    "locale": "fi",
                    "value": null
                },
                {
                    "locale": "hu",
                    "value": null
                },
                {
                    "locale": "pt",
                    "value": null
                }
            ]
        },
        "optionAvailabilities": [],
        "crossSellProductLinks": [],
        "subTopicLinks": [],
        "productSocialNetworkLinks": [],
        "comfortVariableValues": [],
        "media": [],
        "event": {
            "activityId": 10228317615239,
            "activityCode": "CI",
            "activityType": "OTHER",
            "timeTolerance": null,
            "minimumAge": null,
            "language": null,
            "nameAddOn": {
                "translations": [
                    {
                        "locale": "fr",
                        "value": null
                    },
                    {
                        "locale": "en",
                        "value": null
                    },
                    {
                        "locale": "es",
                        "value": null
                    },
                    {
                        "locale": "de",
                        "value": null
                    },
                    {
                        "locale": "it",
                        "value": null
                    },
                    {
                        "locale": "ca",
                        "value": null
                    },
                    {
                        "locale": "nl",
                        "value": null
                    },
                    {
                        "locale": "fi",
                        "value": null
                    },
                    {
                        "locale": "hu",
                        "value": null
                    },
                    {
                        "locale": "pt",
                        "value": null
                    }
                ]
            },
            "activityExternalName": {
                "translations": [
                    {
                        "locale": "fr",
                        "value": "Cinéma et vidéo"
                    },
                    {
                        "locale": "en",
                        "value": "Cinema and video"
                    },
                    {
                        "locale": "es",
                        "value": "Cinéma et vidéo"
                    },
                    {
                        "locale": "de",
                        "value": "Cinéma et vidéo"
                    },
                    {
                        "locale": "it",
                        "value": "Cinéma et vidéo"
                    },
                    {
                        "locale": "ca",
                        "value": "Cinéma et vidéo"
                    },
                    {
                        "locale": "nl",
                        "value": "Cinéma et vidéo"
                    },
                    {
                        "locale": "fi",
                        "value": "Cinéma et vidéo"
                    },
                    {
                        "locale": "hu",
                        "value": "Cinéma et vidéo"
                    },
                    {
                        "locale": "pt",
                        "value": "Cinéma et vidéo"
                    }
                ]
            },
            "competitionTypeId": null,
            "alertRatio": "20.000",
            "performances": [
                {
                    "id": 10228321401021,
                    "code": "2010CIMM",
                    "physicalConfigurationId": null,
                    "logicalConfigurationId": 466680741,
                    "saleConfigurationId": null,
                    "rateTypeId": 306159280,
                    "rateTypeCode": null,
                    "ratesTableId": 858268731,
                    "chargesTableId": null,
                    "start": 1723831200000,
                    "duration": null,
                    "spaceId": null,
                    "spaceCode": null,
                    "siteCode": null,
                    "kind": null,
                    "kindExternalName": null,
                    "seatSelectionMode": null,
                    "breaksQuantity": null,
                    "state": null,
                    "image": null,
                    "venueImage": null,
                    "logo": null,
                    "logoImage": null,
                    "forceNominativeTickets": null,
                    "titling": null,
                    "blockComparisonEnabled": false,
                    "numbered": null,
                    "alwaysAllowIsolatedSeats": false,
                    "externalName": {
                        "translations": [
                            {
                                "locale": "fr",
                                "value": "A Shape of Things to Come"
                            },
                            {
                                "locale": "en",
                                "value": "A Shape of Things to Come"
                            },
                            {
                                "locale": "es",
                                "value": "A Shape of Things to Come"
                            },
                            {
                                "locale": "de",
                                "value": "Deutsche Name"
                            },
                            {
                                "locale": "it",
                                "value": "A Shape of Things to Come"
                            },
                            {
                                "locale": "ca",
                                "value": "A Shape of Things to Come"
                            },
                            {
                                "locale": "nl",
                                "value": "A Shape of Things to Come"
                            },
                            {
                                "locale": "fi",
                                "value": "A Shape of Things to Come"
                            },
                            {
                                "locale": "hu",
                                "value": "A Shape of Things to Come"
                            },
                            {
                                "locale": "pt",
                                "value": "A Shape of Things to Come"
                            }
                        ]
                    },
                    "internalName": {
                        "translations": [
                            {
                                "locale": "fr",
                                "value": "A Shape of Things to Come"
                            },
                            {
                                "locale": "en",
                                "value": "A Shape of Things to Come"
                            },
                            {
                                "locale": "es",
                                "value": "A Shape of Things to Come"
                            },
                            {
                                "locale": "de",
                                "value": "A Shape of Things to Come"
                            },
                            {
                                "locale": "it",
                                "value": "A Shape of Things to Come"
                            }
                        ]
                    },
                    "externalShortName": {
                        "translations": [
                            {
                                "locale": "fr",
                                "value": "A Shape of Thin"
                            },
                            {
                                "locale": "en",
                                "value": "A Shape of Thin"
                            },
                            {
                                "locale": "es",
                                "value": "A Shape of Thin"
                            },
                            {
                                "locale": "de",
                                "value": "Deutsche Name"
                            },
                            {
                                "locale": "it",
                                "value": "A Shape of Thin"
                            },
                            {
                                "locale": "ca",
                                "value": "A Shape of Thin"
                            },
                            {
                                "locale": "nl",
                                "value": "A Shape of Thin"
                            },
                            {
                                "locale": "fi",
                                "value": "A Shape of Thin"
                            },
                            {
                                "locale": "hu",
                                "value": "A Shape of Thin"
                            },
                            {
                                "locale": "pt",
                                "value": "A Shape of Thin"
                            }
                        ]
                    },
                    "nameAddOn": {
                        "translations": [
                            {
                                "locale": "fr",
                                "value": null
                            },
                            {
                                "locale": "en",
                                "value": null
                            },
                            {
                                "locale": "es",
                                "value": null
                            },
                            {
                                "locale": "de",
                                "value": null
                            },
                            {
                                "locale": "it",
                                "value": null
                            },
                            {
                                "locale": "ca",
                                "value": null
                            },
                            {
                                "locale": "nl",
                                "value": null
                            },
                            {
                                "locale": "fi",
                                "value": null
                            },
                            {
                                "locale": "hu",
                                "value": null
                            },
                            {
                                "locale": "pt",
                                "value": null
                            }
                        ]
                    },
                    "spaceExternalName": null,
                    "siteExternalName": null,
                    "location": null,
                    "match": null,
                    "eventExternalName": null,
                    "externalDescription": {
                        "translations": [
                            {
                                "locale": "fr",
                                "value": null
                            },
                            {
                                "locale": "en",
                                "value": null
                            },
                            {
                                "locale": "es",
                                "value": null
                            },
                            {
                                "locale": "de",
                                "value": null
                            },
                            {
                                "locale": "it",
                                "value": null
                            },
                            {
                                "locale": "ca",
                                "value": null
                            },
                            {
                                "locale": "nl",
                                "value": null
                            },
                            {
                                "locale": "fi",
                                "value": null
                            },
                            {
                                "locale": "hu",
                                "value": null
                            },
                            {
                                "locale": "pt",
                                "value": null
                            }
                        ]
                    },
                    "internalDescription": {
                        "translations": [
                            {
                                "locale": "fr",
                                "value": null
                            },
                            {
                                "locale": "en",
                                "value": null
                            },
                            {
                                "locale": "es",
                                "value": null
                            },
                            {
                                "locale": "de",
                                "value": null
                            },
                            {
                                "locale": "it",
                                "value": null
                            }
                        ]
                    },
                    "saleCloseExceptions": [],
                    "seatCategories": [],
                    "prices": [
                        {
                            "institutionSeatCatId": 112908204,
                            "seatCatId": null,
                            "audSubCatId": 306159078,
                            "amount": 35000,
                            "minQty": null,
                            "maxQty": null,
                            "priceLevelId": null,
                            "chargesAmounts": null
                        },
                        {
                            "institutionSeatCatId": 112908204,
                            "seatCatId": null,
                            "audSubCatId": 466637473,
                            "amount": 28000,
                            "minQty": null,
                            "maxQty": null,
                            "priceLevelId": null,
                            "chargesAmounts": null
                        },
                        {
                            "institutionSeatCatId": 112908204,
                            "seatCatId": null,
                            "audSubCatId": 466681713,
                            "amount": 20000,
                            "minQty": null,
                            "maxQty": null,
                            "priceLevelId": null,
                            "chargesAmounts": null
                        },
                        {
                            "institutionSeatCatId": 112908204,
                            "seatCatId": null,
                            "audSubCatId": 466654444,
                            "amount": 25000,
                            "minQty": null,
                            "maxQty": null,
                            "priceLevelId": null,
                            "chargesAmounts": null
                        }
                    ],
                    "charges": [],
                    "comfortVariableValues": [],
                    "performanceType": null,
                    "visitLanguageCode": null,
                    "maxSeatsPerOrder": null,
                    "itemIds": [
                        10228321401627
                    ],
                    "performanceSocialNetworkLinks": [],
                    "salePeriods": []
                }
            ]
        },
        "service": null,
        "goods": null,
        "pack": null,
        "seasonTicket": null,
        "transport": null,
        "pass": null,
        "membership": null,
        "hospitality": null,
        "minQuantity": null,
        "maxQuantity": null,
        "culturalContact": null,
        "waitingListAllowed": false,
        "partnerContactId": null
    }
]