Webhooks allow you to receive automatic notifications about changing the order status. It allows a loosely coupled system-to-system integration via standard HTTP POST requests.


Webhook Setup


To get started with webhooks, you need to build a handler that receives the webhook requests from Gooten. This handler will need to accept the HTTP POST requests from Gooten and take any desired actions with the content.


To sign up for webhooks, enter the address of your webhook handler in your notifications page in the Gooten site. An example of a webhook handler address is:

https://www.example-partner.com/events/gooten-webhooks/?orderid=


Our backend will send POST requests that look like:


https://www.example-partner.com/events/gooten-webhooks/?orderid=12345


Webhook Content


Webhooks fire each time an order item is updated. All webhook content is details of an order and all of its order items. Most importantly, each order item has a status attribute that tracks it through the status lifecycle from ‘new’ to ‘delivered’. 


Please note that if you have an endpoint for Gooten webhooks and you’re not receiving any data, the most likely culprit is the missing `?orderid=` in the endpointURL. The endpoint by default appends the orderid as a value to the URL, so you need a querystring to capture it.


Sample Webhook Content


{ “Id”: “7-501853e1-8d78-4e1e-83a0-be9fb432efe1”, “NiceId”: “Magic7-501”, “Items”: [ { “Sku”: “TabletCase-GalaxyNote10.0-Matte”, “ProductId”: 58, “Product”: “Tablet Cases”, “Quantity”: 1, “Status”: “New”, “TrackingNumber”: “9400115901344442556597”, “TrackingUrl”:””, “Price”: { “Price”: 25.5, “CurrencyCode”: “USD”, “FormattedPrice”: “$25.50”, “CurrencyFormat”: “${1}”, “CurrencyDigits”: 2 }, “DiscountAmount”: { “Price”: 0, “CurrencyCode”: “USD”, “FormattedPrice”: “$0.00”, “CurrencyFormat”: “${1}”, “CurrencyDigits”: 2 } }, { “Sku”: “TabletCase-GalaxyNote8.0-Gloss”, “ProductId”: 58, “Product”: “Tablet Cases”, “Quantity”: 1, “Status”: “New”, “Price”: { “Price”: 22.8, “CurrencyCode”: “USD”, “FormattedPrice”: “$22.80”, “CurrencyFormat”: “${1}”, “CurrencyDigits”: 2 }, “DiscountAmount”: { “Price”: 0, “CurrencyCode”: “USD”, “FormattedPrice”: “$0.00”, “CurrencyFormat”: “${1}”, “CurrencyDigits”: 2 } }, { “Sku”: “WovenBlanket_50x60”, “ProductId”: 101, “Product”: “Woven Blankets”, “Quantity”: 1, “Status”: “New”, “Price”: { “Price”: 45, “CurrencyCode”: “USD”, “FormattedPrice”: “$45.00”, “CurrencyFormat”: “${1}”, “CurrencyDigits”: 2 }, “DiscountAmount”: { “Price”: 0, “CurrencyCode”: “USD”, “FormattedPrice”: “$0.00”, “CurrencyFormat”: “${1}”, “CurrencyDigits”: 2 } } ], “Total”: { “Price”: 108.91, “CurrencyCode”: “USD”, “FormattedPrice”: “$108.91”, “CurrencyFormat”: “${1}”, “CurrencyDigits”: 2 }, “ShippingTotal”: { “Price”: 15.61, “CurrencyCode”: “USD”, “FormattedPrice”: “$15.61”, “CurrencyFormat”: “${1}”, “CurrencyDigits”: 2 }, “ShippingAddress”: { “FirstName”: “Alina”, “LastName”: “Magicworld”, “Line1”: “Bittersweet St. 67, appt.#37”, “City”: “Bittersweet”, “State”: “AL”, “CountryCode”: “US”, “PostalCode”: “548912”, “Phone”: “80507894586”, “Email”: “Bittersweet@gmail.com” }, “BillingAddress”: { “FirstName”: “Alina”, “LastName”: “Magicworld”, “Line1”: “ “, “City”: “ “, “State”: “ “, “CountryCode”: “US”, “PostalCode”: “654812”, “Email”: “Bittersweet@gmail.com” } }