# Communication Webhooks

The Communication webhooks provide notifications for all outgoing store communications, including SMS, email and whatsapp messages. They cover key events such as order updates, payment reminders, product availability alerts, marketing broadcasts, and customer engagement messages, ensuring developers can track and act on customer interactions in real time.

:::warning[]
These webhook events are allowed only for Communication applications.
:::


<Tabs>
  <Tab title="Data Schema">
    
<DataSchema id="8806995" />
  </Tab>
    <Tab title="Type Details">
    
| Type | Supported Entity Type | Meta | Description |
| --- | --- | --- | --- |
| `auth.otp.verification`      | N/A | `code`: A 4-digit numeric one-time password (OTP) code. | Triggered when an OTP is sent to the customer. |
| `order.status.confirmation`  | `order` | `customer_id`: Unique identifier of the customer targeted by this notification. | Triggered when an order is created and pending payment *(either created by merchant for customer to pay, or created by customer with delayed payment)*. |
| `order.status.updated`       | `order` | `customer_id`: Unique identifier of the customer targeted by this notification. `status`: An object containing the new order status `name` (localized). | Triggered when the status of an order is changed. |
| `order.invoice.issued`       | `order` | `customer_id`: Unique identifier of the customer targeted by this notification. | Triggered when an invoice is issued and sent to the customer. |
| `order.refund.processed`     | `order` | `customer_id`: Unique identifier of the customer targeted by this notification. | Triggered when an order is refunded *(due to cancellation or failed order)*. |
| `order.gift.placed`          | `order` | `customer_id`: Unique identifier of the customer targeted by this notification. | Triggered when a customer places a gift order. |
| `order.notification.create`          | `order` | `customer_id`: Unique identifier of the customer targeted by this notification. | Triggered when a new order has been created. |
| `payment.reminder.due`       | `order` | `customer_id`: Unique identifier of the customer targeted by this notification. | Triggered when a reminder is sent to the customer for completing payment. |
| `product.availability.alert` | `product` | `customer_id`: Unique identifier of the customer targeted by this notification. | Triggered when a product is back in stock and the customer is notified. |
| `product.digital.code`       | `order` | `customer_id`: Unique identifier of the customer targeted by this notification. | Triggered when a customer purchases a digital code product or requests a resend of the code. |
| `customer.cart.abandoned`    | `cart` | `customer_id`: Unique identifier of the customer targeted by this notification. `discount` discount amount if the notification with discount. `expires_at` discount will be valid unil reaches this expiry date. | Triggered when a reminder is sent to the customer for an abandoned cart. |
| `customer.loyalty.earned`    | N/A | `customer_id`: Unique identifier of the customer targeted by this notification. | Triggered when loyalty points are awarded to the customer. |
| `customer.feedback.reply`    | `feedback` | `customer_id`: Unique identifier of the customer targeted by this notification. | Triggered when a merchant replies to customer feedback. |
| `customer.rating.request`    | `order` | `customer_id`: Unique identifier of the customer targeted by this notification. | Triggered when a merchant requests the customer to rate an order. |
| `customer.repurchase.reminder` | `repurchase_reminder` | `customer_id`: Unique identifier of the customer targeted by this notification. `discount`: discount amount if the notification with discount. `expires_at`: discount will be valid until it reaches this expiry date. | Triggered when a repurchase reminder is sent to the customer for a previously purchased product. |
| `marketing.campaign.broadcast` | N/A |  | Triggered when a marketing campaign is broadcast to customers. |
| `system.alert.general`       | N/A | `customer_id`: Unique identifier of the customer targeted by this notification. | Default type triggered when no specific event type is defined. |
| `system.message.custom`      | N/A | `customer_id`: Unique identifier of the customer targeted by this notification. | Triggered when a custom message is sent to the customer. |
   

    </Tab>
    
    <Tab title="Entity Type Details">
    
