Overview
Webhooks are a mechanism for an application to send automated, real-time notifications without the need to call REST API endpoints. fabric’s Order Management System (OMS) provides a list of webhook events using which you can create event subscriptions for Create, Read, Update, and Delete (CRUD) operations that take place in fabric OMS (also called fabric Orders). As a merchant, you can configure specific webhook events, such as inventory creation, order creation, order cancellation, and more to receive event-specific information.
List of Webhook Events
The following are the different services of fabric Orders along with the various webhook events provided by each service:
Inventory Service
Source Name: INVENTORY_SERVICE
Event Types:
INVENTORY_CREATE
INVENTORY_UPDATE
INVENTORY_BULK
INVENTORY_NETWORK_UPDATED
curl example:
curl --location --request POST 'https://api.fabric.inc/v3/oms-webhooks' \
--header 'Authorization: Bearer {token}' \
--header 'x-site-context: {"account":"63310842f37ee100111e9fe3"}' \
--header 'Content-Type: application/json' \
--data-raw '{
"target": "https://webhook.site/83834d4c-9736-4cba-b32b-e6b6d75a6683",
"protocol": "HTTP",
"source": "INVENTORY_SERVICE", // This will change based on service to be subscribed
"format": "application/json",
"requestType": "POST",
"events": [
"INVENTORY_CREATE",
"INVENTORY_UPDATE" // List of events to subscribe
]
}'
Order Service
Source name: ORDER_SERVICE
Event Types:
ORDER_CREATE
ORDER_HOLD_CROSSBORDER
ORDER_HOLD_FRAUD
ORDER_HOLD_CSR
ORDER_CONFIRMED
ORDER_CANCELLED
(only for full-order-canceled)
ORDER_PARTIALLY_RETURNED
ORDER_RETURNED
(only for full Order returned)
ORDER_SHIPPED
(once all items are shipped)
EXCHANGE_PENDING
EXCHANGE_TO_SHIPMENT
ORDER_CANCELLATION_COUPON_REVERSAL
curl example:
Following is a curl example to subscribe to ORDER_CREATE
. Change the event name, or add an array of events to subscribe to different order events, as mentioned under event types under order service.
curl --location --request POST 'api.fabric.inc/v3/oms-webhooks' \
--header 'Authorization: Bearer {token}' \
--header 'x-site-context: {"account":"63310842f37ee100111e9fe3"}' \
--header 'Content-Type: application/json' \
--data-raw '{
"target": "https://webhook.site/83834d4c-9736-4cba-b32b-e6b6d75a6683",
"protocol": "HTTP",
"source": "ORDER_SERVICE", // This will change based on service to be subscribed
"format": "application/json",
"requestType": "POST",
"events": [
"ORDER_CREATE" // List of events to subscribe
]
}'
Notification Service
Source Name: NOTIFICATION_SERVICE
Event Types:
SINGLE_ITEM_ORDER_CONFIRMATION_EMAIL
MULTI_ITEM_ORDER_CONFIRMATION_EMAIL
BOPIS_ORDER_CONFIRMATION_EMAIL
SHIPPING_CONFIRMATION_EMAIL
BOPIS_ORDER_READY_FOR_PICKUP
BOPIS_ORDER_COMPLETED
BOPIS_REMINDER_EMAIL
BACKORDER_NOTIFICATION_EMAIL
BACKORDER_30_DAYS_CONSENT_TO_DELAY_EMAIL
BACKORDER_53_DAYS_CONSENT_TO_DELAY_EMAIL
BACKORDER_CANCEL_EMAIL
BACKORDER_AUTH_DECLINE_EMAIL
ORDER_CANCELLATION_EMAIL_WEBCSC_ORDER_ITEM_CANCEL
ORDER_CANCELLATION_EMAIL_WEBCSC_ORDER_CANCEL
ORDER_CANCELLATION_EMAIL_LOCATE_ORDER_ITEM_CANCEL
RETURN_NOTIFICATION_EMAIL
REFUND_NOTIFICATION_EMAIL
APPEASEMENT_NOTIFICATION_EMAIL
curl example
curl --location --request POST 'https://api.fabric.inc/v3/oms-webhooks' \
--header 'Authorization: Bearer {token}' \
--header 'x-site-context: {"account":"63310842f37ee100111e9fe3"}' \
--header 'Content-Type: application/json' \
--data-raw '{
"target": "https://webhook.site/83834d4c-9736-4cba-b32b-e6b6d75a6683",
"protocol": "HTTP",
"source": "NOTIFICATION_SERVICE", // This will change based on service to be subscribed
"format": "application/json",
"requestType": "POST",
"events": [
"SINGLE_ITEM_ORDER_CONFIRMATION_EMAIL"
"MULTI_ITEM_ORDER_CONFIRMATION_EMAIL" // List of events to subscribe
]
}'
Allocation Service
Source name: PPS_SERVICE
Event Types:
ALLOCATION_RETURN
ALLOCATION_CREATE_SDD
ALLOCATION_CREATE_BOPIS
ALLOCATION_CREATE_SHIP
ALLOCATION_CREATE_GIFTCARD
curl example
curl --location --request POST 'https://api.fabric.inc/v3/oms-webhooks' \
--header 'Authorization: Bearer {token}' \
--header 'x-site-context: {"account":"63310842f37ee100111e9fe3"}' \
--header 'Content-Type: application/json' \
--data-raw '{
"target": "https://webhook.site/83834d4c-9736-4cba-b32b-e6b6d75a6683",
"protocol": "HTTP",
"source": "PPS_SERVICE", // This will change based on service to be subscribed
"format": "application/json",
"requestType": "POST",
"events": [
"ALLOCATION_CREATE_SHIP" // List of events to subscribe
]
}'
Shipment Service
Source Name: SHIPMENT_SERVICE
Event Types:
SHIPMENT_CREATED
SHIPMENT_CANCELLED
GIFTCARD_ACTIVATE
PICKUP_CREATED
PICKUP_COMPLETED
SHIPMENT_UPDATE
curl example
curl --location --request POST 'https://api.fabric.inc/v3/oms-webhooks' \
--header 'Authorization: Bearer {token}' \
--header 'x-site-context: {"account":"63310842f37ee100111e9fe3"}' \
--header 'Content-Type: application/json' \
--data-raw '{
"target": "https://webhook.site/83834d4c-9736-4cba-b32b-e6b6d75a6683",
"protocol": "HTTP",
"source": "SHIPMENT_SERVICE", // This will change based on service to be subscribed
"format": "application/json",
"requestType": "POST",
"events": [
"SHIPMENT_CREATED" // List of events to subscribe
]
}'
Package Tracking Service
Source Name: PACKAGE_TRACKING_SERVICE
Event Types:
ORDER_CREATE_IN_PTS
ORDER_CANCELLED_IN_PTS
SHIPMENT_CREATE_IN_PTS
SHIPMENT_CANCELLED_IN_PTS
curl example
curl --location --request POST 'https://api.fabric.inc/v3/oms-webhooks' \
--header 'Authorization: Bearer {token}' \
--header 'x-site-context: {"account":"63310842f37ee100111e9fe3"}' \
--header 'Content-Type: application/json' \
--data-raw '{
"target": "https://webhook.site/83834d4c-9736-4cba-b32b-e6b6d75a6683",
"protocol": "HTTP",
"source": "PACKAGE_TRACKING_SERVICE", // This will change based on service to be subscribed
"format": "application/json",
"requestType": "POST",
"events": [
"ORDER_CREATE_IN_PTS" // List of events to subscribe. PTS refers to Package Tracking Service.
]
}'
Fraud Service
Source Name: FRAUD_SERVICE
Event Types:
FRAUD_CANCEL
FRAUD_RELEASE
curl example
curl --location --request POST 'https://api.fabric.inc/v3/oms-webhooks' \
--header 'Authorization: Bearer {token}' \
--header 'x-site-context: {"account":"63310842f37ee100111e9fe3"}' \
--header 'Content-Type: application/json' \
--data-raw '{
"target": "https://webhook.site/83834d4c-9736-4cba-b32b-e6b6d75a6683",
"protocol": "HTTP",
"source": "FRAUD_SERVICE", // This will change based on service to be subscribed
"format": "application/json",
"requestType": "POST",
"events": [
"FRAUD_RELEASE" // List of events to subscribe.
]
}'
Invoice Posting Service
Source Name: INVOICE_POSTING_SERVICE
Event Types:
INVOICE_POSTING
curl example
curl --location --request POST 'https://api.fabric.inc/v3/oms-webhooks' \
--header 'Authorization: Bearer {token}' \
--header 'x-site-context: {"account":"63310842f37ee100111e9fe3"}' \
--header 'Content-Type: application/json' \
--data-raw '{
"target": "https://webhook.site/83834d4c-9736-4cba-b32b-e6b6d75a6683",
"protocol": "HTTP",
"source": "INVOICE_POSTING_SERVICE", // This will change based on service to be subscribed
"format": "application/json",
"requestType": "POST",
"events": [
"INVOICE_POSTING" // List of events to subscribe.
]
}'
CrossBorder Service
Source Name: CROSSBORDER_SERVICE
Event Types:
CROSS_BORDER_VALIDATION
curl example
curl --location --request POST 'https://api.fabric.inc/v3/oms-webhooks' \
--header 'Authorization: Bearer {token}' \
--header 'x-site-context: {"account":"63310842f37ee100111e9fe3"}' \
--header 'Content-Type: application/json' \
--data-raw '{
"target": "https://webhook.site/83834d4c-9736-4cba-b32b-e6b6d75a6683",
"protocol": "HTTP",
"source": "CROSSBORDER_SERVICE", // This will change based on service to be subscribed
"format": "application/json",
"requestType": "POST",
"events": [
"CROSS_BORDER_VALIDATION" // List of events to subscribe.
]
}'
Export Service
Source Name: EXPORT_SERVICE
Event Types:
EXPORT_ORDER_INITIATED
EXPORT_ORDER_COMPLETED
EXPORT_ORDER_ERROR
EXPORT_ALLOCATION_INITIATED
EXPORT_ALLOCATION_COMPLETED
EXPORT_ALLOCATION_ERROR
EXPORT_SHIPMENT_INITIATED
EXPORT_SHIPMENT_COMPLETED
EXPORT_SHIPMENT_ERROR
EXPORT_INVOICE_INITIATED
EXPORT_INVOICE_COMPLETED
EXPORT_INVOICE_ERROR
EXPORT_LOCATION_INITIATED
EXPORT_LOCATION_COMPLETED
EXPORT_LOCATION_ERROR
EXPORT_INVENTORY_INITIATED
EXPORT_INVENTORY_COMPLETED
EXPORT_INVENTORY_ERROR
EXPORT_NETWORK_INITIATED
EXPORT_NETWORK_COMPLETED
EXPORT_NETWORK_ERROR
EXPORT_SHIPPING_METHODS_INITIATED
EXPORT_SHIPPING_METHODS_COMPLETED
EXPORT_SHIPPING_METHODS_ERROR
EXPORT_AGGREGATED_NETWORK_INITIATED
EXPORT_AGGREGATED_NETWORK_COMPLETED
EXPORT_AGGREGATED_NETWORK_ERROR
curl example:
curl --location --request POST 'https://api.fabric.inc/v3/oms-webhooks' \
--header 'Authorization: Bearer {token}' \
--header 'x-site-context: {"account":"63310842f37ee100111e9fe3"}' \
--header 'Content-Type: application/json' \
--data-raw '{
"target": "https://webhook.site/83834d4c-9736-4cba-b32b-e6b6d75a6683",
"protocol": "HTTP",
"source": "EXPORT_SERVICE", // This will change based on service to be subscribed
"format": "application/json",
"requestType": "POST",
"events": [
"EXPORT_ORDER_INITIATED"
"EXPORT_ORDER_COMPLETED" // List of events to subscribe.
]
}'