> ## Documentation Index
> Fetch the complete documentation index at: https://developer.fabric.inc/llms.txt
> Use this file to discover all available pages before exploring further.

# List of Webhook Events

## 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](#inventory-service)
* [Order Service](#order-service)
* [Notification Service](#notification-service)
* [Allocation Service](#allocation-service)
* [Shipment Service](#shipment-service)
* [Package Tracking Service](#package-tracking-service)
* [Fraud Service](#fraud-service)
* [Invoice Posting Service](#invoice-posting-service)
* [Crossborder Service](#crossborder-service)
* [Export Service](#export-service)

### Inventory Service

**Source Name:** `INVENTORY_SERVICE`

**Event Types:**

1. `INVENTORY_CREATE`
2. `INVENTORY_UPDATE`
3. `INVENTORY_BULK`
4. `INVENTORY_NETWORK_UPDATED`

**curl example:**

```CURL theme={null}
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:**

1. `ORDER_CREATE`
2. `ORDER_HOLD_CROSSBORDER`
3. `ORDER_HOLD_FRAUD`
4. `ORDER_HOLD_CSR`
5. `ORDER_CONFIRMED`
6. `ORDER_CANCELLED` (only for full-order-canceled)
7. `ORDER_PARTIALLY_RETURNED`
8. `ORDER_RETURNED` (only for full Order returned)
9. `ORDER_SHIPPED` (once all items are shipped)
10. `EXCHANGE_PENDING`
11. `EXCHANGE_TO_SHIPMENT`
12. `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 theme={null}
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:**

1. `SINGLE_ITEM_ORDER_CONFIRMATION_EMAIL`
2. `MULTI_ITEM_ORDER_CONFIRMATION_EMAIL`
3. `BOPIS_ORDER_CONFIRMATION_EMAIL`
4. `SHIPPING_CONFIRMATION_EMAIL`
5. `BOPIS_ORDER_READY_FOR_PICKUP`
6. `BOPIS_ORDER_COMPLETED`
7. `BOPIS_REMINDER_EMAIL`
8. `BACKORDER_NOTIFICATION_EMAIL`
9. `BACKORDER_30_DAYS_CONSENT_TO_DELAY_EMAIL`
10. `BACKORDER_53_DAYS_CONSENT_TO_DELAY_EMAIL`
11. `BACKORDER_CANCEL_EMAIL`
12. `BACKORDER_AUTH_DECLINE_EMAIL`
13. `ORDER_CANCELLATION_EMAIL_WEBCSC_ORDER_ITEM_CANCEL`
14. `ORDER_CANCELLATION_EMAIL_WEBCSC_ORDER_CANCEL`
15. `ORDER_CANCELLATION_EMAIL_LOCATE_ORDER_ITEM_CANCEL`
16. `RETURN_NOTIFICATION_EMAIL`
17. `REFUND_NOTIFICATION_EMAIL`
18. `APPEASEMENT_NOTIFICATION_EMAIL`

**curl example**

```shell theme={null}
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:**

1. `ALLOCATION_RETURN`
2. `ALLOCATION_CREATE_SDD`
3. `ALLOCATION_CREATE_BOPIS`
4. `ALLOCATION_CREATE_SHIP`
5. `ALLOCATION_CREATE_GIFTCARD`

**curl example**

```shell theme={null}
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:**

1. `SHIPMENT_CREATED`
2. `SHIPMENT_CANCELLED`
3. `GIFTCARD_ACTIVATE`
4. `PICKUP_CREATED`
5. `PICKUP_COMPLETED`
6. `SHIPMENT_UPDATE`

**curl example**

```shell theme={null}
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:**

1. `ORDER_CREATE_IN_PTS`
2. `ORDER_CANCELLED_IN_PTS`
3. `SHIPMENT_CREATE_IN_PTS`
4. `SHIPMENT_CANCELLED_IN_PTS`

**curl example**

```shell theme={null}
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:**

1. `FRAUD_CANCEL`
2. `FRAUD_RELEASE`

**curl example**

```shell theme={null}
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:**

1. `INVOICE_POSTING`

**curl example**

```shell theme={null}
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:**

1. `CROSS_BORDER_VALIDATION`

**curl example**

```shell theme={null}
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:**

1. `EXPORT_ORDER_INITIATED`
2. `EXPORT_ORDER_COMPLETED`
3. `EXPORT_ORDER_ERROR`
4. `EXPORT_ALLOCATION_INITIATED`
5. `EXPORT_ALLOCATION_COMPLETED`
6. `EXPORT_ALLOCATION_ERROR`
7. `EXPORT_SHIPMENT_INITIATED`
8. `EXPORT_SHIPMENT_COMPLETED`
9. `EXPORT_SHIPMENT_ERROR`
10. `EXPORT_INVOICE_INITIATED`
11. `EXPORT_INVOICE_COMPLETED`
12. `EXPORT_INVOICE_ERROR`
13. `EXPORT_LOCATION_INITIATED`
14. `EXPORT_LOCATION_COMPLETED`
15. `EXPORT_LOCATION_ERROR`
16. `EXPORT_INVENTORY_INITIATED`
17. `EXPORT_INVENTORY_COMPLETED`
18. `EXPORT_INVENTORY_ERROR`
19. `EXPORT_NETWORK_INITIATED`
20. `EXPORT_NETWORK_COMPLETED`
21. `EXPORT_NETWORK_ERROR`
22. `EXPORT_SHIPPING_METHODS_INITIATED`
23. `EXPORT_SHIPPING_METHODS_COMPLETED`
24. `EXPORT_SHIPPING_METHODS_ERROR`
25. `EXPORT_AGGREGATED_NETWORK_INITIATED`
26. `EXPORT_AGGREGATED_NETWORK_COMPLETED`
27. `EXPORT_AGGREGATED_NETWORK_ERROR`

**curl example:**

```shell theme={null}
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.
    ]
}'
```
