Order Item Fulfillment Webhook


The following is an example of a generic webhook payload for an order item fulfillment, with some metadata identifying the webhook (e.g. id, event_type). The actual data about the resource/operation is indicated order_item object and order object.

Products Available


Product

Event name

Notes

Gift Card

order_item.fulfillment.confirmed order_item.fulfillment.failed

Points Transfer

order_item.fulfillment.confirmed order_item.fulfillment.failed

Event Name (event_type)

  • order_item.fulfillment.confirmed
  • order_item.fulfillment.failed
  • order_item.fulfillment.cancelled

Webhook Payload Schema

{
  "event_id": "376b9ff8-ff94-4938-bdba-564dad9c7690",
  "event_type": "order_item.fulfillment.confirmed",
  "source_type": "system",
  "created_at": "2025-03-21T16:22:06Z",
  "order_item": {
    // Order item details
  },
  "order": {
    // Order details
  },
  "metadata": {
    // Additional contextual information
  }
}

Payload Fields

Field

Type

Required

Description

event_id

UUID

Yes

Unique identifier used to track and manage events throughout the system, particularly in the webhook processing pipeline.

For example, if the webhook was to provide an update on a redemption, the event_id would refer to the unique redemption ID

event_type

String

Yes

Identifies the event that triggered the webhook delivery (e.g. order_item.fulfillment.confirmed

source_type

String

Yes

Possible values include auto_redemption, admin, user, system

created_at

ISO 8601

Yes

Timestamp when the event occurred (UTC).

order_item

Object

Yes

Information about the order item being redeemed

order

Object

Yes

Information about the parent order which order item belongs to.

metadata

Object

Yes

This is reserved object to provide some custom data if need.


Sample webhook payloads

1. Order Item Fulfillment Confirmed

Event type: order_item.fulfillment.confirmed

Sample Webhook Payloads:

{
  "event_id": "376b9ff8-ff94-4938-bdba-564dad9c7690",
  "event_type": "order_item.fulfillment.confirmed",
  "source_type": "system",
  "created_at": "2025-03-21T16:22:06Z",
  "order_item": {
    "id": "02c0287e-05f5-4ee4-8f20-dbc8007c1aa3",
    "data": {
      "membership": {
        "number": "3081031701519960",
        "last_name": "John",
        "first_name": "Doe"
      },
      "program_name": "ALL – Accor Live Limitless",
      "points_amount": 1000,
      "transfer_amount": 1000,
      "program_image_url": "https://kaligo.imgix.net/logos/ACCORLECLUB.en.png",
      "loyalty_program_id": "cf633f92-4e58-4efe-944c-3f495a634f60",
      "tenant_currency_name": "Rewards Points",
      "program_currency_name": "ALL Reward points"
    },
    "type": "points_transfer_order_item",
    "status": "fulfilled",
    "quantity": 1,
    "cash_paid": 0,
    "cash_amount": 0,
    "points_paid": 1000,
    "points_amount": 1000,
    "description": "1,000 ALL Reward points",
    "errors":[],
    "created_at": "2025-03-20T06:59:16.096Z",
    "updated_at": "2025-03-20T06:59:58.635Z"
  },
  "order": {
    "id": "78e2d529-4026-4808-9a83-c66a1a58b186",
    "status": "completed",
    "user_id": "61827ea5-21cc-4a25-b0f1-6d2ee4f1a764",
    "cash_paid": 0,
    "cash_amount": 0,
    "points_paid": 1000,
    "points_amount": 1000,
    "source_type": "api",
    "reference_id": "be5acb78-59c6-42f8-8ea7-f736e67a6140",
    "created_at": "2025-03-20T06:59:16.078Z",
    "updated_at": "2025-03-20T06:59:58.772Z"
  },
  "metadata": {}  
}
{
  "event_id": "376b9ff8-ff94-4938-bdba-564dad9c7690",
  "event_type": "order_item.fulfillment.confirmed",
  "source_type": "system",
  "created_at": "2025-03-21T16:22:06Z",
  "order_item": {
    "id": "02c0287e-05f5-4ee4-8f20-dbc8007c1aa3",
    "data": {
      "membership": {
        "number": "3081031701519960",
        "last_name": "John",
        "first_name": "Doe"
      },
      "program_name": "ALL – Accor Live Limitless",
      "points_amount": 1000,
      "transfer_amount": 1000,
      "program_image_url": "https://kaligo.imgix.net/logos/ACCORLECLUB.en.png",
      "loyalty_program_id": "cf633f92-4e58-4efe-944c-3f495a634f60",
      "tenant_currency_name": "Rewards Points",
      "program_currency_name": "ALL Reward points"
    },
    "type": "points_transfer_order_item",
    "status": "fulfilled",
    "quantity": 1,
    "cash_paid": 0,
    "cash_amount": 0,
    "points_paid": 1000,
    "points_amount": 1000,
    "description": "1,000 ALL Reward points",
    "errors":[],
    "created_at": "2025-03-20T06:59:16.096Z",
    "updated_at": "2025-03-20T06:59:58.635Z"
  },
  "order": {
    "id": "78e2d529-4026-4808-9a83-c66a1a58b186",
    "status": "completed",
    "user_id": "61827ea5-21cc-4a25-b0f1-6d2ee4f1a764",
    "cash_paid": 0,
    "cash_amount": 0,
    "points_paid": 1000,
    "points_amount": 1000,
    "source_type": "api",
    "reference_id": "be5acb78-59c6-42f8-8ea7-f736e67a6140",
    "created_at": "2025-03-20T06:59:16.078Z",
    "updated_at": "2025-03-20T06:59:58.772Z"
  },
  "metadata": {}  
}

2. Order Item Fulfillment Failed

Event type: order_item.fulfillment.failed

Sample Webhook Payloads:

{
  "event_id": "376b9ff8-ff94-4938-bdba-564dad9c7690",
  "event_type": "order_item.fulfillment.failed",
  "source_type": "system",
  "created_at": "2025-03-21T16:22:06Z",
  "order_item": {
    "id": "4611fb1e-6d6d-4d92-9cb5-afd1a5ff2440",
    "data": {
      "membership": {
        "number": "988877387",
        "last_name": "John",
        "first_name": "Doe"
      },
      "program_name": "Aeroplan",
      "points_amount": 999900,
      "transfer_amount": 999900,
      "program_image_url": "https://kaligo.imgix.net/logos/ACAEROPLAN.en.png",
      "loyalty_program_id": "896b8b70-dcb6-4092-bf88-364e8364ec59",
      "tenant_currency_name": "Points",
      "program_currency_name": "Aeroplan points"
    },
    "type": "points_transfer_order_item",
    "status": "failed",
    "quantity": 1,
    "cash_paid": 0,
    "cash_amount": 0,
    "points_paid": 999900,
    "points_amount": 999900,
    "error_message": "This is error message",
    "errors": [
      {
      	"code": "xxxxxx",
      	"message": "something went wrong"
      }
    ],
    "description": "999,900 Aeroplan points",
    "created_at": "2025-03-03T11:18:54.311Z",
    "updated_at": "2025-03-18T06:19:44.605Z",
  },
  "order": {
    "id": "12a688ce-f378-4dfb-912e-6a6f6b9e857d",
    "status": "completed",
    "user_id": "7dd9b857-1ae7-4ad2-8384-9ab57d2240c5",
    "cash_paid": 0,
    "created_at": "2025-03-03T11:18:54.298Z",
    "updated_at": "2025-03-18T06:19:44.654Z",
    "cash_amount": 0,
    "points_paid": 999900,
    "source_type": "user",
    "points_amount": 999900
  },
  "metadata": {}
}
{
  "event_id": "376b9ff8-ff94-4938-bdba-564dad9c7690",
  "event_type": "order_item.fulfillment.failed",
  "source_type": "system",
  "created_at": "2025-03-21T16:22:06Z",
  "order_item": {
    "id": "c2c6d5ba-1dc9-48d0-965a-eec282a5d31d",
    "data": {
      "recipient": {
        "email": "[email protected]",
        "address": {
          "line_1": "123 Main Street",
          "city": "Apt 1A",
          "country_code": "USA",
          "postal_code": "12345"
        },
        "last_name": "John",
        "first_name": "Doe",
        "company_name": "Ascenda",
        "phone_number": "+6512345678"
      },
      "currency": "USD",
      "display_value": 20,
      "gift_card_id": "c3204305-b7c5-42b6-a6eb-3617449b69c2",
      "product_name": "Adidas",
      "fulfillment_data": null,
      "product_image_url": "https://catalogue-api.meritincentives.com/media/products/images/Adidas-_SINGAPORE.jpg",
      "redemption_instruction": null
    },
    "type": "gift_card_order_item",
    "status": "failed",
    "description": "$20 Gift Card",
    "errors": [
      {
      	"code": "xxxxxx",
      	"message": "something went wrong"
      }
    ],
    "quantity": 1,
    "cash_paid": 0,
    "cash_amount": 0,
    "points_paid": 2000,
    "points_amount": 2000,
    "created_at": "2025-03-19T13:02:42.946Z",
    "updated_at": "2025-03-19T13:18:46.454Z"
  },
  "order": {
    "id": "38e9b2c9-a263-4bcf-96c4-34ea66f495b1",
    "status": "completed",
    "user_id": "61827ea5-21cc-4a25-b0f1-6d2ee4f1a764",
    "cash_paid": 0,
    "cash_amount": 0,
    "points_paid": 2000,
    "points_amount": 2000,
    "source_type": "api",
    "reference_id": "241def10-7e7a-4999-9625-7722a1868b9f",
    "created_at": "2025-03-19T13:02:42.940Z",
    "updated_at": "2025-03-19T13:18:46.721Z"
  },
  "metadata": {}
}