---
title: "Send WhatsApp interactive order-details message"
method: POST
path: "/whatsapp/1/message/interactive/order-details"
tags: ["channels", "whatsapp", "whatsapp-outbound-messages", "send-whatsapp-interactive-messages"]
---

# Send WhatsApp interactive order-details message

`POST /whatsapp/1/message/interactive/order-details`

## Request

- Base URL: `https://api.infobip.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.infobip.com/whatsapp/1/message/interactive/order-details`
- Auth: one of:
  - OAuth 2
    - Client credentials
    - Token URL: `https://api.infobip.com/auth/1/oauth2/token`
  - API key in header `Authorization`
  - API key in header `Authorization`
  - HTTP basic

Send an interactive order-details message to a single recipient. <br/> An order-details message is a structured message containing essential information about the customer's selected products. Alternatively, a [single](#channels/whatsapp/send-whatsapp-interactive-product-message) or [multi-product](#channels/whatsapp/send-whatsapp-interactive-multi-product-message) interactive message can serve this purpose. <br/> Interactive order-details messages can only be successfully delivered if the recipient has contacted the business within the last 24 hours, otherwise [template message](#channels/whatsapp/send-whatsapp-template-message) should be used. <br/> The API response will not contain the final delivery status, use [Delivery Reports](#channels/whatsapp/receive-whatsapp-delivery-reports) instead.

## Request body

