Webhooks

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.

Table of Contents

Webhook setup

Webhook content

Use Gooten webhooks to get data via API

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” } }

Use Gooten webhooks to get data via API

If you’re integrating with our API to submit orders, you’ll probably want to utilize webhooks. 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.

Also, please note that it's not possible to set up multiple webhook endpoints for one account. Gooten sends out one endpoint, and you are free to send out to other endpoints from that point.