Use Trackstar webhooks to be notified every time a certain event occurs. Webhooks can be configured within the Trackstar Dashboard.

Event types

bill.created
bill.updated
connection.created
connection.deleted
connection.historical-sync-completed
connection-error.created
connection-error.deleted
connection-error.updated
inbound-shipment.created
inbound-shipment.updated
inbound-shipment.receipt.created
inventory.created
inventory.updated
order.created
order.updated
order.shipment.created
product.created
product.updated
return.created
return.updated
shipping_method.created
shipping_method.updated
warehouse.created
warehouse.updated
warehouse-location.created
warehouse-location.updated

Webhooks will point to a specific URL that you must set up. This URL must accept POST requests with the Content-Type set to application/json.

Webhook Message Schema

FieldTypeDescription
connection_idstringThe ID of the connection from which the event occurred.
dataobjectThe created or updated object.
event_typestringThe type of event that occurred. See above for the list of types.
integration_namestringThe name of the integration from which the event occurred.
previous_attributesobjectOnly present on updated events. The previous values of the fields that were updated. If the change occurs within a nested field, we will represent that change via a "." joined string where integers represent the index of the array, and strings represent object keys.

You can find each event’s full schema by navigating to the Trackstar Dashboard.

Sample Webhook Message

{
    "connection_id": "connection_id",
    "data": {
        "created_date": "2022-06-01T00:00:00Z",
        "expected_arrival_date": "2022-06-09T00:00:00Z",
        "id": "id",
        "line_items": [
            {
                "expected_quantity": 1,
                "inventory_item_id": "inventory_item_id_1",
                "received_quantity": 1,
                "sku": "sku1",
            },
            {
                "expected_quantity": 2,
                "inventory_item_id": "inventory_item_id_2",
                "received_quantity": 2,
                "sku": "sku2",
            },
        ],
        "purchase_order_number": "PO#",
        "status": "received",
        "supplier": "supplier",
        "updated_date": "2023-06-14T15:36:48Z",
        "warehouse_id": "warehouse_id",
    },
    "event_type": "inbound_shipment.updated",
    "integration_name": "integration_name",
    "previous_attributes": {
      "status": "open",
      "line_items.1.received_quantity": 1
    },
}

Note: In the example above, status changed from “open” to “received” and the received_quantity of the second line item changed from 1 to 2.

line_items.1.received_quantity is referring to data.line_items[1].received_quantity