- F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveOrderDetailsMessage
  - `from` string, required: Registered WhatsApp sender number. Must be in international format and comply with [WhatsApp's requirements](https://www.infobip.com/docs/whatsapp/get-started/sender-registration#phone-number-what-you-need-to-know).
  - `to` string, required: Message recipient number in international format or WhatsApp business-scoped user ID.
  - `messageId` string: The ID that uniquely identifies the message sent.
  - `content` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveOrderDetailsContent, required: The content object to build a message that will be sent.
    - `body` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveBodyContent, required: Body of a message containing one or more [interactive elements](https://www.infobip.com/docs/whatsapp/message-types-and-templates/free-form-messages#available-interactive-formats).
      - `text` string, required: Content of the message body.
    - `action` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveOrderDetailsActionContent, required: Allows you to specify order details.
      - `payment` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveAllowedOrderPaymentDetails, required: Payment of the order.
        - `type` string, required
      - `paymentConfiguration` string: Name of the WhatsApp payment configuration to be used for this order. Can be omitted for Brazil PIX, UPI Link and must be omitted for Brazil link, Brazil Boleto, Brazil Payments and UPI Intent payment.
      - `orderCurrency` 'INR' | 'BRL', required: Order currency.
      - `orderType` 'PHYSICAL_GOODS' | 'DIGITAL_GOODS', required: Type of the goods offered in the order.
      - `totalAmount` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveOrderDetailsAmount, required
        - `value` integer, required: Value multiplied by the offset (100 for INR and BRL).
      - `order` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveOrderDetailsOrder, required: The order details.
        - `catalogId` string: The ID that uniquely identifies the [catalog](https://www.infobip.com/docs/whatsapp/manage-integration#enable-meta-catalog-for-product-based-messaging) registered with Facebook and connected to the WhatsApp Business Account the sender belongs to.
        - `items` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveOrderDetailsOrderItem[], required: An array of items in the order.
          - `retailerId` string, required: Product-unique identifier, as defined in catalog.
          - `name` string, required: Name of the item.
          - `amount` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveOrderDetailsAmount, required
            - `value` integer, required: Value multiplied by the offset (100 for INR and BRL).
          - `saleAmount` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveOrderDetailsAmount
            - `value` integer, required: Value multiplied by the offset (100 for INR and BRL).
          - `quantity` integer, required: The number of items.
          - `originCountry` string: Country of origin. Required when catalogId is not provided. It's supported only for UPI PayU payments.
          - `importerName` string: Importer name. Required when catalogId is not provided. It's supported only for UPI PayU payments.
          - `importerAddress` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveOrderDetailsImporterAddress: Importer address. Required when catalogId is not provided. It's supported only for UPI PayU payments.
            - `firstAddressLine` string: First line of the address.
            - `secondAddressLine` string: Second line of the address.
            - `city` string: City.
            - `zoneCode` string: Zone code.
            - `postalCode` string: Postal code.
            - `countryCode` string: Country code.
        - `subtotal` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveOrderDetailsAmount, required
          - `value` integer, required: Value multiplied by the offset (100 for INR and BRL).
        - `tax` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveOrderDetailsDescriptiveAmount, required
          - `value` integer, required: Value multiplied by the offset (100 for INR and BRL).
          - `description` string: Description of the value.
        - `shipping` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveOrderDetailsDescriptiveAmount
          - `value` integer, required: Value multiplied by the offset (100 for INR and BRL).
          - `description` string: Description of the value.
        - `discount` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveOrderDetailsDiscount: Discount of the order.
          - `amount` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveOrderDetailsDescriptiveAmount, required
            - `value` integer, required: Value multiplied by the offset (100 for INR and BRL).
            - `description` string: Description of the value.
          - `programName` string: Discount program name.
        - `orderExpiration` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveOrderDetailsOrderExpiration: Expiration of the order.
          - `expirationSeconds` integer, required: Order expiration time in seconds, at least 360.
          - `description` string, required: Text explanation of expiration.
        - `orderDetailsType` 'QUICK_PAY': A quick payment option bypassing the review step. Applicable for PG PayU and PG Razorpay.
    - `header` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveOrderDetailsHeaderContent: Header of a message containing one or more [interactive elements](https://www.infobip.com/docs/whatsapp/message-types-and-templates/free-form-messages#available-interactive-formats).
      - `type` string, required
    - `footer` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2InteractiveFooterContent: Footer of a message containing one or more [interactive elements](https://www.infobip.com/docs/whatsapp/message-types-and-templates/free-form-messages#available-interactive-formats).
      - `text` string, required: Content of the message footer.
  - `callbackData` string: Custom client data that will be included in a [Delivery Report](#channels/whatsapp/receive-whatsapp-delivery-reports).
  - `notifyUrl` string: The URL on your callback server to which delivery and seen reports will be sent. [Delivery report format](#channels/whatsapp/receive-whatsapp-delivery-reports), [Seen report format](#channels/whatsapp/receive-whatsapp-seen-reports).
  - `urlOptions` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2UrlOptions: Sets up [URL shortening](https://www.infobip.com/docs/url-shortening) and tracking feature.
    - `shortenUrl` boolean: Enable shortening of the URLs within a message. Set this to `true`, if you want to set up other URL options.
    - `trackClicks` boolean: Enable tracking of short URL clicks within a message: which URL was clicked, how many times, and by whom.
    - `trackingUrl` string: The URL of your callback server on to which the Click report will be sent.
    - `removeProtocol` boolean: Remove a protocol, such as `https://`, from links to shorten a message. Note that some mobiles may not recognize such links as a URL.
    - `customDomain` string: Select a predefined custom domain to use when generating a short URL.
  - `entityId` string: Required for entity use in a send request for outbound traffic. Returned in notification events. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
  - `applicationId` string: Required for application use in a send request for outbound traffic. Returned in notification events. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
  - `context` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2MessageContext: Context object to define WhatsApp-specific metadata about a message.
    - `replyToMessageId` string, required: Inbound message ID used for a reply. Contextual bubble will not appear for template messages.

## Response `200`

Message accepted for delivery

- F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2SingleMessageInfo
  - `to` string: The destination address of the message.
  - `messageCount` integer: Number of messages required to deliver.
  - `messageId` string: The ID that uniquely identifies the message sent. If not passed, it will be automatically generated and returned in a response.
  - `status` F30d78c250ad1209aef755ddde02bb131e1749b705985f0e9f1b007c900b98e2SingleMessageStatus: Indicates the [status](https://www.infobip.com/docs/essentials/response-status-and-error-codes#api-status-codes) of the message and how to recover from an error should there be any.
    - `groupId` integer: Status group ID.
    - `groupName` string: Status group name.
    - `id` integer: Status ID.
    - `name` string: Status name.
    - `description` string: Human-readable description of the status.
    - `action` string: Action that should be taken to eliminate the error.

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/infobip/apis/infobip-openapi-specification.md) - [All operations](https://skmtc.dev/infobip/apis/infobip-openapi-specification/llms.txt) - [OpenAPI document](https://skmtc.dev/infobip/apis/infobip-openapi-specification/revisions/9dcbbaf902de?raw)
