For the complete documentation index, see llms.txt. This page is also available as Markdown.

Create a webhook

How to create a webhook via API

To create a new webhook, send a POST request to the /api/webhooks endpoint, passing the resource arguments in the request body.

Request

POST https://yourdomain.commercelayer.io/api/webhooks

Arguments

Body Parameter
Type
Required

type

string

Required

attributes.name

string

Optional, default is 'webhook {id}'

attributes.topic

string

Required

attributes.callback_url

string

Required

attributes.include_resources

array

Optional

attributes._disable

boolean

Optional

attributes._enable

boolean

Optional

attributes.reference

string

Optional

attributes.reference_origin

string

Optional

attributes.metadata

object

Optional

Example

The following request creates a new webhook:

curl -g -X POST \
  'https://yourdomain.commercelayer.io/api/webhooks' \
  -H 'Accept: application/vnd.api+json' \
  -H 'Authorization: Bearer your-access-token' \
  -H 'Content-Type: application/vnd.api+json' \
  -d '{
  "data": {
    "type": "webhooks",
    "attributes": {
      "topic": "orders.place",
      "callback_url": "https://yourapp.com/webhooks"
    }
  }
}'

On success, the API responds with a 201 Created status code, returning the created resource object:

{
  "data": {
    "id": "XAyRWNUzyN",
    "type": "webhooks",
    "links": {
      "self": "https://yourdomain.commercelayer.io/api/webhooks/XAyRWNUzyN"
    },
    "attributes": {
      "name": "myorg-orders.place",
      "topic": "orders.place",
      "callback_url": "https://yourapp.com/webhooks",
      "include_resources": [
        "customer",
        "shipping_address",
        "billing_address"
      ],
      "disabled_at": "2018-01-01T12:00:00.000Z",
      "circuit_state": "closed",
      "circuit_failure_count": 5,
      "shared_secret": "1c0994cc4e996e8c6ee56a2198f66f3c",
      "created_at": "2018-01-01T12:00:00.000Z",
      "updated_at": "2018-01-01T12:00:00.000Z",
      "reference": "ANY-EXTERNAL-REFEFERNCE",
      "reference_origin": "ANY-EXTERNAL-REFEFERNCE-ORIGIN",
      "metadata": {
        "foo": "bar"
      }
    },
    "relationships": {
      "last_event_callbacks": {
        "links": {
          "self": "https://yourdomain.commercelayer.io/api/webhooks/XAyRWNUzyN/relationships/last_event_callbacks",
          "related": "https://yourdomain.commercelayer.io/api/webhooks/XAyRWNUzyN/last_event_callbacks"
        }
      },
      "event_stores": {
        "links": {
          "self": "https://yourdomain.commercelayer.io/api/webhooks/XAyRWNUzyN/relationships/event_stores",
          "related": "https://yourdomain.commercelayer.io/api/webhooks/XAyRWNUzyN/event_stores"
        }
      }
    },
    "meta": {
      "mode": "test",
      "organization_id": "xRRkjDFafe",
      "trace_id": "69abaa3545913c78132e5578bd26208d44aa9043647d78698fd0021f3958cd74"
    }
  },
  "meta": {
    "mode": "test",
    "organization_id": "xRRkjDFafe",
    "trace_id": "69abaa3545913c78132e5578bd26208d44aa9043647d78698fd0021f3958cd74"
  }
}

Last updated