| Type | ID Description |
| --- | --- |
| `order`      | A unique alphanumeric code or identifier assigned to a specific order. List of orders can be found [here](https://docs.salla.dev/api-5394146) |
| `cart`      | A unique identifier associated with a shopping cart. List of abandond carts can be found [here](https://docs.salla.dev/api-5394138) |
| `shipment`      | A unique identifier for the shipment. Shipment list can be found [here](https://docs.salla.dev/api-5394232). |
| `product`      | A unique identifier for a specific product within a database. |
| `feedback`      | A unique identifier associated with a specific review. List of reviews can be found [here](https://docs.salla.dev/16603963e0). |
| `repurchase_reminder`      | A unique identifier for the repurchase reminder that triggered this notification. |

    </Tab>

</Tabs>

:::info[]
Every notification payload includes a `locale` field (`ar` or `en`) indicating the language of the `content` text and any localized labels in `meta` (e.g. `meta.status.name` on `order.status.updated` events). Use this value to match your provider's language settings or apply language-specific formatting when delivering notifications.
:::

<Card title="Examples" icon="material-two-tone-assignment">
Below are some examples of the webhook events:


<AccordionGroup>

<Accordion title="Example #1" icon="material-two-tone-sms" defaultOpen={true}>
```json
{
  "event": "communication.sms.send",
  "merchant": 292111819,
  "created_at": "Mon Nov 10 2025 17:18:13 GMT+0300",
  "data": {
    "notifiable": [
      "+96656000000"
    ],
    "type": "order.status.updated",
    "content": "أصبحت حالة طلبك #218103278 [تم الشحن]",
    "entity": {
      "id": 1741773897,
      "type": "order"
    },
    "locale": "ar",
    "meta": {
      "customer_id": 239462497,
      "status": {
        "name": "تم الشحن"
      }
    }
  }
}
```
</Accordion>


<Accordion title="Example #2" icon="material-two-tone-email" defaultOpen={false}>
```json
{
  "event": "communication.email.send",
  "merchant": 54112478,
  "created_at": "Thu Aug 14 2025 15:44:55 GMT+0300",
  "data": {
    "notifiable": [
      "email@example.com"
    ],
    "type": "message",
    "content": "Hello World",
    "entity": null,
    "locale": "en",
    "meta": {
      "customer_id": 1110699905
    }
  }
}
```
</Accordion>

<Accordion title="Example #3" icon="material-two-tone-email" defaultOpen={false}>
```json
{
  "event": "communication.whatsapp.send",
  "merchant": 292111819,
  "created_at": "Tue Nov 11 2025 18:30:37 GMT+0300",
  "data": {
    "notifiable": [
      "+96656000000"
    ],
    "type": "customer.rating.request",
    "content": "أهلاً Name \nنتمنى أن تجربة الشراء قد نالت على استحسانك.\nويسرنا معرفة تقييمك للطلب من خلال الرابط:",
    "entity": {
      "id": 148470821,
      "type": "order"
    },
    "locale": "ar",
    "meta": {
      "customer_id": 698792337
    }
  }
}
```
</Accordion>
<Accordion title="Example #4" icon="material-two-tone-chat" defaultOpen={false}>
```json
{
  "event": "communication.sms.send",
  "merchant": 5511124,
  "created_at": "Sun Aug 17 2025 16:46:18 GMT+0300",
  "data": {
    "notifiable": [
      "+96656000000"
    ],
    "type": "otp",
    "content": "كود التفعيل الخاص بك: 0000\n احرص على عدم مشاركته لتستمتع بتسوَّق آمن.",
    "entity": null,
    "locale": "ar",
    "meta": {
      "code": "0000"
    }
  }
}
```
</Accordion>
<Accordion title="Example #5" icon="material-two-tone-chat" defaultOpen={false}>
  ```json
  {
    "event": "communication.whatsapp.send",
    "merchant": 292111819,
    "created_at": "Mon Jul 13 2026 11:20:14 GMT+0300",
    "data": {
      "notifiable": [
        "+96656000000"
      ],
      "type": "customer.repurchase.reminder",
      "content": "أهلاً Name\nحان وقت إعادة طلب المنتج.\nاطلب الآن من الرابط:",
      "entity": {
        "id": 84213097,
        "type": "repurchase_reminder"
      },
      "locale": "ar",
      "meta": {
        "customer_id": 698792337,
        "discount": "10%",
        "expires_at": "2026-07-20 12:00:00"
      }
    }
  }
  ```
  </Accordion>
</AccordionGroup>
    </Card>

