openapi: 3.0.0 info: contact: email: service@ycloud.com description: "The [YCloud](https://ycloud.com) API is organized around [REST](https://en.wikipedia.org/wiki/Representational_state_transfer).\ \ Our API is designed to have predictable, resource-oriented URLs, return [JSON](https://www.json.org)\ \ responses, and use standard HTTP response codes and verbs." termsOfService: https://ycloud.com/terms-service title: YCloud API version: v2 externalDocs: description: Homepage url: https://ycloud.com servers: - description: Base URL url: https://api.ycloud.com/v2 security: - api_key: [] tags: - name: Balance - name: Contacts - name: Emails - name: SMS - name: Unsubscribers - name: Verify - name: Voices - name: Webhook Endpoints - name: WhatsApp Business Accounts - name: WhatsApp Inbound Messages - name: WhatsApp Messages - name: WhatsApp Phone Numbers - name: WhatsApp Templates paths: /balance: get: description: Retrieves the current account balance. operationId: balance-retrieve responses: "200": content: application/json: schema: $ref: '#/components/schemas/Balance' description: Successfully retrieved balance. summary: Retrieve balance tags: - Balance x-accepts: application/json /contact/contacts: get: description: Returns a paginated list of contacts. operationId: contact-list parameters: - description: "Page number of the results to be returned, 1-based." explode: true in: query name: page required: false schema: default: 1 format: int32 maximum: 100 minimum: 1 type: integer style: form - description: "A limit on the number of results to be returned, or number of\ \ results per page, between 1 and 100, defaults to 10." explode: true in: query name: limit required: false schema: default: 10 format: int32 maximum: 100 minimum: 1 type: integer style: form - description: Return results inside an object that contains the total result count or not. explode: true in: query name: includeTotal required: false schema: default: false type: boolean style: form - description: Comma-separated list of tags. explode: true in: query name: filter.tags required: false schema: example: "tag1,tag2" type: string style: form - description: "Two-letter country abbreviation. See [ISO 3166-1 alpha-2 country\ \ code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)." explode: true in: query name: filter.countryCode required: false schema: example: US type: string style: form - description: "Phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." explode: true in: query name: filter.phoneNumber required: false schema: example: +16315551111 type: string style: form - description: The contact's email address. explode: true in: query name: filter.email required: false schema: example: support@example.com type: string style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/ContactPage' description: Successfully retrieved a paginated list of objects. summary: List contacts tags: - Contacts x-group-parameters: true x-accepts: application/json post: description: Creates a contact. operationId: contact-create requestBody: content: application/json: schema: $ref: '#/components/schemas/ContactCreateRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Contact' description: Successfully created a contact. summary: Create a contact tags: - Contacts x-content-type: application/json x-accepts: application/json /contact/contacts/{id}: delete: description: Deletes a contact. operationId: contact-delete parameters: - description: ID of the contact. explode: false in: path name: id required: true schema: example: "1693364594105000026" maxLength: 255 type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/Contact' description: Successfully deleted the contact. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Delete a contact tags: - Contacts x-accepts: application/json get: description: Retrieves a contact. operationId: contact-retrieve parameters: - description: ID of the contact. explode: false in: path name: id required: true schema: example: "1693364594105000026" maxLength: 255 type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/Contact' description: Successfully retrieved the contact. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Retrieve a contact tags: - Contacts x-accepts: application/json patch: description: Updates a contact. operationId: contact-update parameters: - description: ID of the contact. explode: false in: path name: id required: true schema: example: "1693364594105000026" maxLength: 255 type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/ContactUpdateRequest' responses: "200": content: application/json: schema: $ref: '#/components/schemas/Contact' description: Successfully updated the contact. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Update a contact tags: - Contacts x-content-type: application/json x-accepts: application/json /emails: post: description: Sends an outbound email message. operationId: email-send requestBody: content: application/json: schema: $ref: '#/components/schemas/EmailSendRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Email' description: The request is successfully accepted. summary: Send an email tags: - Emails x-content-type: application/json x-accepts: application/json /sms: get: description: Returns a paginated list of SMS messages you've previously sent. operationId: sms-list parameters: - description: "Page number of the results to be returned, 1-based." explode: true in: query name: page required: false schema: default: 1 format: int32 maximum: 100 minimum: 1 type: integer style: form - description: "A limit on the number of results to be returned, or number of\ \ results per page, between 1 and 100, defaults to 10." explode: true in: query name: limit required: false schema: default: 10 format: int32 maximum: 100 minimum: 1 type: integer style: form - description: Return results inside an object that contains the total result count or not. explode: true in: query name: includeTotal required: false schema: default: false type: boolean style: form - description: "Return results where the `createTime` field is greater than\ \ or equal to this value. Default: One day ago from now." explode: true in: query name: filter.createTime.gte required: false schema: example: 2022-03-01T12:00:00Z format: date-time type: string style: form - description: Return results where the `createTime` field is less than or equal to this value. explode: true in: query name: filter.createTime.lte required: false schema: example: 2022-03-31T12:00:00Z format: date-time type: string style: form - description: Unique object ID on our side. Other filter parameters will be ignored if this parameter is present. explode: true in: query name: filter.id required: false schema: type: string style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/SmsPage' description: Successfully retrieved a paginated list of objects. summary: List SMS records tags: - SMS x-group-parameters: true x-accepts: application/json post: description: Sends an outbound text message. operationId: sms-send requestBody: content: application/json: schema: $ref: '#/components/schemas/SmsSendRequest' description: SMS request that needs to be sent. required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Sms' description: The request is successfully accepted. summary: Send an SMS tags: - SMS x-content-type: application/json x-accepts: application/json /unsubscribers: get: description: Returns a paginated list of unsubscribers. operationId: unsubscriber-list parameters: - description: "Page number of the results to be returned, 1-based." explode: true in: query name: page required: false schema: default: 1 format: int32 maximum: 100 minimum: 1 type: integer style: form - description: "A limit on the number of results to be returned, or number of\ \ results per page, between 1 and 100, defaults to 10." explode: true in: query name: limit required: false schema: default: 10 format: int32 maximum: 100 minimum: 1 type: integer style: form - description: Return results inside an object that contains the total result count or not. explode: true in: query name: includeTotal required: false schema: default: false type: boolean style: form - description: "A cursor to fetch the next page in cursor pagination.\nFor example,\ \ if you make a list request, receive 100 objects and `cursor.after=id:foo`,\ \ your subsequent call can include `pageAfter=id:foo` in order to fetch\ \ the next page of the list." explode: true in: query name: pageAfter required: false schema: example: id:foo type: string style: form - explode: true in: query name: filter.customer required: false schema: description: The customer who has opted out. example: +16315551111 type: string style: form - explode: true in: query name: filter.channel required: false schema: $ref: '#/components/schemas/UnsubscriberChannel' style: form - explode: true in: query name: filter.regionCode required: false schema: description: "Region code, formatted in [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)." type: string style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/UnsubscriberPage' description: Successfully retrieved a paginated list of objects. summary: List unsubscribers tags: - Unsubscribers x-group-parameters: true x-accepts: application/json post: description: |- Creates an unsubscriber. An unsubscriber is a configuration item representing that customers opt out of receiving messages from your business. **A customer and a channel form a unique identifier for an unsubscriber.** operationId: unsubscriber-create requestBody: content: application/json: schema: $ref: '#/components/schemas/UnsubscriberCreateRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Unsubscriber' description: Successfully created an unsubscriber. summary: Create an unsubscriber tags: - Unsubscribers x-content-type: application/json x-accepts: application/json /unsubscribers/{customer}: get: description: Returns all unsubscribers for the specified customer. operationId: unsubscriber-list-all-by-customer parameters: - description: The customer who has opted out. explode: false in: path name: customer required: true schema: example: +16315551111 type: string style: simple responses: "200": content: application/json: schema: items: $ref: '#/components/schemas/Unsubscriber' type: array description: Successfully retrieved the unsubscribers. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: List all unsubscribers by customer tags: - Unsubscribers x-accepts: application/json /unsubscribers/{customer}/{channel}: delete: description: Deletes the unsubscriber for the specified customer and channel. operationId: unsubscriber-delete-by-customer-and-channel parameters: - description: The customer who has opted out. explode: false in: path name: customer required: true schema: example: +16315551111 type: string style: simple - explode: false in: path name: channel required: true schema: $ref: '#/components/schemas/UnsubscriberChannel' style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/Unsubscriber' description: Successfully deleted the unsubscriber. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Delete an unsubscriber tags: - Unsubscribers x-accepts: application/json get: description: Retrieves the unsubscriber for the specified customer and channel. operationId: unsubscriber-retrieve-by-customer-and-channel parameters: - description: The customer who has opted out. explode: false in: path name: customer required: true schema: example: +16315551111 type: string style: simple - explode: false in: path name: channel required: true schema: $ref: '#/components/schemas/UnsubscriberChannel' style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/Unsubscriber' description: Successfully retrieved the unsubscribers. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Retrieve an unsubscriber tags: - Unsubscribers x-accepts: application/json /verify/verifications: post: description: "Starts a verification by sending an SMS, voice, or email message\ \ to the recipient.\nThis verification is charged once the message is sent\ \ successfully." operationId: verification-send requestBody: content: application/json: schema: $ref: '#/components/schemas/VerificationSendRequest' description: Verification request that needs to be sent. required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Verification' description: The request is successfully accepted. summary: Start a verification tags: - Verify x-content-type: application/json x-accepts: application/json /verify/verificationChecks: post: description: "Checks a verification with a phone number, an email address, or\ \ a verification ID.\nA `pending` verification status changes to `approved`\ \ once you receive a response with the `valid` parameter is `true`. An approved\ \ verification cannot be checked anymore." operationId: verification-check requestBody: content: application/json: schema: $ref: '#/components/schemas/VerificationCheckRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/VerificationCheck' description: Successfully processed the verification check. summary: Check a verification tags: - Verify x-content-type: application/json x-accepts: application/json /voices: get: description: Returns a paginated list of voice calls you've previously sent. operationId: voice-list parameters: - description: "Page number of the results to be returned, 1-based." explode: true in: query name: page required: false schema: default: 1 format: int32 maximum: 100 minimum: 1 type: integer style: form - description: "A limit on the number of results to be returned, or number of\ \ results per page, between 1 and 100, defaults to 10." explode: true in: query name: limit required: false schema: default: 10 format: int32 maximum: 100 minimum: 1 type: integer style: form - description: Return results inside an object that contains the total result count or not. explode: true in: query name: includeTotal required: false schema: default: false type: boolean style: form - description: "Return results where the `createTime` field is greater than\ \ or equal to this value. Default: One day ago from now." explode: true in: query name: filter.createTime.gte required: false schema: example: 2022-03-01T12:00:00Z format: date-time type: string style: form - description: Return results where the `createTime` field is less than or equal to this value. explode: true in: query name: filter.createTime.lte required: false schema: example: 2022-03-31T12:00:00Z format: date-time type: string style: form - description: Unique object ID on our side. Other filter parameters will be ignored if this parameter is present. explode: true in: query name: filter.id required: false schema: type: string style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/VoicePage' description: Successfully retrieved a paginated list of objects. summary: List voice records tags: - Voices x-group-parameters: true x-accepts: application/json post: description: Sends an outbound voice call verification code. operationId: voice-send requestBody: content: application/json: schema: $ref: '#/components/schemas/VoiceSendRequest' description: Voice call request that needs to be sent. required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Voice' description: The request is successfully accepted. summary: Send a voice code tags: - Voices x-content-type: application/json x-accepts: application/json /webhookEndpoints: get: description: Returns a paginated list of webhook endpoints. operationId: webhook_endpoint-list parameters: - description: "Page number of the results to be returned, 1-based." explode: true in: query name: page required: false schema: default: 1 format: int32 maximum: 100 minimum: 1 type: integer style: form - description: "A limit on the number of results to be returned, or number of\ \ results per page, between 1 and 100, defaults to 10." explode: true in: query name: limit required: false schema: default: 10 format: int32 maximum: 100 minimum: 1 type: integer style: form - description: Return results inside an object that contains the total result count or not. explode: true in: query name: includeTotal required: false schema: default: false type: boolean style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/WebhookEndpointPage' description: Successfully retrieved a paginated list of objects. summary: List webhook endpoints tags: - Webhook Endpoints x-group-parameters: true x-accepts: application/json post: description: Creates a webhook endpoint listening for specific events. operationId: webhook_endpoint-create requestBody: content: application/json: schema: $ref: '#/components/schemas/WebhookEndpointCreateRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/WebhookEndpoint' description: Successfully created a webhook endpoint. summary: Create a webhook endpoint tags: - Webhook Endpoints x-content-type: application/json x-accepts: application/json /webhookEndpoints/{id}: delete: description: Deletes a webhook endpoint. operationId: webhook_endpoint-delete parameters: - description: ID of the webhook endpoint. explode: false in: path name: id required: true schema: example: wh627c8640675de8fc689ab9d9 type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/WebhookEndpoint' description: Successfully deleted the webhook endpoint. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Delete a webhook endpoint tags: - Webhook Endpoints x-accepts: application/json get: description: Retrieves the webhook endpoint with the given ID. operationId: webhook_endpoint-retrieve parameters: - description: ID of the webhook endpoint. explode: false in: path name: id required: true schema: example: wh627c8640675de8fc689ab9d9 type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/WebhookEndpoint' description: Successfully retrieved the webhook endpoint. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Retrieve a webhook endpoint tags: - Webhook Endpoints x-accepts: application/json patch: description: "Updates a webhook endpoint, such as url, events, status." operationId: webhook_endpoint-update parameters: - description: ID of the webhook endpoint. explode: false in: path name: id required: true schema: example: wh627c8640675de8fc689ab9d9 type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/WebhookEndpointUpdateRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/WebhookEndpoint' description: Successfully updated the webhook endpoint. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Update a webhook endpoint tags: - Webhook Endpoints x-content-type: application/json x-accepts: application/json /webhookEndpoints/{id}/rotateSecret: post: description: Generates a new secret for a webhook endpoint. operationId: webhook_endpoint-rotate-secret parameters: - description: ID of the webhook endpoint. explode: false in: path name: id required: true schema: example: wh627c8640675de8fc689ab9d9 type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/WebhookEndpoint' description: Successfully rotated the webhook endpoint secret. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Rotate a webhook endpoint secret tags: - Webhook Endpoints x-accepts: application/json /whatsapp/businessAccounts: get: description: Returns a paginated list of WhatsApp business accounts you've registered. operationId: whatsapp_business_account-list parameters: - description: "Page number of the results to be returned, 1-based." explode: true in: query name: page required: false schema: default: 1 format: int32 maximum: 100 minimum: 1 type: integer style: form - description: "A limit on the number of results to be returned, or number of\ \ results per page, between 1 and 100, defaults to 10." explode: true in: query name: limit required: false schema: default: 10 format: int32 maximum: 100 minimum: 1 type: integer style: form - description: Return results inside an object that contains the total result count or not. explode: true in: query name: includeTotal required: false schema: default: false type: boolean style: form - description: WhatsApp Business Account review status. explode: true in: query name: filter.accountReviewStatus required: false schema: example: APPROVED type: string style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappBusinessAccountPage' description: Successfully retrieved a paginated list of objects. summary: List WABAs tags: - WhatsApp Business Accounts x-group-parameters: true x-accepts: application/json /whatsapp/businessAccounts/{id}: get: description: Retrieves a WABA you've registered. operationId: whatsapp_business_account-retrieve parameters: - description: WhatsApp Business Account ID. explode: false in: path name: id required: true schema: example: whatsapp-business-account-id type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappBusinessAccount' description: Successfully retrieved the WABA. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Retrieve a WABA tags: - WhatsApp Business Accounts x-accepts: application/json /whatsapp/inboundMessages/{id}/markAsRead: post: description: "When you receive an inbound message from webhooks, you can use\ \ this endpoint to mark the message as read. Messages marked as read display\ \ two blue check marks alongside their timestamp.\n\nMarking a message as\ \ read will also mark earlier messages in the conversation as read." operationId: whatsapp_inbound_message-mark-as-read parameters: - description: "ID of the message.\n\nA wamid (i.e., the original message ID\ \ on WhatsApp's platform) is also acceptable." explode: false in: path name: id required: true schema: example: 627c8640675de8fc689ab9d9 type: string style: simple responses: "200": description: Successfully marked the message as read. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Mark message as read tags: - WhatsApp Inbound Messages x-accepts: application/json /whatsapp/messages/sendDirectly: post: description: |- Sends an outbound WhatsApp message directly. The message is submitted to the WhatsApp Business API synchronously. Typically used for sending OTP and instant messages. The response body field `error.whatsappApiError` is included if we tried to request the WhatsApp Business API and got an error response. operationId: whatsapp_message-send-directly requestBody: content: application/json: schema: $ref: '#/components/schemas/WhatsappMessageSendRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappMessage' description: The request is successfully accepted. summary: Send a message directly tags: - WhatsApp Messages x-content-type: application/json x-accepts: application/json /whatsapp/messages: post: description: |- Enqueues an outbound WhatsApp message for sending. Queued messages will be submitted to the WhatsApp Business API asynchronously. operationId: whatsapp_message-send requestBody: content: application/json: schema: $ref: '#/components/schemas/WhatsappMessageSendRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappMessage' description: The request is successfully accepted. summary: Enqueue a message tags: - WhatsApp Messages x-content-type: application/json x-accepts: application/json /whatsapp/messages/{id}: get: description: Retrieves a WhatsApp message you've previously sent. operationId: whatsapp_message-retrieve parameters: - description: ID of the object. explode: false in: path name: id required: true schema: example: 627c8640675de8fc689ab9d9 type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappMessage' description: Successfully retrieved the object. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Retrieve a message tags: - WhatsApp Messages x-accepts: application/json /whatsapp/phoneNumbers: get: description: Returns a paginated list of WhatsApp business phone numbers you've registered. operationId: whatsapp_phone_number-list parameters: - description: "Page number of the results to be returned, 1-based." explode: true in: query name: page required: false schema: default: 1 format: int32 maximum: 100 minimum: 1 type: integer style: form - description: "A limit on the number of results to be returned, or number of\ \ results per page, between 1 and 100, defaults to 10." explode: true in: query name: limit required: false schema: default: 10 format: int32 maximum: 100 minimum: 1 type: integer style: form - description: Return results inside an object that contains the total result count or not. explode: true in: query name: includeTotal required: false schema: default: false type: boolean style: form - description: |- **Required if you have more than 100 WABAs.** WhatsApp Business Account ID. explode: true in: query name: filter.wabaId required: false schema: example: whatsapp-business-account-id type: string style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappPhoneNumberPage' description: Successfully retrieved a paginated list of objects. summary: List phone numbers tags: - WhatsApp Phone Numbers x-group-parameters: true x-accepts: application/json /whatsapp/phoneNumbers/{wabaId}/{phoneNumber}: get: description: Retrieves a WhatsApp business phone number you've registered. operationId: whatsapp_phone_number-retrieve parameters: - description: WhatsApp Business Account ID. explode: false in: path name: wabaId required: true schema: example: whatsapp-business-account-id type: string style: simple - description: "Phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." explode: false in: path name: phoneNumber required: true schema: example: +16315551111 type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappPhoneNumber' description: Successfully retrieved the object. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Retrieve a phone number tags: - WhatsApp Phone Numbers x-accepts: application/json /whatsapp/phoneNumbers/{wabaId}/{phoneNumber}/profile: get: description: Retrieves a WhatsApp business phone number's profile. Customers can view your business profile by clicking your business's name or number in a conversation thread. operationId: whatsapp_phone_number-retrieve-profile parameters: - description: WhatsApp Business Account ID. explode: false in: path name: wabaId required: true schema: example: whatsapp-business-account-id type: string style: simple - description: "Phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." explode: false in: path name: phoneNumber required: true schema: example: +16315551111 type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappPhoneNumberProfile' description: Successfully retrieved the object. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Retrieve a phone number profile tags: - WhatsApp Phone Numbers x-accepts: application/json patch: description: Updates a WhatsApp business phone number profile. operationId: whatsapp_phone_number-update-profile parameters: - description: WhatsApp Business Account ID. explode: false in: path name: wabaId required: true schema: example: whatsapp-business-account-id type: string style: simple - description: "Phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." explode: false in: path name: phoneNumber required: true schema: example: +16315551111 type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/WhatsappPhoneNumberProfileUpdateRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappPhoneNumberProfile' description: Successfully updated the object. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Update a phone number profile tags: - WhatsApp Phone Numbers x-content-type: application/json x-accepts: application/json /whatsapp/phoneNumbers/{wabaId}/{phoneNumber}/whatsappCommerceSettings: get: description: Retrieves a WhatsApp business phone number's commerce settings. operationId: whatsapp_phone_number-retrieve-commerce-settings parameters: - description: WhatsApp Business Account ID. explode: false in: path name: wabaId required: true schema: example: whatsapp-business-account-id type: string style: simple - description: "Phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." explode: false in: path name: phoneNumber required: true schema: example: +16315551111 type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappCommerceSettings' description: Successfully retrieved the object. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Retrieve commerce settings tags: - WhatsApp Phone Numbers x-accepts: application/json patch: description: |- Updates a WhatsApp business phone number's commerce settings. Use this endpoint to enable or disable the shopping cart or the product catalog for a specific business phone number. operationId: whatsapp_phone_number-update-commerce-settings parameters: - description: WhatsApp Business Account ID. explode: false in: path name: wabaId required: true schema: example: whatsapp-business-account-id type: string style: simple - description: "Phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." explode: false in: path name: phoneNumber required: true schema: example: +16315551111 type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/WhatsappCommerceSettingsUpdateRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappCommerceSettings' description: Successfully updated the object. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Update commerce settings tags: - WhatsApp Phone Numbers x-content-type: application/json x-accepts: application/json /whatsapp/phoneNumbers/{wabaId}/{phoneNumber}/register: post: description: Registers a WhatsApp business phone number. operationId: whatsapp_phone_number-register parameters: - description: WhatsApp Business Account ID. explode: false in: path name: wabaId required: true schema: example: whatsapp-business-account-id type: string style: simple - description: Phone number ID. explode: false in: path name: phoneNumber required: true schema: example: "1234567890123456" type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappPhoneNumber' description: Successfully registered the phone number. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Register a phone number tags: - WhatsApp Phone Numbers x-accepts: application/json /whatsapp/templates: get: description: Returns a paginated list of WhatsApp templates you've previously created. operationId: whatsapp_template-list parameters: - description: "Page number of the results to be returned, 1-based." explode: true in: query name: page required: false schema: default: 1 format: int32 maximum: 100 minimum: 1 type: integer style: form - description: "A limit on the number of results to be returned, or number of\ \ results per page, between 1 and 100, defaults to 10." explode: true in: query name: limit required: false schema: default: 10 format: int32 maximum: 100 minimum: 1 type: integer style: form - description: Return results inside an object that contains the total result count or not. explode: true in: query name: includeTotal required: false schema: default: false type: boolean style: form - description: |- **Required if you have more than 100 WABAs.** WhatsApp Business Account ID. explode: true in: query name: filter.wabaId required: false schema: example: whatsapp-business-account-id type: string style: form - description: Name of the template. explode: true in: query name: filter.name required: false schema: example: sample_whatsapp_template maxLength: 512 pattern: "[a-z0-9]{1,512}" type: string style: form - description: "Language code of the template. See [Supported Languages](https://developers.facebook.com/docs/whatsapp/api/messages/message-templates#supported-languages)\ \ for all codes." explode: true in: query name: filter.language required: false schema: example: en_US type: string style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappTemplatePage' description: Successfully retrieved a paginated list of objects. summary: List templates tags: - WhatsApp Templates x-group-parameters: true x-accepts: application/json post: description: Creates a WhatsApp template. operationId: whatsapp_template-create requestBody: content: application/json: schema: $ref: '#/components/schemas/WhatsappTemplateCreateRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappTemplate' description: Successfully created a WhatsApp template. summary: Create a template tags: - WhatsApp Templates x-content-type: application/json x-accepts: application/json /whatsapp/templates/{wabaId}/{name}: delete: description: "Deletes WhatsApp templates by name. If that template name exists\ \ in multiple languages, all languages will be deleted.\nHTTP status `404`\ \ is returned if no templates are found for the specific name." operationId: whatsapp_template-delete-by-name parameters: - description: WhatsApp Business Account ID. explode: false in: path name: wabaId required: true schema: example: whatsapp-business-account-id type: string style: simple - description: Name of the template. explode: false in: path name: name required: true schema: example: sample_whatsapp_template maximum: 512 minimum: 1 pattern: "[a-z0-9]{1,512}" type: string style: simple responses: "200": content: application/json: schema: items: $ref: '#/components/schemas/WhatsappTemplate' type: array description: Successfully deleted the template(s). "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Delete templates by name tags: - WhatsApp Templates x-accepts: application/json /whatsapp/templates/{wabaId}/{name}/{language}: delete: description: Deletes a WhatsApp template by name and language. operationId: whatsapp_template-delete-by-name-and-language parameters: - description: WhatsApp Business Account ID. explode: false in: path name: wabaId required: true schema: example: whatsapp-business-account-id type: string style: simple - description: Name of the template. explode: false in: path name: name required: true schema: example: sample_whatsapp_template maximum: 512 minimum: 1 pattern: "[a-z0-9]{1,512}" type: string style: simple - description: "Language code of the template. See [Supported Languages](https://developers.facebook.com/docs/whatsapp/api/messages/message-templates#supported-languages)\ \ for all codes." explode: false in: path name: language required: true schema: example: en_US type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappTemplate' description: Successfully deleted the template. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Delete a template tags: - WhatsApp Templates x-accepts: application/json get: description: Retrieves a WhatsApp template by name and language. operationId: whatsapp_template-retrieve-by-name-and-language parameters: - description: WhatsApp Business Account ID. explode: false in: path name: wabaId required: true schema: example: whatsapp-business-account-id type: string style: simple - description: Name of the template. explode: false in: path name: name required: true schema: example: sample_whatsapp_template maximum: 512 minimum: 1 pattern: "[a-z0-9]{1,512}" type: string style: simple - description: "Language code of the template. See [Supported Languages](https://developers.facebook.com/docs/whatsapp/api/messages/message-templates#supported-languages)\ \ for all codes." explode: false in: path name: language required: true schema: example: en_US type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappTemplate' description: Successfully retrieved the template. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Retrieve a template tags: - WhatsApp Templates x-accepts: application/json patch: description: "Edits a WhatsApp template by name and language.\nEditing a template\ \ replaces its old contents entirely, so include any components you wish to\ \ preserve as well as components you wish to update using the components parameter." operationId: whatsapp_template-edit-by-name-and-language parameters: - description: WhatsApp Business Account ID. explode: false in: path name: wabaId required: true schema: example: whatsapp-business-account-id type: string style: simple - description: Name of the template. explode: false in: path name: name required: true schema: example: sample_whatsapp_template maximum: 512 minimum: 1 pattern: "[a-z0-9]{1,512}" type: string style: simple - description: "Language code of the template. See [Supported Languages](https://developers.facebook.com/docs/whatsapp/api/messages/message-templates#supported-languages)\ \ for all codes." explode: false in: path name: language required: true schema: example: en_US type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/WhatsappTemplateEditRequest' responses: "200": content: application/json: schema: $ref: '#/components/schemas/WhatsappTemplate' description: Successfully edited the template. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource does not exist. summary: Edit a template tags: - WhatsApp Templates x-content-type: application/json x-accepts: application/json components: parameters: channel-in_path_for_unsubscriber: explode: false in: path name: channel required: true schema: $ref: '#/components/schemas/UnsubscriberChannel' style: simple customer-in_path_for_unsubscriber: description: The customer who has opted out. explode: false in: path name: customer required: true schema: example: +16315551111 type: string style: simple filter_createTime_gte-default_1d: description: "Return results where the `createTime` field is greater than or\ \ equal to this value. Default: One day ago from now." explode: true in: query name: filter.createTime.gte required: false schema: example: 2022-03-01T12:00:00Z format: date-time type: string style: form filter_createTime_lte: description: Return results where the `createTime` field is less than or equal to this value. explode: true in: query name: filter.createTime.lte required: false schema: example: 2022-03-31T12:00:00Z format: date-time type: string style: form filter_id: description: Unique object ID on our side. Other filter parameters will be ignored if this parameter is present. explode: true in: query name: filter.id required: false schema: type: string style: form filter_wabaId: description: |- **Required if you have more than 100 WABAs.** WhatsApp Business Account ID. explode: true in: query name: filter.wabaId required: false schema: example: whatsapp-business-account-id type: string style: form filter_accountReviewStatus-WABA: description: WhatsApp Business Account review status. explode: true in: query name: filter.accountReviewStatus required: false schema: example: APPROVED type: string style: form id-in_path: description: ID of the object. explode: false in: path name: id required: true schema: example: 627c8640675de8fc689ab9d9 type: string style: simple id-in_path_for_webhook_endpoint: description: ID of the webhook endpoint. explode: false in: path name: id required: true schema: example: wh627c8640675de8fc689ab9d9 type: string style: simple id-in_path_for_contact: description: ID of the contact. explode: false in: path name: id required: true schema: example: "1693364594105000026" maxLength: 255 type: string style: simple includeTotal: description: Return results inside an object that contains the total result count or not. explode: true in: query name: includeTotal required: false schema: default: false type: boolean style: form limit: description: "A limit on the number of results to be returned, or number of\ \ results per page, between 1 and 100, defaults to 10." explode: true in: query name: limit required: false schema: default: 10 format: int32 maximum: 100 minimum: 1 type: integer style: form page: description: "Page number of the results to be returned, 1-based." explode: true in: query name: page required: false schema: default: 1 format: int32 maximum: 100 minimum: 1 type: integer style: form pageAfter: description: "A cursor to fetch the next page in cursor pagination.\nFor example,\ \ if you make a list request, receive 100 objects and `cursor.after=id:foo`,\ \ your subsequent call can include `pageAfter=id:foo` in order to fetch the\ \ next page of the list." explode: true in: query name: pageAfter required: false schema: example: id:foo type: string style: form wabaId-in_path: description: WhatsApp Business Account ID. explode: false in: path name: wabaId required: true schema: example: whatsapp-business-account-id type: string style: simple schemas: Balance: example: amount: 190.0765 currency: USD properties: amount: description: Balance of current account. example: 190.0765 format: double type: number currency: description: "Price currency. [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217)." example: USD type: string required: - amount - currency type: object Contact: description: Represents a contact. example: phoneNumber: +16315551111 lastSeen: 2022-06-01T12:00:00Z createTime: 2022-06-01T12:00:00Z countryCode: US nickname: nickname id: "1693364594105000026" countryName: countryName email: support@example.com tags: - tags - tags - tags - tags - tags customAttributes: - name: name value: "{}" - name: name value: "{}" ownerEmail: support@example.com properties: id: description: Unique ID for the object. example: "1693364594105000026" maxLength: 255 type: string nickname: description: Contact's nickname. example: nickname type: string countryCode: description: "Two-letter country abbreviation. See [ISO 3166-1 alpha-2 country\ \ code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)." example: US type: string countryName: description: Full country name. type: string phoneNumber: description: "Unique Phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." example: +16315551111 type: string email: description: "The contact's email address.\nIf present, the email address\ \ must be unique." example: support@example.com type: string lastSeen: description: "The time at which the latest inbound message was created,\ \ formatted in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339).\ \ e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string tags: description: Contact's tags. items: maxLength: 50 type: string maxItems: 50 type: array createTime: description: "The time at which the contact was created, formatted in [RFC\ \ 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string customAttributes: description: Contact's custom attributes. items: $ref: '#/components/schemas/ContactCustomAttribute' type: array ownerEmail: description: The email address of the contact's owner. example: support@example.com maxLength: 250 type: string required: - id type: object ContactCustomAttribute: example: name: name value: "{}" properties: name: description: Name of the attribute that you've previously defined. type: string value: description: "Value of the attribute.\nIts data type depends on the format\ \ of the attribute you defined:\nFor Text, the `value` is a string with\ \ a maximum length of 250. \nFor Array, the `value` is an array of strings\ \ with a maximum length of 250.\nFor Number, the `value` is a signed decimal\ \ number.\nFor Boolean, the `value` is either `true` or `false`.\nFor\ \ Time, the `value` is a Unix timestamp in milliseconds.\nFor Long Text,\ \ the `value` is a string with a maximum length of 5000." type: object type: object ContactCreateRequest: description: Contains the properties of the contact to be created. example: phoneNumber: +16315551111 countryCode: US nickname: nickname email: support@example.com tags: - tags - tags - tags - tags - tags customAttributes: - name: name value: "{}" - name: name value: "{}" ownerEmail: support@example.com properties: nickname: description: "Contact's nickname. Maximum length: 250 characters." example: nickname maxLength: 250 type: string phoneNumber: description: "Unique Phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." example: +16315551111 type: string countryCode: description: "Two-letter country abbreviation. See [ISO 3166-1 alpha-2 country\ \ code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)." example: US type: string email: description: "Contact's email address.\nIf present, the email address must\ \ be unique." example: support@example.com maxLength: 250 type: string tags: description: "Contact's tags. Max items: 50. Max characters per tag: 50." items: description: "Tag. Maximum length: 50 characters." maxLength: 50 type: string maxItems: 50 type: array customAttributes: description: Contact's custom attributes. items: $ref: '#/components/schemas/ContactCustomAttribute' type: array ownerEmail: description: The email address of the contact's owner. example: support@example.com maxLength: 250 type: string required: - phoneNumber type: object ContactPage: allOf: - $ref: '#/components/schemas/Page' description: Represents a given page of contacts. example: items: - phoneNumber: +16315551111 lastSeen: 2022-06-01T12:00:00Z createTime: 2022-06-01T12:00:00Z countryCode: US nickname: nickname id: "1693364594105000026" countryName: countryName email: support@example.com tags: - tags - tags - tags - tags - tags customAttributes: - name: name value: "{}" - name: name value: "{}" ownerEmail: support@example.com - phoneNumber: +16315551111 lastSeen: 2022-06-01T12:00:00Z createTime: 2022-06-01T12:00:00Z countryCode: US nickname: nickname id: "1693364594105000026" countryName: countryName email: support@example.com tags: - tags - tags - tags - tags - tags customAttributes: - name: name value: "{}" - name: name value: "{}" ownerEmail: support@example.com properties: items: description: An array containing contact objects. items: $ref: '#/components/schemas/Contact' type: array type: object ContactUpdateRequest: description: Contains the properties of the contact to be updated. example: phoneNumber: +16315551111 countryCode: US nickname: nickname email: support@example.com tags: - tags - tags - tags - tags - tags customAttributes: - name: name value: "{}" - name: name value: "{}" ownerEmail: support@example.com properties: nickname: description: "Contact's nickname. Maximum length: 250 characters." example: nickname maxLength: 250 type: string phoneNumber: description: "Unique Phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." example: +16315551111 type: string countryCode: description: "Two-letter country abbreviation. See [ISO 3166-1 alpha-2 country\ \ code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)." example: US type: string email: description: "The contact's email address.\nIf present, the email address\ \ must be unique." example: support@example.com maxLength: 250 type: string tags: description: "Contact's tags. Maximum items: 50." items: description: "Tag. Maximum length: 50 characters." maxLength: 50 type: string maxItems: 50 type: array customAttributes: description: "Contact's custom attributes.\nIf present (i.e., not `null`),\ \ all previous attributes of this contact will be replaced." items: $ref: '#/components/schemas/ContactCustomAttribute' type: array ownerEmail: description: The email address of the contact's owner. example: support@example.com maxLength: 250 type: string type: object Email: example: cc: - address: team@example.com name: Support Team - address: team@example.com name: Support Team summary: This is a summary. totalRecipients: 3 bcc: - address: team@example.com name: Support Team - address: team@example.com name: Support Team totalPrice: 0.0085 subject: subject externalId: externalId createTime: 2022-06-01T12:00:00Z replyTo: - address: team@example.com name: Support Team - address: team@example.com name: Support Team from: address: team@example.com name: Support Team callbackUrl: https://httpbin.org/anything?tag=api-email currency: USD id: id to: - address: team@example.com name: Support Team - address: team@example.com name: Support Team contentType: null properties: id: description: Unique ID for the object. maxLength: 128 minLength: 6 type: string from: $ref: '#/components/schemas/Mailbox' to: description: The intended recipients' email addresses. items: $ref: '#/components/schemas/Mailbox' type: array cc: description: Recipients who will receive a copy of the email. items: $ref: '#/components/schemas/Mailbox' type: array bcc: description: Recipients who will receive a blind carbon copy of the email. items: $ref: '#/components/schemas/Mailbox' type: array replyTo: description: "If this field exists, then the reply should go to the addresses\ \ indicated in that field and not to the address(es) indicated in the\ \ `from` field." items: $ref: '#/components/schemas/Mailbox' type: array subject: description: "The email subject, which contains a short string identifying\ \ the topic of the message." maxLength: 255 type: string summary: description: "This is a summary of your email. Max length: 70." example: This is a summary. maxLength: 70 type: string contentType: $ref: '#/components/schemas/EmailContentType' externalId: description: "A unique string to reference the object. This can be an order\ \ number or similar, and can be used to reconcile the object with your\ \ internal systems." type: string callbackUrl: description: "Delivery report URL. You can provide a URL, and we will push\ \ the updated status report to your server in time. e.g., https://httpbin.org/anything?tag=api.\n\ Note: We recommend configuring Webhook Endpoints instead." example: https://httpbin.org/anything?tag=api-email type: string createTime: description: "The time at which this message was created, formatted in [RFC\ \ 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string totalRecipients: description: "Total recipients of this message, including `to`, `cc` and\ \ `bcc`." example: 3 format: int32 type: integer totalPrice: description: Total price of this message. example: 0.0085 format: double type: number currency: description: "Price currency. [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217)." example: USD type: string required: - id type: object EmailContentType: description: The MIME type of the email content (`text/html` or `text/plain`). Be aware that We won't count click and open events for the type `text/plain`. enum: - text/html - text/plain type: string x-enum-varnames: - TEXT_HTML - TEXT_PLAIN EmailDelivery: description: Represents an email delivery report. properties: emailId: description: Unique ID for the related email you've previously sent. maxLength: 128 minLength: 6 type: string recipientAddress: description: A recipient's email address. example: tom@example.com type: string status: description: "Delivery status of the email to the specific recipient address.\n\ - `sending`: The messaging request is accepted by our system.\n- `failed`:\ \ The message failed to be sent from our system.\n- `sent`: The message\ \ has been sent from our system.\n- `delivered`: Our system has received\ \ a delivery receipt indicating that message is delivered.\n- `undelivered`:\ \ Our system has received a delivery receipt indicating that message is\ \ not delivered." enum: - sending - failed - sent - delivered - undelivered example: failed type: string errorCode: description: Error code when the email is undeliverable. example: "402" type: string errorMessage: description: Error message when the email is undeliverable. example: Unsubscribes type: string externalId: description: The `externalId` you specified when you sent the email. type: string bizType: description: "This can be either empty or one of `email`, or `verify`. Defaults\ \ to `email`.\n- `email`: Indicates that the message is sent via the **Email**\ \ product.\n- `verify`: Indicates that the message is sent via the **Verify**\ \ product." example: email type: string verificationId: description: The verification ID. Included only when `bizType` is `verify`. example: VERIFICATION-ID type: string required: - emailId - recipientAddress type: object EmailSendRequest: example: cc: "cc1@example.com,Nick" summary: This is a summary. variables: - key: variables - key: variables bcc: "bcc1@example.com,Nick" subject: subject replyTo: replyTo externalId: externalId from: SupportTeam callbackUrl: https://httpbin.org/anything?tag=api-email to: "to1@example.com,Nick" contentType: null content: "This is a test message from #nick#." properties: from: description: "- The sender's email. Its domain should be one that has been\ \ registered and activated in your account.\n- The sender's email address\ \ is required while the sender's name is optional. For example, both `support@example.com`\ \ and `Sender` work." example: SupportTeam type: string to: description: "- The intended recipients' email addresses.\n- Supports a\ \ comma-separated list of one or more addresses. Max items: 100." example: "to1@example.com,Nick" type: string subject: description: "The email subject, which contains a short string identifying\ \ the topic of the message. Max length: 255." maxLength: 255 type: string content: description: "- The email body. Max size: 150 KB.\n- Variables in the form\ \ of `#var_1#` are supported, they should be used together with the `variables`\ \ parameter. Variable keys only support letters, digits, and the underline\ \ character (`_`).\n- You can use the [Test Templates](https://help.ycloud.com/en/articles/6006545)\ \ provided by YCloud for testing." example: "This is a test message from #nick#." type: string contentType: $ref: '#/components/schemas/EmailContentType' variables: description: "- The variable key-value pairs that will replace the variable\ \ placeholders in `content` for each recipient. Variable keys are those\ \ that are wrapped with `#` as placeholders (e.g., `#var_1#`) in `content`.\ \ The placeholders will be replaced by variable values when sending the\ \ email.\n- The size of the array must be the same as the number of recipients\ \ in `to`. Be aware that `cc` and `bcc` addresses are excluded, and they\ \ can not receive emails that contain variables.\n- This parameter's size\ \ will be calculated together with the parameter `content`. The whole\ \ size must not exceed 150 KB." items: additionalProperties: type: string description: Variable key-value pair. type: object type: array cc: description: Recipients who will receive a copy of the email. example: "cc1@example.com,Nick" type: string bcc: description: Recipients who will receive a blind carbon copy of the email. example: "bcc1@example.com,Nick" type: string replyTo: description: "If this field exists, then the reply should go to the addresses\ \ indicated in that field and not to the address(es) indicated in the\ \ `from` field." type: string summary: description: "This is a summary of your email. Max length: 70." example: This is a summary. maxLength: 70 type: string externalId: description: "A unique string to reference the object. This can be an order\ \ number or similar, and can be used to reconcile the object with your\ \ internal systems." type: string callbackUrl: description: "Delivery report URL. You can provide a URL, and we will push\ \ the updated status report to your server in time. e.g., https://httpbin.org/anything?tag=api.\n\ Note: We recommend configuring Webhook Endpoints instead." example: https://httpbin.org/anything?tag=api-email type: string required: - content - from - subject - to type: object Error: properties: status: description: "HTTP status code, [RFC 7231, Section 6](https://datatracker.ietf.org/doc/html/rfc7231#section-6).\ \ It conveys the HTTP status code used for the convenience of the consumer." example: 404 format: int32 pattern: "[45]\\d{2}" type: integer code: description: One of a server-defined error codes. Some `4xx` errors that could be handled programmatically include an error code that briefly explains the error reported. example: NOT_FOUND type: string message: description: A human-readable representation of the error. It is intended as an aid to developers and is not suitable for exposure to end users. example: The requested resource does not exist. type: string target: description: The target of the error. example: "" type: string docUrl: description: A URL to more information about the error. example: "" type: string requestId: description: Each API request has an associated request ID. It conveys the response header `YCloud-Request-ID` used for the convenience of the consumer. example: req_1KjtKI80IKoaJNa6n6p type: string whatsappApiError: $ref: '#/components/schemas/WhatsappApiError' required: - code - status type: object ErrorResponse: properties: error: $ref: '#/components/schemas/Error' required: - error type: object Event: description: "Represents a webhook event payload.\nEvery event contains certain\ \ common properties: `id`, `type`, `apiVersion`, `createTime`.\nEach event\ \ may also contain some properties unique to the event. For example, `sms`\ \ is returned when `type` is `sms.message.updated`." properties: id: description: Unique ID for the event. maxLength: 128 minLength: 6 type: string type: $ref: '#/components/schemas/EventType' apiVersion: description: The API version used to render this event. example: v2 type: string createTime: description: "The time at which this event was created, formatted in [RFC\ \ 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string emailDelivery: $ref: '#/components/schemas/EmailDelivery' sms: $ref: '#/components/schemas/Sms' smsInbound: $ref: '#/components/schemas/SmsInbound' voice: $ref: '#/components/schemas/Voice' whatsappBusinessAccount: $ref: '#/components/schemas/WhatsappBusinessAccount' whatsappInboundMessage: $ref: '#/components/schemas/WhatsappInboundMessage' whatsappMessage: $ref: '#/components/schemas/WhatsappMessage' whatsappPhoneNumber: $ref: '#/components/schemas/WhatsappPhoneNumber' whatsappTemplate: $ref: '#/components/schemas/WhatsappTemplate' required: - apiVersion - createTime - id - type type: object EventType: description: Type of event. enum: - email.delivery.updated - sms.message.updated - sms.inbound.received - voice.message.updated - whatsapp.business_account.deleted - whatsapp.business_account.reviewed - whatsapp.business_account.updated - whatsapp.inbound_message.received - whatsapp.message.updated - whatsapp.phone_number.deleted - whatsapp.phone_number.name_updated - whatsapp.phone_number.quality_updated - whatsapp.template.category_updated - whatsapp.template.quality_updated - whatsapp.template.reviewed type: string x-enum-descriptions: - "Occurs when an email delivery status is updated, and the status changes to\ \ `delivered` or `failed`." - "Occurs when an SMS message status is updated, and the status changes to `delivered`\ \ or `undelivered`." - "Occurs when an SMS inbound message is received, which means a user replies\ \ to your message." - "Occurs when a voice message status is updated, and the status changes to\ \ `delivered` or `undelivered`." - Occurs when a WhatsApp Business Account is deleted. - Occurs when a WhatsApp Business Account has been reviewed. - "Occurs when a policy violation happened, WhatsApp Business Account has been\ \ banned and more." - Occurs when a WhatsApp inbound message is received. - "Occurs when a WhatsApp outbound message status is updated, and the status\ \ changes to `sent`, `failed`, `delivered`, or `read`." - Occurs when a WhatsApp business phone number is deleted. - Occurs when a WhatsApp business phone number's name has been approved or rejected. - "Occurs when a WhatsApp business phone number's quality-related status is\ \ updated, and the status changes to `GREEN`, `YELLOW`, or `RED`." - Occurs when a WhatsApp template category is updated. - Occurs when a WhatsApp template quality rating is updated. - "Occurs when a WhatsApp template status is updated, and the status changes\ \ to `REJECTED`, `APPROVED`, `PAUSED`, `DISABLED`, or `IN_APPEAL`." Mailbox: description: Represents a mailbox. example: address: team@example.com name: Support Team properties: name: description: Name of the mailbox. example: Support Team type: string address: description: Address of the mailbox. example: team@example.com type: string type: object MetaBusinessAccountVerificationStatus: description: Current status of business verification of Meta Business Account which owns this WhatsApp Business Account. enum: - expired - failed - ineligible - not_verified - pending - pending_need_more_info - pending_submission - rejected - revoked - verified type: string Page: description: Represents a given page of items. properties: offset: description: "The position of the item this page starts from, zero-based.\ \ e.g., the 11th item is at offset 10." format: int32 minimum: 0 type: integer limit: description: "A limit on the number of items to be returned, between 1 and\ \ 100, defaults to 10." format: int32 minimum: 1 type: integer length: description: The actual number of items in the page. format: int32 minimum: 0 type: integer total: description: The total number of items. This field is returned only when the request parameter `includeTotal` is set to `true`. format: int32 minimum: 0 type: integer items: items: type: object type: array required: - length - limit - offset type: object PageCursor: description: A cursor object is returned only if the endpoint you requested supports cursor pagination. example: after: id:foo properties: after: description: "A cursor to fetch the next page in cursor pagination.\nFor\ \ example, if you make a list request, receive 100 objects and `cursor.after=id:foo`,\ \ your subsequent call can include `pageAfter=id:foo` in order to fetch\ \ the next page of the list.\nThis field is returned only if there are\ \ more items in the list." example: id:foo type: string type: object Sms: example: bizType: sms totalPrice: 0.0085 totalSegments: 1 errorCode: errorCode externalId: externalId updateTime: 2022-03-01T12:00:00Z senderId: Brand regionCode: US createTime: 2022-03-01T12:00:00Z currency: USD callbackUrl: https://httpbin.org/anything?tag=api-sms id: id to: +16315551111 text: Your verification code is 123456. verificationId: VERIFICATION-ID status: sent properties: id: description: Unique ID for the object. maxLength: 128 minLength: 6 type: string to: description: "The recipient's phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." example: +16315551111 type: string text: description: The text of this message. example: Your verification code is 123456. type: string senderId: description: Sender ID to be used. example: Brand type: string regionCode: description: "[ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)" example: US type: string totalSegments: description: "Number of message segments. See [SMS character encoding](https://help.ycloud.com/en/articles/3083427-sms-character-encoding)\ \ for more info." example: 1 format: int32 minimum: 1 type: integer totalPrice: description: Total price of this message. example: 0.0085 format: double type: number currency: description: "Price currency. [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217)." example: USD type: string status: description: "Delivery status. One of `accepted`, `sent`, `delivered`, `undelivered`,\ \ or `failed`.\n- `accepted`: The messaging request is accepted by our\ \ system.\n- `failed`: The message failed to be sent from our system.\n\ - `sent`: The message has been sent from our system.\n- `delivered`: Our\ \ system has received a delivery receipt indicating that message is delivered.\n\ - `undelivered`: Our system has received a delivery receipt indicating\ \ that message is not delivered." enum: - accepted - failed - sent - delivered - undelivered example: sent type: string errorCode: description: Error code when the message is undeliverable. type: string createTime: description: "The time at which this message was created, formatted in [RFC\ \ 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-03-01T12:00:00.000Z`." example: 2022-03-01T12:00:00Z format: date-time type: string updateTime: description: "The time at which the delivery report for this message was\ \ updated, formatted in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339).\ \ e.g., `2022-03-01T12:00:00.000Z`." example: 2022-03-01T12:00:00Z format: date-time type: string externalId: description: "A unique string to reference the object. This can be an order\ \ number or similar, and can be used to reconcile the object with your\ \ internal systems." type: string callbackUrl: description: "Delivery report URL. You can provide a URL, and we will push\ \ the updated status report to your server in time. e.g., https://httpbin.org/anything?tag=api.\n\ Note: We recommend configuring Webhook Endpoints instead." example: https://httpbin.org/anything?tag=api-sms type: string bizType: description: "This can be either empty or one of `sms`, or `verify`. Defaults\ \ to `sms`.\n- `sms`: Indicates that the message is sent via the **SMS**\ \ product.\n- `verify`: Indicates that the message is sent via the **Verify**\ \ product." example: sms type: string verificationId: description: The verification ID. Included only when `bizType` is `verify`. example: VERIFICATION-ID type: string required: - id - to type: object SmsInbound: description: "Represents an inbound SMS message, which means a user replies\ \ to your message." properties: id: description: Unique ID of the message. type: string from: description: "The user's phone number who sent the message to your registered\ \ sender ID, formatted in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." example: +16315551111 type: string to: description: "The receiver's phone number, which is one of your registered\ \ Sender IDs." type: string text: description: The text of this message. type: string sendTime: description: "The time at which this message was sent, formatted in [RFC\ \ 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string type: object SmsPage: allOf: - $ref: '#/components/schemas/Page' description: Represents a given page of SMS messages. example: items: - bizType: sms totalPrice: 0.0085 totalSegments: 1 errorCode: errorCode externalId: externalId updateTime: 2022-03-01T12:00:00Z senderId: Brand regionCode: US createTime: 2022-03-01T12:00:00Z currency: USD callbackUrl: https://httpbin.org/anything?tag=api-sms id: id to: +16315551111 text: Your verification code is 123456. verificationId: VERIFICATION-ID status: sent - bizType: sms totalPrice: 0.0085 totalSegments: 1 errorCode: errorCode externalId: externalId updateTime: 2022-03-01T12:00:00Z senderId: Brand regionCode: US createTime: 2022-03-01T12:00:00Z currency: USD callbackUrl: https://httpbin.org/anything?tag=api-sms id: id to: +16315551111 text: Your verification code is 123456. verificationId: VERIFICATION-ID status: sent properties: items: description: An array containing SMS objects. items: $ref: '#/components/schemas/Sms' type: array type: object UnsubscriberPage: allOf: - $ref: '#/components/schemas/Page' description: Represents a given page of unsubscriber objects. example: cursor: after: id:foo items: - regionCode: US createTime: 2022-06-01T12:00:00Z channel: null type: null customer: +16315551111 - regionCode: US createTime: 2022-06-01T12:00:00Z channel: null type: null customer: +16315551111 properties: items: description: An array containing unsubscriber objects. items: $ref: '#/components/schemas/Unsubscriber' type: array cursor: $ref: '#/components/schemas/PageCursor' type: object Verification: example: smsFallback: unsupportedReason: SENDER_ID_UNAVAILABLE unsupportedDetail: This Sender ID is not registered. supported: true totalPrice: 0.0085 smsFallbackEnabled: true channel: sms externalId: externalId currency: USD id: ve6j7n8i to: +16315551111 status: null sendTime: 2022-06-01T12:00:00Z properties: id: description: ID of the verification. example: ve6j7n8i type: string status: $ref: '#/components/schemas/VerificationStatus' to: description: Recipient of the verification. example: +16315551111 type: string channel: $ref: '#/components/schemas/VerificationChannel' sendTime: description: "The time at which this verification was sent, formatted in\ \ [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string totalPrice: description: Total price of this verification. example: 0.0085 format: double type: number currency: description: "Price currency. [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217)." example: USD type: string smsFallbackEnabled: description: "Whether sms fallback is enabled or not.\nApplicable when `channel`\ \ is `whatsapp`. If enabled, we will try to send the verification code\ \ via sms when the WhatsApp message is failed." type: boolean smsFallback: $ref: '#/components/schemas/VerificationFallback' externalId: description: "A unique string to reference the object. This can be an order\ \ number or similar, and can be used to reconcile the object with your\ \ internal systems." type: string required: - id type: object VerificationChannel: description: "Supports several independent channels for verification:\n- `sms`:\ \ Sends an SMS message with a verification code.\n- `voice`: Makes a voice\ \ call with a verification code.\n- `email_code`: Sends an email with a verification\ \ code.\n- `whatsapp`: Sends a WhatsApp message with a verification code." enum: - sms - voice - email_code - whatsapp example: sms type: string VerificationCheck: example: valid: false channel: sms id: vc8f92c20 to: +16315551111 status: null properties: id: description: ID of this verification check. example: vc8f92c20 type: string valid: description: Whether the verification code is valid for this check. example: false type: boolean status: $ref: '#/components/schemas/VerificationStatus' to: description: "The recipient's phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format or email address." example: +16315551111 type: string channel: $ref: '#/components/schemas/VerificationChannel' required: - id - valid type: object VerificationCheckRequest: example: code: "123456" to: +16315551111 verificationId: vid properties: verificationId: description: ID of the verification to be checked. One of `verificationId` or `to` is required. example: vid type: string to: description: The recipient's phone number or email address. One of `verificationId` or `to` is required. example: +16315551111 type: string code: description: The verification to be checked. example: "123456" type: string type: object VerificationFallback: description: "Contains information about verification fallback. For example,\ \ you can enable sms fallback for WhatsApp verification messages." example: unsupportedReason: SENDER_ID_UNAVAILABLE unsupportedDetail: This Sender ID is not registered. supported: true properties: supported: description: "Whether this fallback you requested is supported. If `false`\ \ is returned, it means that there are errors for this fallback, and this\ \ fallback will not be triggered." type: boolean unsupportedReason: description: "The reason why the fallback is unsupported, e.g, `PARAM_INVALID`,\ \ `SMS_SIGNATURE_UNAVAILABLE`, `SENDER_ID_UNAVAILABLE`, or `MESSAGING_REGION_UNSUPPORTED`." example: SENDER_ID_UNAVAILABLE type: string unsupportedDetail: description: The detail message why the fallback is unsupported. example: This Sender ID is not registered. type: string type: object VerificationSendRequest: example: senderId: Brand code: "123456" signature: Brand channel: sms externalId: externalId language: en to: +16315551111 properties: channel: $ref: '#/components/schemas/VerificationChannel' to: description: "The recipient's phone number or email address depending on\ \ `channel`.\n- Phone number: In [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format. Applicable when `channel` is `sms` or `voice`.\n- Email address:\ \ For example, `tom@example.com`. Applicable when `channel` is `email_code`." example: +16315551111 type: string code: description: "Verification code to be sent. This field is optional. If not\ \ provided, we will automatically generate a code." example: "123456" maxLength: 8 minLength: 4 type: string senderId: description: "[Sender ID](https://help.ycloud.com/en/articles/3080386) to\ \ be used." example: Brand type: string signature: description: "This parameter is only required for Chinese mainland SMS messages.\ \ You must specify an approved signature such as `Brand`. It will be added\ \ to the beginning of SMS body and wrapped with `【】`, e.g. `【Brand】Your\ \ verification code is 123456`." example: Brand type: string language: description: "[ISO 639 Language Code](https://www.iso.org/iso-639-language-codes.html).\ \ If not specified, language will be set as `en` by default. Notably,\ \ in certain countries or regions, language will be automatically set\ \ as the local language due to the regional restrictions.\nApplicable\ \ languages:\n`ar`: Arabic\n`de`: German\n`en`: English\n`es`: Spanish\n\ `fr`: French\n`id`: Indonesian\n`it`: Italian\n`pt_BR`: Portuguese\n`ru`:\ \ Russian\n`tr`: Turkish\n`vi`: Vietnamese\n`zh_CN`: Simplified Chinese\n\ `zh_HK`: Traditional Chinese" example: en type: string externalId: description: "A unique string to reference the object. This can be an order\ \ number or similar, and can be used to reconcile the object with your\ \ internal systems.\nIf present, this value will also be attached to the\ \ `externalId` of message objects." type: string required: - channel - to type: object VerificationStatus: description: "Status of the verification.\n- `pending`: The verification message\ \ (SMS, Voice, etc.) is sent, waiting to be checked. This happens when you\ \ call the 'Start a verification' API successfully.\n- `approved`: The verification\ \ has been successfully checked. A `pending` verification status changes to\ \ `approved` when you call the 'Check a verification' API and receive a response\ \ with the `valid` parameter is `true`. An approved verification cannot be\ \ checked anymore.\n- `blocked`: The verification is blocked by user-defined\ \ rules such as denylist, and geographical permission restrictions. A blocked\ \ verification cannot be checked.\n- `expired`: The verification has expired\ \ and cannot be checked anymore.\n- `undelivered`: Our system has received\ \ a delivery receipt indicating that the verification message was not delivered.\ \ An undelivered verification cannot be checked anymore." enum: - pending - approved - blocked - expired - undelivered type: string SmsSendRequest: example: senderId: Brand signature: Brand externalId: externalId callbackUrl: https://httpbin.org/anything?tag=api-sms to: +16315551111 text: Your verification code is 123456. properties: to: description: "The recipient's phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." example: +16315551111 type: string text: description: The text of this message. example: Your verification code is 123456. type: string senderId: description: "[Sender ID](https://help.ycloud.com/en/articles/3080386) to\ \ be used." example: Brand type: string signature: description: "This parameter is only required for Chinese mainland SMS messages.\ \ You must specify an approved signature such as `Brand`. It will be added\ \ to the beginning of SMS body and wrapped with `【】`, e.g. `【Brand】Your\ \ verification code is 123456`." example: Brand type: string externalId: description: "A unique string to reference the object. This can be an order\ \ number or similar, and can be used to reconcile the object with your\ \ internal systems." type: string callbackUrl: description: "Delivery report URL. You can provide a URL, and we will push\ \ the updated status report to your server in time. e.g., https://httpbin.org/anything?tag=api.\n\ Note: We recommend configuring Webhook Endpoints instead." example: https://httpbin.org/anything?tag=api-sms type: string required: - text - to type: object Unsubscriber: description: |- An unsubscriber is a configuration item representing that customers opt out of receiving messages from your business. **A customer and a channel form a unique identifier for an unsubscriber.** example: regionCode: US createTime: 2022-06-01T12:00:00Z channel: null type: null customer: +16315551111 properties: type: $ref: '#/components/schemas/UnsubscriberType' customer: description: "The customer who has opted out.\nFor `type=PHONE_NUMBER`,\ \ it should be a phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." example: +16315551111 type: string channel: $ref: '#/components/schemas/UnsubscriberChannel' regionCode: description: "The customer's region code, formatted in [ISO 3166-1 alpha-2\ \ country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)." example: US type: string createTime: description: "The time at which this object was created, formatted in [RFC\ \ 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string type: object UnsubscriberCreateRequest: example: regionCode: US channel: null type: null customer: +16315551111 properties: type: $ref: '#/components/schemas/UnsubscriberType' customer: description: "The customer who has opted out.\nFor `type=PHONE_NUMBER`,\ \ it should be a phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." example: +16315551111 type: string channel: $ref: '#/components/schemas/UnsubscriberChannel' regionCode: description: "The customer's region code, formatted in [ISO 3166-1 alpha-2\ \ country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)." example: US type: string required: - channel - customer - type type: object UnsubscriberChannel: description: "Channel of unsubscriber.\n- `whatsapp`: Indicates that the customer\ \ opts out of receiving WhatsApp messages from your business." enum: - whatsapp type: string UnsubscriberType: description: "Type of unsubscriber.\n- `PHONE_NUMBER`: Indicates that the `customer`\ \ is a phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format." enum: - PHONE_NUMBER type: string Voice: example: bizType: voice totalPrice: 0.05 totalSegments: 1 errorCode: errorCode externalId: externalId language: en updateTime: 2022-03-01T12:00:00Z verificationCode: "123456" regionCode: US createTime: 2022-03-01T12:00:00Z currency: USD callbackUrl: https://httpbin.org/anything?tag=api-voice id: id to: +16315551111 verificationId: VERIFICATION-ID status: sent properties: id: description: Unique ID for the object. maxLength: 128 minLength: 6 type: string to: description: "The recipient's phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." example: +16315551111 type: string verificationCode: description: "The verification code to be sent, 4 to 6 digits." example: "123456" type: string language: description: "[ISO 639 Language Code](https://www.iso.org/iso-639-language-codes.html)." example: en type: string regionCode: description: "[ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)." example: US type: string totalSegments: description: Number of message segments. It's always 1 for voice calls. example: 1 format: int32 minimum: 1 type: integer totalPrice: description: Total price of this message. example: 0.05 format: double type: number currency: description: "Price currency. [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217)." example: USD type: string status: description: "Delivery status. One of `accepted`, `sent`, `delivered`, `undelivered`,\ \ or `failed`.\n- `accepted`: The messaging request is accepted by our\ \ system.\n- `failed`: The message failed to be sent from our system.\n\ - `sent`: The message has been sent from our system.\n- `delivered`: Our\ \ system has received a delivery receipt indicating that message is delivered.\n\ - `undelivered`: Our system has received a delivery receipt indicating\ \ that message is not delivered." enum: - accepted - failed - sent - delivered - undelivered example: sent type: string errorCode: description: Error code when the message is undeliverable. type: string createTime: description: "The time at which this message was created, formatted in [RFC\ \ 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-03-01T12:00:00.000Z`." example: 2022-03-01T12:00:00Z format: date-time type: string updateTime: description: "The time at which the delivery report for this message was\ \ updated, formatted in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339).\ \ e.g., `2022-03-01T12:00:00.000Z`." example: 2022-03-01T12:00:00Z format: date-time type: string externalId: description: "A unique string to reference the object. This can be an order\ \ number or similar, and can be used to reconcile the object with your\ \ internal systems." type: string callbackUrl: description: "Delivery report URL. You can provide a URL, and we will push\ \ the updated status report to your server in time. e.g., https://httpbin.org/anything?tag=api.\n\ Note: We recommend configuring Webhook Endpoints instead." example: https://httpbin.org/anything?tag=api-voice type: string bizType: description: "This can be either empty or one of `voice`, or `verify`. Defaults\ \ to `voice`.\n- `voice`: Indicates that the message is sent via the **Voice**\ \ product.\n- `verify`: Indicates that the message is sent via **Verify**\ \ product." example: voice type: string verificationId: description: The verification ID. Included only when `bizType` is `verify`. example: VERIFICATION-ID type: string required: - id - to type: object VoicePage: allOf: - $ref: '#/components/schemas/Page' description: Represents a given page of Voice Calls. example: items: - bizType: voice totalPrice: 0.05 totalSegments: 1 errorCode: errorCode externalId: externalId language: en updateTime: 2022-03-01T12:00:00Z verificationCode: "123456" regionCode: US createTime: 2022-03-01T12:00:00Z currency: USD callbackUrl: https://httpbin.org/anything?tag=api-voice id: id to: +16315551111 verificationId: VERIFICATION-ID status: sent - bizType: voice totalPrice: 0.05 totalSegments: 1 errorCode: errorCode externalId: externalId language: en updateTime: 2022-03-01T12:00:00Z verificationCode: "123456" regionCode: US createTime: 2022-03-01T12:00:00Z currency: USD callbackUrl: https://httpbin.org/anything?tag=api-voice id: id to: +16315551111 verificationId: VERIFICATION-ID status: sent properties: items: description: An array containing Voice objects. items: $ref: '#/components/schemas/Voice' type: array type: object VoiceSendRequest: example: externalId: externalId language: en callbackUrl: https://httpbin.org/anything?tag=api-voice to: +16315551111 verificationCode: "123456" properties: to: description: "The recipient's phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." example: +16315551111 type: string verificationCode: description: "The verification code to be sent, 4 to 6 digits." example: "123456" type: string language: description: "[ISO 639 Language Code](https://www.iso.org/iso-639-language-codes.html).\ \ If not specified, language will be set as `en` by default. Notably,\ \ in certain countries or regions, language will be automatically set\ \ as the local language due to the regional restrictions.\nApplicable\ \ languages:\n`ar`: Arabic\n`de`: German\n`en`: English\n`es`: Spanish\n\ `fr`: French\n`id`: Indonesian\n`it`: Italian\n`pt`: Portuguese\n`ru`:\ \ Russian\n`tr`: Turkish\n`vi`: Vietnamese\n`zh`: Chinese" example: en type: string externalId: description: "A unique string to reference the object. This can be an order\ \ number or similar, and can be used to reconcile the object with your\ \ internal systems." type: string callbackUrl: description: "Delivery report URL. You can provide a URL, and we will push\ \ the updated status report to your server in time. e.g., https://httpbin.org/anything?tag=api.\n\ Note: We recommend configuring Webhook Endpoints instead." example: https://httpbin.org/anything?tag=api-voice type: string required: - to - verificationCode type: object WebhookEndpoint: example: createTime: 2022-06-01T12:00:00Z enabledEvents: - email.delivery.updated - sms.message.updated - voice.message.updated description: My first webhook endpoint. updateTime: 2022-06-01T12:00:00Z id: wh627c8640675de8fc689ab9d9 secret: whsec_abc4147651944f02baf3be1eb45d33f1 url: https://httpbin.org/anything?tag=api status: null properties: id: description: Unique ID for the object. example: wh627c8640675de8fc689ab9d9 type: string url: description: The URL of the webhook endpoint. example: https://httpbin.org/anything?tag=api type: string enabledEvents: description: The list of events to enable for this endpoint. example: - email.delivery.updated - sms.message.updated - voice.message.updated items: type: string type: array description: description: An optional description of what the webhook is used for. example: My first webhook endpoint. type: string status: $ref: '#/components/schemas/WebhookEndpointStatus' secret: description: "The endpoint's secret, used to generate webhook signatures." example: whsec_abc4147651944f02baf3be1eb45d33f1 type: string createTime: description: "The time at which this object was created, formatted in [RFC\ \ 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string updateTime: description: "The time at which this object was updated, formatted in [RFC\ \ 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string required: - id type: object WebhookEndpointCreateRequest: example: enabledEvents: - null - null description: My first webhook endpoint. url: https://httpbin.org/anything?tag=api status: null properties: url: description: The URL of the webhook endpoint. example: https://httpbin.org/anything?tag=api maxLength: 500 type: string enabledEvents: description: The list of events to enable for this endpoint. items: $ref: '#/components/schemas/EventType' type: array description: description: An optional description of what the webhook is used for. example: My first webhook endpoint. maxLength: 400 type: string status: $ref: '#/components/schemas/WebhookEndpointStatus' required: - enabledEvents - url type: object WebhookEndpointPage: allOf: - $ref: '#/components/schemas/Page' description: Represents a given page of webhook endpoints. example: items: - createTime: 2022-06-01T12:00:00Z enabledEvents: - email.delivery.updated - sms.message.updated - voice.message.updated description: My first webhook endpoint. updateTime: 2022-06-01T12:00:00Z id: wh627c8640675de8fc689ab9d9 secret: whsec_abc4147651944f02baf3be1eb45d33f1 url: https://httpbin.org/anything?tag=api status: null - createTime: 2022-06-01T12:00:00Z enabledEvents: - email.delivery.updated - sms.message.updated - voice.message.updated description: My first webhook endpoint. updateTime: 2022-06-01T12:00:00Z id: wh627c8640675de8fc689ab9d9 secret: whsec_abc4147651944f02baf3be1eb45d33f1 url: https://httpbin.org/anything?tag=api status: null properties: items: description: An array containing webhook endpoint objects. items: $ref: '#/components/schemas/WebhookEndpoint' type: array type: object WebhookEndpointStatus: description: "Webhook endpoint status.\n- `active`: Indicates that the webhook\ \ endpoint is active, and will receive notifications of events monitored.\n\ - `disabled`: Indicates that the webhook endpoint is disabled, and will not\ \ receive notifications.\n- `pending`: Indicates that the webhook endpoint\ \ is pending, and will not receive notifications. If a webhook endpoint fails\ \ to receive notifications frequently, it changes to pending." enum: - active - disabled - pending type: string WebhookEndpointUpdateRequest: example: enabledEvents: - null - null description: My first webhook endpoint. url: https://httpbin.org/anything?tag=api status: null properties: url: description: The URL of the webhook endpoint. example: https://httpbin.org/anything?tag=api maxLength: 500 type: string enabledEvents: description: The list of events to enable for this endpoint. items: $ref: '#/components/schemas/EventType' type: array description: description: An optional description of what the webhook is used for. example: My first webhook endpoint. maxLength: 400 type: string status: $ref: '#/components/schemas/WebhookEndpointStatus' type: object WhatsappApiError: description: "The original error object returned by WhatsApp. See [Handling\ \ Errors](https://developers.facebook.com/docs/graph-api/guides/error-handling),\ \ [Cloud API Error Codes](https://developers.facebook.com/docs/whatsapp/cloud-api/support/error-codes)." example: error_user_title: Message Cannot Be Submitted code: "200002" error_subcode: "2388109" message: HSM Template creation failed type: OAuthException fbtrace_id: AVGjJ7ia2zJkrHG error_user_msg: This message template cannot be created. error_data: "{}" properties: message: description: A human-readable description of the error. example: HSM Template creation failed type: string code: description: An error code. example: "200002" type: string type: description: Error type. example: OAuthException type: string error_subcode: description: Additional code about the error. example: "2388109" type: string error_user_msg: description: The message to display to the user. The language of the message is based on the locale of the API request. example: This message template cannot be created. type: string error_user_title: description: "The title of the dialog, if shown. The language of the message\ \ is based on the locale of the API request." example: Message Cannot Be Submitted type: string fbtrace_id: description: "Internal support identifier. When reporting a bug related\ \ to a Graph API call, include the fbtrace_id to help us find log data\ \ for debugging." example: AVGjJ7ia2zJkrHG type: string error_data: description: "Additional data about the error. A string or map.\n- For template\ \ APIs, this field is a string describing the reason for the error. \n\ - For message APIs, this field is a map with property `details` describing\ \ the reason for the error." type: object required: - code - message type: object WhatsappAuthIntlRateEligibilityCountry: description: "Starting June 1, 2024, we are updating our authentication rate\ \ card and introducing a new authentication-international rate. This rate\ \ will apply in the the following countries:\n- June 1, 2024 – Indonesia (country\ \ calling code +62, country code `ID`)\n- July 1, 2024 – India (country calling\ \ code +91, country code `IN`)\n\nSee also [Authentication-International Rates](https://developers.facebook.com/docs/whatsapp/pricing/authentication-international-rates)." example: countryCode: IN startTime: 2024-07-01T00:00:00Z properties: countryCode: description: "[ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)." example: IN type: string startTime: description: "Date when newly-opened authentication conversations are subject\ \ to authentication-international rates, formatted in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339).\ \ e.g., `2024-07-01T00:00:00.000Z`." example: 2024-07-01T00:00:00Z format: date-time type: string type: object WhatsappBusinessAccount: description: "Represents a specific [WhatsApp Business Account (WABA)](https://developers.facebook.com/docs/whatsapp/overview/business-accounts)." example: ownershipType: ownershipType country: country primaryFundingId: primaryFundingId decision: null businessVerificationStatus: null authIntlRateEligibilityCountries: - countryCode: IN startTime: 2024-07-01T00:00:00Z - countryCode: IN startTime: 2024-07-01T00:00:00Z restrictions: - restrictionType: RESTRICTED_ADD_PHONE_NUMBER_ACTION expiration: 2022-06-01T12:00:00Z - restrictionType: RESTRICTED_ADD_PHONE_NUMBER_ACTION expiration: 2022-06-01T12:00:00Z banDate: "December 9, 2022" messageTemplateNamespace: messageTemplateNamespace banState: null accountReviewStatus: null paymentMethodAttached: true violationType: SCAM updateEvent: null purchaseOrderNumber: purchaseOrderNumber name: name timezoneId: "1" currency: currency id: id primaryBusinessLocation: US properties: id: description: WhatApp Business Account ID. type: string name: description: User-friendly name to differentiate WhatsApp Business Accounts. type: string currency: description: The currency in which the payment transactions for the WhatsApp Business Account will be processed. type: string messageTemplateNamespace: description: Namespace string for the message templates that belong to the WhatsApp Business Account. type: string accountReviewStatus: $ref: '#/components/schemas/WhatsappBusinessAccountReviewStatus' businessVerificationStatus: $ref: '#/components/schemas/MetaBusinessAccountVerificationStatus' country: description: Country of the WhatsApp Business Account's owning Meta Business account. type: string ownershipType: description: Ownership type of the WhatsApp Business Account. type: string paymentMethodAttached: description: Whether we have attached a payment method to the WhatsApp Business Account. type: boolean primaryFundingId: description: Primary funding ID for the WhatsApp Business Account paid service. type: string purchaseOrderNumber: description: The purchase order number supplied by the business for payment management purposes. type: string timezoneId: description: "The timezone ID of the WhatsApp Business Account. See [Timezone\ \ IDs](https://developers.facebook.com/docs/marketing-api/reference/ad-account/timezone-ids)." example: "1" type: string decision: $ref: '#/components/schemas/WhatsappReviewDecision' updateEvent: $ref: '#/components/schemas/WhatsappBusinessAccountUpdateEventEnum' banState: $ref: '#/components/schemas/WhatsappBusinessAccountBanState' banDate: description: The date when the WABA is banned. example: "December 9, 2022" type: string violationType: description: "Used to report violations imposed on the WABA.\nSee also [WhatsApp\ \ Business Platform Policy Violations](https://developers.facebook.com/docs/whatsapp/overview/policy-enforcement/violations)." example: SCAM type: string restrictions: description: "Used to report restrictions imposed on the WABA, when that\ \ WABA violates [WhatsApp Business Platform policies](https://developers.facebook.com/docs/whatsapp/overview/policy-enforcement)." items: $ref: '#/components/schemas/WhatsappBusinessAccountRestrictionInfo' type: array authIntlRateEligibilityCountries: description: "Starting June 1, 2024, we are updating our authentication\ \ rate card and introducing a new authentication-international rate. This\ \ rate will apply in the the following countries:\n- June 1, 2024 – Indonesia\ \ (country calling code +62, country code `ID`)\n- July 1, 2024 – India\ \ (country calling code +91, country code `IN`)\n\nSee also [Authentication-International\ \ Rates](https://developers.facebook.com/docs/whatsapp/pricing/authentication-international-rates)." items: $ref: '#/components/schemas/WhatsappAuthIntlRateEligibilityCountry' type: array primaryBusinessLocation: description: "Your primary business location is the country where your business\ \ is based. It will appear in the Business Manager under the Primary Business\ \ Location field starting May 1, 2024.\n[ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)." example: US type: string type: object WhatsappBusinessAccountBanState: description: The ban state of the WhatsApp Business Account. enum: - SCHEDULE_FOR_DISABLE - DISABLE - REINSTATE type: string WhatsappBusinessAccountPage: allOf: - $ref: '#/components/schemas/Page' description: Represents a given page of WhatsApp Business Accounts. example: items: - ownershipType: ownershipType country: country primaryFundingId: primaryFundingId decision: null businessVerificationStatus: null authIntlRateEligibilityCountries: - countryCode: IN startTime: 2024-07-01T00:00:00Z - countryCode: IN startTime: 2024-07-01T00:00:00Z restrictions: - restrictionType: RESTRICTED_ADD_PHONE_NUMBER_ACTION expiration: 2022-06-01T12:00:00Z - restrictionType: RESTRICTED_ADD_PHONE_NUMBER_ACTION expiration: 2022-06-01T12:00:00Z banDate: "December 9, 2022" messageTemplateNamespace: messageTemplateNamespace banState: null accountReviewStatus: null paymentMethodAttached: true violationType: SCAM updateEvent: null purchaseOrderNumber: purchaseOrderNumber name: name timezoneId: "1" currency: currency id: id primaryBusinessLocation: US - ownershipType: ownershipType country: country primaryFundingId: primaryFundingId decision: null businessVerificationStatus: null authIntlRateEligibilityCountries: - countryCode: IN startTime: 2024-07-01T00:00:00Z - countryCode: IN startTime: 2024-07-01T00:00:00Z restrictions: - restrictionType: RESTRICTED_ADD_PHONE_NUMBER_ACTION expiration: 2022-06-01T12:00:00Z - restrictionType: RESTRICTED_ADD_PHONE_NUMBER_ACTION expiration: 2022-06-01T12:00:00Z banDate: "December 9, 2022" messageTemplateNamespace: messageTemplateNamespace banState: null accountReviewStatus: null paymentMethodAttached: true violationType: SCAM updateEvent: null purchaseOrderNumber: purchaseOrderNumber name: name timezoneId: "1" currency: currency id: id primaryBusinessLocation: US properties: items: description: An array containing WhatsApp Business Account objects. items: $ref: '#/components/schemas/WhatsappBusinessAccount' type: array type: object WhatsappBusinessAccountRestrictionInfo: description: "Used to report restrictions imposed on a specific WABA, when that\ \ WABA violates [WhatsApp Business Platform policies](https://developers.facebook.com/docs/whatsapp/overview/policy-enforcement)." example: restrictionType: RESTRICTED_ADD_PHONE_NUMBER_ACTION expiration: 2022-06-01T12:00:00Z properties: restrictionType: description: Restriction type. enum: - RESTRICTED_ADD_PHONE_NUMBER_ACTION - RESTRICTED_BIZ_INITIATED_MESSAGING - RESTRICTED_CUSTOMER_INITIATED_MESSAGING type: string expiration: description: "The time at which this restriction expires, formatted in [RFC\ \ 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string type: object WhatsappBusinessAccountReviewStatus: description: WhatsApp Business Account review status. enum: - PENDING - APPROVED - REJECTED type: string WhatsappBusinessAccountUpdateEventEnum: description: "Indicates the update event type of the WABA when a notification\ \ is sent to you to report a [policy violation](https://developers.facebook.com/docs/whatsapp/overview/policy-enforcement),\ \ a WABA has been banned and more.\n- `DISABLED_UPDATE`: WhatsApp Business\ \ Account Banned.\n- `ACCOUNT_RESTRICTION`: WhatsApp Business Account Restricted\ \ Due To Policy Violations.\n- `ACCOUNT_VIOLATION`: WhatsApp Business Account\ \ Violates Policy." enum: - DISABLED_UPDATE - ACCOUNT_RESTRICTION - ACCOUNT_VIOLATION type: string WhatsappCommerceSettings: description: WhatsApp business phone number's commerce settings. example: isCartEnabled: true id: id isCatalogVisible: true properties: id: description: Unique ID for the object. type: string isCartEnabled: description: "When enabled, cart-related buttons appear in the conversation,\ \ catalog, and product details views.\nWhen the cart is disabled, customers\ \ can see products and their details, but all cart related buttons will\ \ not appear in any view." type: boolean isCatalogVisible: description: "When enabled, the catalog storefront icon and catalog-related\ \ buttons appear in conversation and business profile views.\nWhen the\ \ catalog is disabled, the storefront icon and catalog-related buttons\ \ will not appear in any views and the catalog preview with thumbnails\ \ will not appear in the business profile view." type: boolean type: object WhatsappCommerceSettingsUpdateRequest: example: isCartEnabled: true isCatalogVisible: true properties: isCartEnabled: description: "When enabled, cart-related buttons appear in the conversation,\ \ catalog, and product details views.\nWhen the cart is disabled, customers\ \ can see products and their details, but all cart related buttons will\ \ not appear in any view." type: boolean isCatalogVisible: description: "When enabled, the catalog storefront icon and catalog-related\ \ buttons appear in conversation and business profile views.\nWhen the\ \ catalog is disabled, the storefront icon and catalog-related buttons\ \ will not appear in any views and the catalog preview with thumbnails\ \ will not appear in the business profile view." type: boolean type: object WhatsappConversation: description: "WhatsApp defines a conversation as a 24-hour session of messaging\ \ between a person and a business.\nSee also [Conversation-Based Pricing](https://developers.facebook.com/docs/whatsapp/pricing)." example: originType: null expireTime: 2022-06-01T12:00:00Z id: id type: null properties: id: description: Unique ID for the object. type: string type: $ref: '#/components/schemas/WhatsappConversationType' originType: $ref: '#/components/schemas/WhatsappConversationOriginType' expireTime: description: "Date when the conversation expires, formatted in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339).\ \ e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string type: object WhatsappConversationOriginType: description: "Indicates [conversation category](https://developers.facebook.com/docs/whatsapp/pricing#conversation-categories).\ \ This can also be referred to as a conversation entry point.\n- `referral_conversion`:\ \ Indicates a [free entry point conversation](https://developers.facebook.com/docs/whatsapp/pricing#free-entry-point-conversations).\n\ - `authentication`: Indicates the conversation was opened by a business sending\ \ template categorized as `AUTHENTICATION` to the customer. This applies any\ \ time it has been more than 24 hours since the last customer message.\n-\ \ `marketing`: Indicates the conversation was opened by a business sending\ \ template categorized as `MARKETING` to the customer. This applies any time\ \ it has been more than 24 hours since the last customer message.\n- `utility`:\ \ Indicates the conversation was opened by a business sending template categorized\ \ as `UTILITY` to the customer. This applies any time it has been more than\ \ 24 hours since the last customer message.\n- `service`: Indicates that the\ \ conversation opened by a business replying to a customer within a [customer\ \ service window](https://developers.facebook.com/docs/whatsapp/pricing#customer-service-windows)." enum: - referral_conversion - authentication - marketing - utility - service type: string WhatsappConversationType: description: "Conversation type. There is a charge when the first business message\ \ of this conversation is delivered, initiating the 24-hour conversation session.\ \ As such, the conversation type can be `null` before the first message is\ \ delivered.\n- `FREE_ENTRY`: Conversations originating from a [free entry\ \ point](https://developers.facebook.com/docs/whatsapp/pricing#free-entry-point-conversations).\n\ - `FREE_TIER`: Conversations within the monthly [free tier](https://developers.facebook.com/docs/whatsapp/pricing#free-tier-conversations).\n\ - `REGULAR`: Any conversations that did not originate from a [free entry point](https://developers.facebook.com/docs/whatsapp/pricing#free-entry-point-conversations)\ \ or are above the monthly [free tier](https://developers.facebook.com/docs/whatsapp/pricing#free-tier-conversations)\ \ allotment." enum: - FREE_ENTRY - FREE_TIER - REGULAR type: string WhatsappInboundMessage: description: WhatsApp inbound message object. properties: id: description: Unique ID for the object. type: string wamid: description: The original message ID on WhatsApp's platform. example: wamid.BgNODYxN... type: string wabaId: description: WhatsApp Business Account ID. example: whatsapp-business-account-id type: string from: description: "The customer's phone number who sent the message to the business,\ \ formatted in [E.164](https://en.wikipedia.org/wiki/E.164) format." example: +16315551111 type: string customerProfile: $ref: '#/components/schemas/WhatsappProfile' to: description: "The recipient's phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." example: +16315551111 type: string sendTime: description: "The time at which this message is sent, formatted in [RFC\ \ 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string type: $ref: '#/components/schemas/WhatsappInboundMessageType' text: $ref: '#/components/schemas/WhatsappInboundMessageText' image: $ref: '#/components/schemas/WhatsappInboundMessageMedia' video: $ref: '#/components/schemas/WhatsappInboundMessageMedia' audio: $ref: '#/components/schemas/WhatsappInboundMessageMedia' document: $ref: '#/components/schemas/WhatsappInboundMessageMedia' sticker: $ref: '#/components/schemas/WhatsappInboundMessageMedia' interactive: $ref: '#/components/schemas/WhatsappInboundMessageInteractive' location: $ref: '#/components/schemas/WhatsappInboundMessageLocation' button: $ref: '#/components/schemas/WhatsappInboundMessageButton' contacts: items: $ref: '#/components/schemas/WhatsappMessageContact' type: array reaction: $ref: '#/components/schemas/WhatsappMessageReaction' order: $ref: '#/components/schemas/WhatsappInboundMessageOrder' system: $ref: '#/components/schemas/WhatsappInboundMessageSystem' errors: items: $ref: '#/components/schemas/WhatsappInboundMessageError' type: array context: $ref: '#/components/schemas/WhatsappInboundMessageContext' referral: $ref: '#/components/schemas/WhatsappInboundMessageReferral' required: - id type: object WhatsappInboundMessageButton: description: "When the message type field is set to `button`, this object is\ \ included in the message object." properties: payload: description: The payload for a button set up by the business that a customer clicked as part of an interactive message. type: string text: description: Button text. type: string type: object WhatsappInboundMessageContext: description: Message context. properties: forwarded: description: |- **Added to Webhooks if message was forwarded.** Set to `true` if the received message has been forwarded. type: boolean frequently_forwarded: description: |- **Added to Webhooks if message has been frequently forwarded.** Set to `true` if the received message has been forwarded more than five times. type: boolean from: description: |- **Added to Webhooks if message is an inbound reply to a sent message.** The WhatsApp ID (a phone number without the '+' prefix) of the sender of the sent message. type: string id: description: |- **Optional.** The `wamid` for the sent message for an inbound reply. `wamid` is the original message ID on WhatsApp’s platform. example: wamid.BgNODYxN... type: string referred_product: $ref: '#/components/schemas/WhatsappInboundMessageReferredProduct' type: object WhatsappInboundMessageError: description: "When the message type `unsupported`, this object is included." properties: code: description: The error code. example: "131051" type: string title: description: The error title. example: Message type unknown type: string message: description: The error message. example: Message type unknown type: string error_data: description: "An error data object with the following properties:\n- `details`:\ \ A string describing the reason for the error. Example: `Message type\ \ is currently not supported.`." type: object type: object WhatsappInboundMessageInteractive: description: "When a customer has interacted with your message, this object\ \ is included in the message object." properties: type: description: "The type of interactive message received.\n- `button_reply`:\ \ Sent when a customer clicks a button.\n- `list_reply`: Sent when a customer\ \ selects an item from a list." enum: - button_reply - list_reply type: string button_reply: $ref: '#/components/schemas/WhatsappInboundMessageInteractive_button_reply' list_reply: $ref: '#/components/schemas/WhatsappInboundMessageInteractive_list_reply' type: object WhatsappInboundMessageLocation: description: "When you receive a notification of a user's static location, the\ \ location object provides the details of the location." properties: latitude: description: Latitude of location being sent. format: double type: number longitude: description: Longitude of location being sent. format: double type: number address: description: Address of the location. type: string name: description: Name of the location. type: string url: description: URL for the website where the user downloaded the location information. type: string type: object WhatsappInboundMessageMedia: description: "When a message with media (`image` | `document` | `audio` | `video`\ \ | `sticker`) is received, the WhatsApp Business API client will download\ \ the media. Once the media is downloaded, a notification is sent to your\ \ Webhook. This message contains information that identifies the media object\ \ and enables you to find and download the object." properties: id: description: ID of the media. Can be used to delete the media if stored locally on the client. type: string link: description: "The url to download the media file.\nNote that This link can\ \ be directly accessed in a few minutes for the convenience of the consumer,\ \ but you should always include an `X-API-Key` header to download this\ \ file within a month." type: string caption: description: The provided caption for the media. Only present if specified. type: string filename: description: Filename on the sender's device. This will only be present in `document` media messages. type: string metadata: additionalProperties: type: object description: Metadata pertaining to `sticker` media. type: object mime_type: description: Mime type of the media. type: string sha256: description: Checksum. type: string type: object WhatsappInboundMessageOrder: description: "When a customer places an order, the message type is set to `order`,\ \ and this field is included." properties: catalog_id: description: The catalog ID. example: the-catalog_id type: string product_items: items: $ref: '#/components/schemas/WhatsappInboundMessageOrderProductItem' type: array text: description: Text message sent along with the order. type: string type: object WhatsappInboundMessageOrderProductItem: properties: product_retailer_id: description: The product SKU identifier. type: string quantity: description: Number of item. format: int32 type: integer item_price: description: Unitary price of item. format: double type: number currency: description: "Price currency. [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217)." example: USD type: string type: object WhatsappMessageReaction: description: "When a user reacts to messages with an emoji, the message type\ \ is set to `reaction`, and this field is included." example: emoji: emoji message_id: wamid.BgNODYxN... properties: message_id: description: Specifies the `wamid` of the message received that contained the reaction. example: wamid.BgNODYxN... type: string emoji: description: "**Required** when you send a `reaction` message. Set it to\ \ `\"\"` if you want to remove the emoji.\n**Optional** when you received\ \ a message from a user. This field is included when a user reacts to\ \ messages with an emoji. Otherwise, it indicates a user removed the emoji." type: string required: - message_id type: object WhatsappInboundMessageReferral: description: "When a user messages businesses using call-to-actions buttons\ \ on [Ads that Click to WhatsApp](https://www.facebook.com/business/help/447934475640650)\ \ or a [Facebook Page call-to-action buttons](https://www.facebook.com/help/977869848936797),\ \ this field is included as an attachment." properties: source_url: description: Specifies the URL that leads to the ad or post clicked by the user. Opening this URL takes you to the ad viewed by your user. type: string source_type: description: Specifies the type of the ad's source. Supported values are "ad" or "post". type: string source_id: description: Specifies the Meta ID for an ad or post. type: string headline: description: Specifies the headline used in the ad or post that generated the message. type: string body: description: "The description, or body, from the ad or post that generated\ \ the message." type: string media_type: description: Media present in the ad or post the user clicked. Supported values are "image" or "video". type: string image_url: description: |- **Added if media_type is "image".** Contains a URL to the raw image. type: string video_url: description: |- **Added if media_type is "video".** Contains a URL to the video. type: string thumbnail_url: description: |- **Added if media_type is "video".** Contains a URL to the thumbnail image of the clicked video. type: string ctwa_clid: description: Click ID generated by Meta for ads that click to WhatsApp. type: string type: object WhatsappInboundMessageReferredProduct: description: "A Product Inquiry Message is received when a user is asking for\ \ more information about a specific product.\nThese can be received as in\ \ two scenarios:\n1. When a customer replies to Single or Multi-Product Messages.\n\ 2. When a customer accesses a business’ catalog through another entry point,\ \ navigates to a Product Details Page, and clicks Message Business about this\ \ Product." properties: catalog_id: description: The catalog ID. type: string product_retailer_id: description: The product SKU identifier. type: string type: object WhatsappInboundMessageSystem: description: "When the message type is set to `system`, this field is included.\n\ This object is added to Webhooks if a user has changed their phone number\ \ and if a user’s identity has potentially changed on WhatsApp." properties: body: description: "Describes the system message event. Supported use cases are:\n\ - Phone number update: for when a user changes from an old number to a\ \ new number.\n- Identity update: for when a user identity has changed." type: string new_wa_id: description: |- **Added to Webhooks for phone number updates.** New WhatsApp ID of the customer. type: string type: description: "Supported types are:\n- `user_changed_number`: for a user\ \ changed number notification.\n- `user_identity_changed`: for user identity\ \ changed notification." type: string user: description: |- **Added to Webhooks for identity updates.** The new WhatsApp user ID of the customer. type: string type: object WhatsappInboundMessageText: description: "When the notification describes a text message, the text object\ \ provides the body of the text message." properties: body: description: Message text. type: string type: object WhatsappInboundMessageType: description: "WhatsApp inbound message type.\nSee also [WhatsApp webhook messages\ \ object](https://developers.facebook.com/docs/whatsapp/cloud-api/webhooks/components#messages-object)." enum: - text - image - video - audio - document - sticker - contacts - location - interactive - button - reaction - request_welcome - order - system - unsupported type: string WhatsappMessage: description: WhatsApp outbound message object. example: template: components: - cards: - card_index: 5 components: - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - card_index: 5 components: - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text sub_type: quick_reply index: 0 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - cards: - card_index: 5 components: - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - card_index: 5 components: - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text sub_type: quick_reply index: 0 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text name: sample_whatsapp_template language: code: en_US policy: deterministic bizType: whatsapp wamid: wamid.BgNODYxN... totalPrice: 0.05 document: filename: filename link: link caption: caption interactive: footer: text: text action: button: button catalog_id: catalog_id buttons: - type: reply reply: id: id title: title - type: reply reply: id: id title: title - type: reply reply: id: id title: title product_retailer_id: product_retailer_id name: cta_url parameters: thumbnail_product_retailer_id: thumbnail_product_retailer_id display_text: See Docs url: https://developers.facebook.com/docs/whatsapp sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title header: image: filename: filename link: link caption: caption document: filename: filename link: link caption: caption text: text video: filename: filename link: link caption: caption type: text type: button body: text: text errorCode: INTERNAL_SERVER_ERROR readTime: 2022-06-01T12:00:00Z video: filename: filename link: link caption: caption type: null pricingCategory: null wabaId: whatsapp-business-account-id regionCode: US context: message_id: wamid.BgNODYxN... from: +16315551111 currency: USD id: id text: preview_url: true body: body audio: filename: filename link: link caption: caption conversation: originType: null expireTime: 2022-06-01T12:00:00Z id: id type: null image: filename: filename link: link caption: caption deliverTime: 2022-06-01T12:00:00Z reaction: emoji: emoji message_id: wamid.BgNODYxN... sticker: filename: filename link: link caption: caption errorMessage: errorMessage externalId: externalId updateTime: 2022-06-01T12:00:00Z sendTime: 2022-06-01T12:00:00Z createTime: 2022-06-01T12:00:00Z whatsappApiError: error_user_title: Message Cannot Be Submitted code: "200002" error_subcode: "2388109" message: HSM Template creation failed type: OAuthException fbtrace_id: AVGjJ7ia2zJkrHG error_user_msg: This message template cannot be created. error_data: "{}" location: address: address latitude: 5.962133916683182 name: name longitude: 5.637376656633329 to: +16315551111 contacts: - birthday: 2022-09-27 emails: - type: WORK email: email - type: WORK email: email addresses: - zip: zip country: country country_code: country_code city: city street: street state: state type: WORK - zip: zip country: country country_code: country_code city: city street: street state: state type: WORK urls: - type: type url: url - type: type url: url org: company: company department: department title: title name: prefix: prefix last_name: last_name middle_name: middle_name suffix: suffix first_name: first_name formatted_name: formatted_name phones: - phone: phone wa_id: wa_id type: type - phone: phone wa_id: wa_id type: type - birthday: 2022-09-27 emails: - type: WORK email: email - type: WORK email: email addresses: - zip: zip country: country country_code: country_code city: city street: street state: state type: WORK - zip: zip country: country country_code: country_code city: city street: street state: state type: WORK urls: - type: type url: url - type: type url: url org: company: company department: department title: title name: prefix: prefix last_name: last_name middle_name: middle_name suffix: suffix first_name: first_name formatted_name: formatted_name phones: - phone: phone wa_id: wa_id type: type - phone: phone wa_id: wa_id type: type verificationId: VERIFICATION-ID status: null properties: id: description: Unique ID of the message. type: string wamid: description: The original message ID on WhatsApp's platform. example: wamid.BgNODYxN... type: string wabaId: description: WhatsApp Business Account ID. example: whatsapp-business-account-id type: string from: description: "The sender's phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." example: +16315551111 type: string to: description: "The recipient's phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." example: +16315551111 type: string conversation: $ref: '#/components/schemas/WhatsappConversation' type: $ref: '#/components/schemas/WhatsappMessageType' template: $ref: '#/components/schemas/WhatsappMessageTemplate' text: $ref: '#/components/schemas/WhatsappMessageText' image: $ref: '#/components/schemas/WhatsappMessageMedia' video: $ref: '#/components/schemas/WhatsappMessageMedia' audio: $ref: '#/components/schemas/WhatsappMessageMedia' document: $ref: '#/components/schemas/WhatsappMessageMedia' sticker: $ref: '#/components/schemas/WhatsappMessageMedia' location: $ref: '#/components/schemas/WhatsappMessageLocation' interactive: $ref: '#/components/schemas/WhatsappMessageInteractive' contacts: items: $ref: '#/components/schemas/WhatsappMessageContact' type: array reaction: $ref: '#/components/schemas/WhatsappMessageReaction' context: $ref: '#/components/schemas/WhatsappMessageContext' externalId: description: "A unique string to reference the object. This can be an order\ \ number or similar, and can be used to reconcile the object with your\ \ internal systems." type: string status: $ref: '#/components/schemas/WhatsappMessageStatus' errorCode: description: Error code when the message status is `failed`. example: INTERNAL_SERVER_ERROR type: string errorMessage: description: Error message when the message status is `failed`. type: string createTime: description: "The time at which this message is created, formatted in [RFC\ \ 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string updateTime: description: "The time at which this message is updated, formatted in [RFC\ \ 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string sendTime: description: "The time at which this message `status` changed to `sent`,\ \ formatted in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339).\ \ e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string deliverTime: description: "The time at which this message `status` changed to `delivered`,\ \ formatted in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339).\ \ e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string readTime: description: "The time at which this message `status` changed to `read`,\ \ formatted in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339).\ \ e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string totalPrice: description: "Total price of this message.\n**Note: It's only an estimated\ \ price when the `status` is `accepted` or `sent`. It becomes the final\ \ price after the message is delivered, i.e., the `status` is `delivered`\ \ or `read`.**" example: 0.05 format: double type: number currency: description: "Price currency. [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217)." example: USD type: string regionCode: description: "The [region code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\ \ of the recipient phone number." example: US type: string pricingCategory: $ref: '#/components/schemas/WhatsappPricingCategory' whatsappApiError: $ref: '#/components/schemas/WhatsappApiError' bizType: description: "This can be either empty or one of `whatsapp`, or `verify`.\ \ Defaults to `whatsapp`.\n- `whatsapp`: Indicates that the message is\ \ sent via the **WhatsApp** product.\n- `verify`: Indicates that the message\ \ is sent via the **Verify** product." example: whatsapp type: string verificationId: description: The verification ID. Included only when `bizType` is `verify`. example: VERIFICATION-ID type: string required: - from - id - to - wabaId type: object WhatsappMessageContact: description: "When the message type filed is set to `contacts`, this object\ \ is included in the message object." example: birthday: 2022-09-27 emails: - type: WORK email: email - type: WORK email: email addresses: - zip: zip country: country country_code: country_code city: city street: street state: state type: WORK - zip: zip country: country country_code: country_code city: city street: street state: state type: WORK urls: - type: type url: url - type: type url: url org: company: company department: department title: title name: prefix: prefix last_name: last_name middle_name: middle_name suffix: suffix first_name: first_name formatted_name: formatted_name phones: - phone: phone wa_id: wa_id type: type - phone: phone wa_id: wa_id type: type properties: addresses: items: $ref: '#/components/schemas/WhatsappMessageContactAddress' type: array birthday: description: '`YYYY-MM-DD` formatted string.' example: 2022-09-27 type: string emails: items: $ref: '#/components/schemas/WhatsappMessageContactEmail' type: array name: $ref: '#/components/schemas/WhatsappMessageContactName' org: $ref: '#/components/schemas/WhatsappMessageContactOrg' phones: description: Contact phone number(s) formatted as a phone object. items: $ref: '#/components/schemas/WhatsappMessageContactPhone' type: array urls: description: Contact URL(s) formatted as a urls object. items: $ref: '#/components/schemas/WhatsappMessageContactUrl' type: array required: - name type: object WhatsappMessageContactAddress: description: Full contact address(es) formatted as an addresses object. example: zip: zip country: country country_code: country_code city: city street: street state: state type: WORK properties: street: description: Street number and name. type: string city: description: City name. type: string state: description: State abbreviation. type: string zip: description: ZIP code. type: string country: description: Full country name. type: string country_code: description: Two-letter country abbreviation. type: string type: description: Standard values are `HOME` and `WORK`. example: WORK type: string type: object WhatsappMessageContactEmail: description: Contact email address(es) formatted as an emails object. example: type: WORK email: email properties: email: description: Email address. type: string type: description: Standard values are `HOME` and `WORK`. example: WORK type: string type: object WhatsappMessageContactName: description: Full contact name formatted as a name object. example: prefix: prefix last_name: last_name middle_name: middle_name suffix: suffix first_name: first_name formatted_name: formatted_name properties: formatted_name: description: "Full name, as it normally appears." type: string first_name: description: First name. type: string last_name: description: Last name. type: string middle_name: description: Middle name. type: string suffix: description: Name suffix. type: string prefix: description: Name prefix. type: string required: - formatted_name type: object WhatsappMessageContactOrg: description: Contact organization information formatted as an org object. example: company: company department: department title: title properties: company: description: Name of the contact's company. type: string department: description: Name of the contact's department. type: string title: description: Contact's business title. type: string type: object WhatsappMessageContactPhone: example: phone: phone wa_id: wa_id type: type properties: phone: description: Automatically populated with the `wa_id` value as a formatted phone number. type: string type: description: "Standard Values are `CELL`, `MAIN`, `IPHONE`, `HOME`, and\ \ `WORK`." type: string wa_id: description: WhatsApp ID. type: string type: object WhatsappMessageContactUrl: example: type: type url: url properties: url: description: URL. type: string type: description: Standard values are `HOME` and `WORK`. type: string type: object WhatsappMessageContext: description: Used to mention a specific message you are replying to. The reply can be any message type. example: message_id: wamid.BgNODYxN... properties: message_id: description: Specifies the `wamid` of the message your are replying to. `wamid` is the original message ID on WhatsApp’s platform. example: wamid.BgNODYxN... type: string type: object WhatsappMessageInteractive: description: Use for `interactive` messages. example: footer: text: text action: button: button catalog_id: catalog_id buttons: - type: reply reply: id: id title: title - type: reply reply: id: id title: title - type: reply reply: id: id title: title product_retailer_id: product_retailer_id name: cta_url parameters: thumbnail_product_retailer_id: thumbnail_product_retailer_id display_text: See Docs url: https://developers.facebook.com/docs/whatsapp sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title header: image: filename: filename link: link caption: caption document: filename: filename link: link caption: caption text: text video: filename: filename link: link caption: caption type: text type: button body: text: text properties: type: description: "**Required.**\nThe type of interactive message you want to\ \ send.\n- `button`: Use for Reply Buttons.\n- `list`: Use for List Messages.\n\ - `cta_url`: Use for Call-To-Action (CTA) URL Button Messages.\n- `product`:\ \ Use for Single Product Messages.\n- `product_list`: Use for Multi-Product\ \ Messages.\n- `catalog_message`: Use for Catalog Messages.\n- `location_request_message`:\ \ Use for Location Request Messages." enum: - button - list - cta_url - product - product_list - catalog_message - location_request_message type: string action: $ref: '#/components/schemas/WhatsappMessageInteractiveAction' body: $ref: '#/components/schemas/WhatsappMessageInteractiveBody' header: $ref: '#/components/schemas/WhatsappMessageInteractiveHeader' footer: $ref: '#/components/schemas/WhatsappMessageInteractiveFooter' type: object WhatsappMessageInteractiveAction: description: |- **Required.** Action you want the user to perform after reading the `interactive` message. example: button: button catalog_id: catalog_id buttons: - type: reply reply: id: id title: title - type: reply reply: id: id title: title - type: reply reply: id: id title: title product_retailer_id: product_retailer_id name: cta_url parameters: thumbnail_product_retailer_id: thumbnail_product_retailer_id display_text: See Docs url: https://developers.facebook.com/docs/whatsapp sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title properties: buttons: description: Required for Reply Buttons. You can have up to 3 buttons. items: $ref: '#/components/schemas/WhatsappMessageInteractiveActionButton' maxItems: 3 type: array button: description: "Required for List Messages. Button content. It cannot be an\ \ empty string and must be unique within the message. Emojis are supported,\ \ markdown is not. Maximum length: 20 characters." maxLength: 20 type: string catalog_id: description: "Required for Single Product Messages and Multi-Product Messages.\n\ Unique identifier of the Facebook catalog linked to your WhatsApp Business\ \ Account. This ID can be retrieved via the [Meta Commerce Manager](https://business.facebook.com/commerce)." type: string product_retailer_id: description: |- Required for Single Product Messages and Multi-Product Messages. Unique identifier of the product in a catalog. type: string sections: description: "Required for List Messages and Multi-Product Messages.\nArray\ \ of section objects. Minimum of 1, maximum of 10." items: $ref: '#/components/schemas/WhatsappMessageInteractiveActionSection' maxItems: 10 minItems: 1 type: array name: description: "Action name.\nRequired for Call-To-Action (CTA) URL Button\ \ Messages.\n- `cta_url`: Use for Call-To-Action (CTA) URL Buttons.\n\ - `send_location`: Use for Location Request Messages." enum: - cta_url - send_location type: string parameters: $ref: '#/components/schemas/WhatsappMessageInteractiveActionParameters' type: object WhatsappMessageInteractiveActionButton: description: A button object in `interactive` messages. example: type: reply reply: id: id title: title properties: type: description: Only supported type is `reply` (for Reply Button). enum: - reply type: string reply: $ref: '#/components/schemas/WhatsappMessageInteractiveActionButton_reply' type: object WhatsappMessageInteractiveActionParameters: description: |- Action parameters. Required for Call-To-Action (CTA) URL Button Messages. example: thumbnail_product_retailer_id: thumbnail_product_retailer_id display_text: See Docs url: https://developers.facebook.com/docs/whatsapp properties: display_text: description: "Text of the CTA URL button.\nMaximum length: 20 bytes." example: See Docs maxLength: 20 type: string url: description: URL of the CTA URL button. example: https://developers.facebook.com/docs/whatsapp type: string thumbnail_product_retailer_id: description: "Item SKU number. Labeled as **Content ID** in the [Commerce\ \ Manager](https://business.facebook.com/commerce).\nThe thumbnail of\ \ this item will be used as the message's header image." type: string type: object WhatsappMessageInteractiveActionSection: description: WhatsApp Message Interactive Section Object. example: product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title properties: title: description: "**Required if the message has more than one section.**\nTitle\ \ of the section. Maximum length: 24 characters." maxLength: 24 type: string rows: description: "Contains a list of rows. You can have a total of 10 rows across\ \ your sections.\nEach row must have a title (Maximum length: 24 characters)\ \ and an ID (Maximum length: 200 characters). You can add a description\ \ (Maximum length: 72 characters), but it is optional." items: $ref: '#/components/schemas/WhatsappMessageInteractiveActionSectionRow' maxItems: 10 type: array product_items: description: |- Required for Multi-Product Messages. Array of product objects. There is a minimum of 1 product per section and a maximum of 30 products across all sections. items: $ref: '#/components/schemas/WhatsappMessageInteractiveActionSectionProductItem' maxItems: 30 minItems: 1 type: array type: object WhatsappMessageInteractiveActionSectionProductItem: example: product_retailer_id: product_retailer_id properties: product_retailer_id: description: |- Required for Multi-Product Messages. Unique identifier of the product in a catalog. type: string type: object WhatsappMessageInteractiveActionSectionRow: example: description: description id: id title: title properties: id: description: "Unique row ID. Maximum length: 200 characters." maxLength: 200 type: string title: description: "Row title content. Maximum length: 24 characters." maxLength: 24 type: string description: description: "Row description content. Maximum length: 72 characters." maxLength: 72 type: string type: object WhatsappMessageInteractiveBody: description: Optional for type `product`. Required for other message types. example: text: text properties: text: description: "The body content of the message. Emojis and markdown are supported.\ \ Maximum length: 1024 characters." maxLength: 1024 type: string type: object WhatsappMessageInteractiveFooter: description: Optional. An object with the footer of the message. example: text: text properties: text: description: "The footer content. Emojis and markdown are supported. Links\ \ are supported. Maximum length: 60 characters." maxLength: 60 type: string type: object WhatsappMessageInteractiveHeader: description: Required for type `product_list`. Optional for other types. example: image: filename: filename link: link caption: caption document: filename: filename link: link caption: caption text: text video: filename: filename link: link caption: caption type: text properties: type: description: "**Required.**\nThe header type you would like to use.\n- `text`:\ \ Used for List Messages, Reply Buttons, and Multi-Product Messages.\n\ - `video`: Used for Reply Buttons.\n- `image`: Used for Reply Buttons.\n\ - `document`: Used for Reply Buttons." enum: - text - image - video - document type: string text: description: "Text for the header. Formatting allows emojis, but not markdown." maxLength: 60 type: string image: $ref: '#/components/schemas/WhatsappMessageMedia' video: $ref: '#/components/schemas/WhatsappMessageMedia' document: $ref: '#/components/schemas/WhatsappMessageMedia' type: object WhatsappMessageLocation: description: Use for `location` messages. example: address: address latitude: 5.962133916683182 name: name longitude: 5.637376656633329 properties: latitude: description: Latitude of the location. format: double type: number longitude: description: Longitude of the location. format: double type: number name: description: Name of the location. type: string address: description: Address of the location. Only displayed if `name` is present. type: string required: - latitude - longitude type: object WhatsappMessageMedia: description: "Use for `image`, `video`, `audio`, `document`, or `sticker` messages.\ \ \nSee also [Supported Media Types](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#supported-media-types)." example: filename: filename link: link caption: caption properties: link: description: The protocol and URL of the media to be sent. Use only with HTTP/HTTPS URLs. type: string caption: description: "Describes the specified `image`, `video`, or `document` media.\ \ Not applicable in the `header` of `template` or `interactive` messages." type: string filename: description: Describes the filename for the specific document. Use only with `document` media. type: string required: - link type: object WhatsappMessageSendRequest: example: template: components: - cards: - card_index: 5 components: - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - card_index: 5 components: - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text sub_type: quick_reply index: 0 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - cards: - card_index: 5 components: - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - card_index: 5 components: - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text sub_type: quick_reply index: 0 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text name: sample_whatsapp_template language: code: en_US policy: deterministic image: filename: filename link: link caption: caption reaction: emoji: emoji message_id: wamid.BgNODYxN... document: filename: filename link: link caption: caption sticker: filename: filename link: link caption: caption interactive: footer: text: text action: button: button catalog_id: catalog_id buttons: - type: reply reply: id: id title: title - type: reply reply: id: id title: title - type: reply reply: id: id title: title product_retailer_id: product_retailer_id name: cta_url parameters: thumbnail_product_retailer_id: thumbnail_product_retailer_id display_text: See Docs url: https://developers.facebook.com/docs/whatsapp sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title rows: - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title - description: description id: id title: title header: image: filename: filename link: link caption: caption document: filename: filename link: link caption: caption text: text video: filename: filename link: link caption: caption type: text type: button body: text: text externalId: externalId video: filename: filename link: link caption: caption type: null filterUnsubscribed: true context: message_id: wamid.BgNODYxN... from: +16315551111 location: address: address latitude: 5.962133916683182 name: name longitude: 5.637376656633329 to: +16315551111 text: preview_url: true body: body audio: filename: filename link: link caption: caption contacts: - birthday: 2022-09-27 emails: - type: WORK email: email - type: WORK email: email addresses: - zip: zip country: country country_code: country_code city: city street: street state: state type: WORK - zip: zip country: country country_code: country_code city: city street: street state: state type: WORK urls: - type: type url: url - type: type url: url org: company: company department: department title: title name: prefix: prefix last_name: last_name middle_name: middle_name suffix: suffix first_name: first_name formatted_name: formatted_name phones: - phone: phone wa_id: wa_id type: type - phone: phone wa_id: wa_id type: type - birthday: 2022-09-27 emails: - type: WORK email: email - type: WORK email: email addresses: - zip: zip country: country country_code: country_code city: city street: street state: state type: WORK - zip: zip country: country country_code: country_code city: city street: street state: state type: WORK urls: - type: type url: url - type: type url: url org: company: company department: department title: title name: prefix: prefix last_name: last_name middle_name: middle_name suffix: suffix first_name: first_name formatted_name: formatted_name phones: - phone: phone wa_id: wa_id type: type - phone: phone wa_id: wa_id type: type filterBlocked: true properties: from: description: "The sender's phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." example: +16315551111 type: string to: description: "The recipient's phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." example: +16315551111 type: string type: $ref: '#/components/schemas/WhatsappMessageType' template: $ref: '#/components/schemas/WhatsappMessageTemplate' text: $ref: '#/components/schemas/WhatsappMessageText' image: $ref: '#/components/schemas/WhatsappMessageMedia' video: $ref: '#/components/schemas/WhatsappMessageMedia' audio: $ref: '#/components/schemas/WhatsappMessageMedia' document: $ref: '#/components/schemas/WhatsappMessageMedia' sticker: $ref: '#/components/schemas/WhatsappMessageMedia' location: $ref: '#/components/schemas/WhatsappMessageLocation' interactive: $ref: '#/components/schemas/WhatsappMessageInteractive' contacts: description: Required when `type` is `contacts`. items: $ref: '#/components/schemas/WhatsappMessageContact' type: array reaction: $ref: '#/components/schemas/WhatsappMessageReaction' context: $ref: '#/components/schemas/WhatsappMessageContext' externalId: description: "A unique string to reference the object. This can be an order\ \ number or similar, and can be used to reconcile the object with your\ \ internal systems." type: string filterUnsubscribed: description: "**Optional.**\nIf set to `true`, the message will not be sent\ \ to users who have unsubscribed from your account. Defaults to `false`.\n\ \nOnly use for `POST /v2/whatsapp/messages`. If the user has unsubscribed,\ \ we will push webhook notifications with `whatsappMessage.errorCode`\ \ set to `RECIPIENT_UNSUBSCRIBED`.\n\nNot applicable to `POST /v2/whatsapp/message/sendDirectly`." type: boolean filterBlocked: description: "**Optional.**\nIf set to `true`, the message will not be sent\ \ to users in your block list. Defaults to `false`.\n\nOnly use for `POST\ \ /v2/whatsapp/messages`. If the user is in your block list, we will push\ \ webhook notifications with `whatsappMessage.errorCode` set to `RECIPIENT_IN_BLOCK_LIST`.\n\ \nNot applicable to `POST /v2/whatsapp/message/sendDirectly`." type: boolean required: - from - to - type type: object WhatsappMessageStatus: description: "WhatsApp message status. One of `accepted`, `failed`, `sent`,\ \ `delivered`, `read`.\n- `accepted`: The messaging request is accepted by\ \ our system.\n- `failed`: A message sent by your business failed to send.\n\ - `sent`: A message sent by your business is in transit within WhatsApp's\ \ systems.\n- `delivered`: A message sent by your business was delivered to\ \ the user's device.\n- `read`: A message sent by your business was read by\ \ the user." enum: - accepted - failed - sent - delivered - read type: string WhatsappMessageTemplate: description: Use for sending a WhatsApp `template` message. example: components: - cards: - card_index: 5 components: - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - card_index: 5 components: - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text sub_type: quick_reply index: 0 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - cards: - card_index: 5 components: - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - card_index: 5 components: - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text sub_type: quick_reply index: 0 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text name: sample_whatsapp_template language: code: en_US policy: deterministic properties: name: description: Name of the template. example: sample_whatsapp_template type: string language: $ref: '#/components/schemas/WhatsappMessageTemplate_language' components: description: |- **Required when the specified template contains variables or media.** Array of components objects containing the parameters of the message. items: $ref: '#/components/schemas/WhatsappMessageTemplateComponent' type: array required: - language - name type: object WhatsappMessageTemplateComponent: description: Component object containing the parameters of the message. example: cards: - card_index: 5 components: - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - card_index: 5 components: - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text sub_type: quick_reply index: 0 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text properties: type: description: Component type. enum: - header - body - button - limited_time_offer - carousel type: string sub_type: description: "**Required when type is `button`.**\nType of button.\n- `quick_reply`:\ \ Refers to a previously created quick reply button that allows for the\ \ customer to return a predefined message.\n- `url`: Refers to a previously\ \ created url button that allows the customer to visit the URL generated\ \ by appending the text parameter to the predefined prefix URL in the\ \ template.\n- `copy_code`: Refers to a previously created copy code button\ \ that allows the customer to copy a text string (defined when the template\ \ is sent in a template message) to the device's clipboard when tapped\ \ by the app user.\n- `catalog`: Refers to a previously created catalog\ \ button that allows the customer to view your product catalog.\n- `mpm`:\ \ Refers to a previously created MPM (multi-product message) button that\ \ allows the customer to browser products and sections." enum: - quick_reply - url - copy_code - catalog - mpm type: string index: description: "**Required when `type` = `button`. Not used for the other\ \ types.**\nIndicates order in which button should appear, if the template\ \ uses multiple buttons.\nButtons are zero-indexed, so setting value to\ \ 0 will cause the button to appear first, and another button with an\ \ index of 1 will appear next, etc." format: int32 maximum: 9 minimum: 0 type: integer parameters: description: "**Required when `type` = `button`, or there are variables\ \ in the corresponding template component, or the template `HEADER` format\ \ is media (`IMAGE`, `VIDEO`, or `DOCUMENT`).**\nArray of parameter objects\ \ with the content of the message." items: $ref: '#/components/schemas/WhatsappMessageTemplateComponentParameter' type: array cards: description: Use for `carousel` components. Provides card components containing the parameters of the message. items: $ref: '#/components/schemas/WhatsappMessageTemplateComponentCard' type: array required: - type type: object WhatsappMessageTemplateComponentCard: description: Card component containing the parameters of the message. example: card_index: 5 components: - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text properties: card_index: description: "**Required.**\nZero-indexed order in which card appears within\ \ the card carousel. 0 indicates first card, 1 indicates second card,\ \ etc." format: int32 maximum: 9 minimum: 0 type: integer components: description: Card component. items: $ref: '#/components/schemas/WhatsappMessageTemplateComponentCardComponent' type: array type: object WhatsappMessageTemplateComponentCardComponent: description: Card component object containing the parameters of the message. example: sub_type: quick_reply index: 1 type: header parameters: - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text - image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text properties: type: description: Component type. enum: - header - body - button type: string sub_type: description: "**Required when type is `button`.**\nType of button.\n- `quick_reply`:\ \ Refers to a previously created quick reply button that allows for the\ \ customer to return a predefined message.\n- `url`: Refers to a previously\ \ created url button that allows the customer to visit the URL generated\ \ by appending the text parameter to the predefined prefix URL in the\ \ template." enum: - quick_reply - url type: string index: description: "**Required when `type` = `button`. Not used for the other\ \ types.**\nIndicates order in which button should appear, if the template\ \ uses multiple buttons.\nButtons are zero-indexed, so setting value to\ \ 0 will cause the button to appear first, and another button with an\ \ index of 1 will appear next, etc." format: int32 maximum: 9 minimum: 0 type: integer parameters: description: "**Required when `type` = `button`, or there are variables\ \ in the corresponding template component, or the card component `HEADER`\ \ format is media (`IMAGE`, `VIDEO`).**\nArray of parameter objects with\ \ the content of the message." items: $ref: '#/components/schemas/WhatsappMessageTemplateComponentParameter' type: array required: - type type: object WhatsappMessageTemplateComponentParameter: example: image: filename: filename link: link caption: caption coupon_code: coupon_code limited_time_offer: expiration_time_ms: 1698562800000 payload: payload document: filename: filename link: link caption: caption action: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title text: text video: filename: filename link: link caption: caption type: text properties: type: description: "**Required.**\nComponent parameter type.\n- `text`: Used when\ \ the template component type is `BODY`, or the `HEADER` component format\ \ is `TEXT`.\n- `image`: Used when the template `HEADER` component is\ \ `IMAGE`.\n- `video`: Used when the template `HEADER` component is `VIDEO`.\n\ - `document`: Used when the template `HEADER` component is `DOCUMENT`.\n\ - `payload`: Used when the template component button type is `QUICK_REPLY`.\n\ - `coupon_code`: Used when the template component button type is `COPY_CODE`.\n\ - `limited_time_offer`: Used when the template component type is `LIMITED_TIME_OFFER`.\n\ - `action`: Used when the template component button type is `CATALOG`." enum: - text - image - video - document - payload - coupon_code - limited_time_offer - action type: string text: description: "**Required when `type` = `text`.**\nThe message's text. For\ \ the header component, the character limit is 60 characters. For the\ \ body component, the character limit is 1024 characters.\nFor url buttons,\ \ it indicates the developer-provided suffix that is appended to the predefined\ \ prefix URL in the template." type: string payload: description: |- Required for `quick_reply` buttons. Developer-defined payload that is returned when the button is clicked in addition to the display text on the button. type: string coupon_code: description: |- **Required when `type` = `coupon_code`.** The coupon code to be copied when the customer taps the button. type: string image: $ref: '#/components/schemas/WhatsappMessageMedia' video: $ref: '#/components/schemas/WhatsappMessageMedia' document: $ref: '#/components/schemas/WhatsappMessageMedia' limited_time_offer: $ref: '#/components/schemas/WhatsappMessageTemplateComponentParameterLimitedTimeOffer' action: $ref: '#/components/schemas/WhatsappMessageTemplateComponentParameterAction' type: object WhatsappMessageTemplateComponentParameterAction: description: Required if template uses catalog or MPM (multi-product message) buttons. example: thumbnail_product_retailer_id: 2lc20305pt sections: - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title - product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title properties: thumbnail_product_retailer_id: description: "**Optional.**\nUse for catalog and MPM template messages.\n\ Item SKU number. Labeled as Content ID in the Commerce Manager.\nThe thumbnail\ \ of this item will be used as the message's header image.\nIf the `parameters`\ \ object is omitted, the product image of the first item in your catalog\ \ will be used." example: 2lc20305pt type: string sections: description: |- Use for MPM templates. Product sections. You can define up to 10 sections. items: $ref: '#/components/schemas/WhatsappMessageTemplateComponentParameterActionSection' maxItems: 10 type: array type: object WhatsappMessageTemplateComponentParameterActionSection: example: product_items: - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id - product_retailer_id: product_retailer_id title: title properties: title: description: |- Section title text. Maximum 24 characters. Markdown is not supported. maxLength: 24 type: string product_items: description: Array of product SKU numbers. There is a minimum of 1 product per section and a maximum of 30 products across all sections. items: $ref: '#/components/schemas/WhatsappMessageTemplateComponentParameterActionSectionProductItem' maxItems: 30 minItems: 1 type: array type: object WhatsappMessageTemplateComponentParameterActionSectionProductItem: example: product_retailer_id: product_retailer_id properties: product_retailer_id: description: "SKU number of the item you want to appear in the section.\n\ SKU numbers are labeled as **Content ID** in the [Commerce Manager](https://business.facebook.com/commerce)." type: string type: object WhatsappMessageTemplateComponentParameterLimitedTimeOffer: description: Required if template uses offer expiration details. example: expiration_time_ms: 1698562800000 properties: expiration_time_ms: description: |- **Required.** Offer code expiration time as a UNIX timestamp in milliseconds. example: 1698562800000 format: int64 type: integer type: object WhatsappMessageText: description: WhatsApp Message Text Object. example: preview_url: true body: body properties: body: description: "Required for text messages.\nThe text of the text message\ \ which can contain URLs which begin with http:// or https:// and formatting.\ \ See available formatting options here.\nIf you include URLs in your\ \ text and want to include a preview box in text messages (preview_url:\ \ true), make sure the URL starts with http:// or https:// — https://\ \ URLs are preferred. You must include a hostname, since IP addresses\ \ will not be matched.\nMaximum length: 4096 characters." maxLength: 4096 type: string preview_url: description: "By default, WhatsApp recognizes URLs and makes them clickable,\ \ but you can also include a preview box with more information about the\ \ link. Set this field to true if you want to include a URL preview box.\n\ The majority of the time, the receiver will see a URL they can click on\ \ when you send an URL, set preview_url to true, and provide a body object\ \ with a http or https link.\nURL previews are only rendered after one\ \ of the following has happened:\n- The business has sent a message template\ \ to the user.\n- The user initiates a conversation with a \"click to\ \ chat\" link.\n- The user adds the business phone number to their address\ \ book and initiates a conversation.\nDefault: `false`." type: boolean required: - body type: object WhatsappMessageType: description: "WhatsApp outbound message type.\nSee also [WhatsApp messages](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages)." enum: - template - text - image - audio - video - document - sticker - location - interactive - contacts - reaction type: string WhatsappPhoneNumber: description: "See [WhatsApp Business Phone Number](https://developers.facebook.com/docs/whatsapp/cloud-api/phone-numbers)" example: decision: null messagingLimit: TIER_1K qualityUpdateEvent: null qualityRating: null wabaId: whatsapp-business-account-id phoneNumber: +16315551111 requestedVerifiedName: requestedVerifiedName newNameStatus: null nameStatus: null id: "1234567890123456" verifiedName: John’s Cake Shop isOfficialBusinessAccount: true displayPhoneNumber: +1 631-555-1111 rejectionReason: rejectionReason codeVerificationStatus: null status: null properties: id: description: Phone number ID. example: "1234567890123456" type: string phoneNumber: description: "Phone number in [E.164](https://en.wikipedia.org/wiki/E.164)\ \ format." example: +16315551111 type: string displayPhoneNumber: description: Display phone number. example: +1 631-555-1111 type: string wabaId: description: WhatsApp Business Account ID. example: whatsapp-business-account-id type: string qualityRating: $ref: '#/components/schemas/WhatsappPhoneNumberQualityRating' messagingLimit: description: "Messaging limits determine the maximum number of business-initiated\ \ conversations each phone number can start in a rolling 24-hour period.\ \ See also [Messaging Limits](https://developers.facebook.com/docs/whatsapp/messaging-limits).\n\ - `TIER_NOT_SET`: Unknown limit.\n- `TIER_50`: 50 business-initiated conversations\ \ in a rolling 24-hour period.\n- `TIER_250`: 250 business-initiated conversations\ \ in a rolling 24-hour period.\n- `TIER_1K`: 1K business-initiated conversations\ \ with unique customers in a rolling 24-hour period.\n- `TIER_10K`: 10K\ \ business-initiated conversations with unique customers in a rolling\ \ 24-hour period.\n- `TIER_100K`: 100K business-initiated conversations\ \ with unique customers in a rolling 24-hour period.\n- `TIER_UNLIMITED`:\ \ An unlimited number of business-initiated conversations in a rolling\ \ 24-hour period." example: TIER_1K type: string verifiedName: description: Verified name. example: John’s Cake Shop type: string codeVerificationStatus: $ref: '#/components/schemas/WhatsappPhoneNumberCodeVerificationStatus' isOfficialBusinessAccount: description: "Whether this phone number is an official business account\ \ or not.\nAn official business account has a green checkmark badge in\ \ its profile and chat thread headers. See [Official Business Account](https://developers.facebook.com/docs/whatsapp/overview/business-accounts#official-business-account)\ \ for more information." type: boolean status: $ref: '#/components/schemas/WhatsappPhoneNumberStatus' nameStatus: $ref: '#/components/schemas/WhatsappPhoneNumberNameStatus' newNameStatus: $ref: '#/components/schemas/WhatsappPhoneNumberNameStatus' decision: $ref: '#/components/schemas/WhatsappReviewDecision' requestedVerifiedName: description: Last requested verified name. type: string rejectionReason: description: Rejection reason. type: string qualityUpdateEvent: $ref: '#/components/schemas/WhatsappPhoneNumberQualityUpdateEventEnum' type: object WhatsappPhoneNumberCodeVerificationStatus: description: To see if a phone number has been verified via OTP (one-time password). enum: - VERIFIED - NOT_VERIFIED - EXPIRED type: string WhatsappPhoneNumberNameStatus: description: "The review status of the current display name request. See also\ \ [Get Display Name Status](https://developers.facebook.com/docs/whatsapp/business-management-api/manage-phone-numbers#get-display-name-status--beta-).\n\ - `APPROVED`: The name has been approved. You can download your certificate\ \ now.\n- `AVAILABLE_WITHOUT_REVIEW`: The certificate for the phone is available\ \ and display name is ready to use without review.\n- `DECLINED`: The name\ \ has not been approved. You cannot download your certificate.\n- `EXPIRED`:\ \ Your certificate has expire and can no longer be downloaded.\n- `PENDING_REVIEW`:\ \ Your name request is under review. You cannot download your certificate.\n\ - `NONE`: No certificate is available." enum: - APPROVED - AVAILABLE_WITHOUT_REVIEW - DECLINED - EXPIRED - PENDING_REVIEW - NONE type: string WhatsappPhoneNumberPage: allOf: - $ref: '#/components/schemas/Page' description: Represents a given page of WhatsApp phone numbers. example: items: - decision: null messagingLimit: TIER_1K qualityUpdateEvent: null qualityRating: null wabaId: whatsapp-business-account-id phoneNumber: +16315551111 requestedVerifiedName: requestedVerifiedName newNameStatus: null nameStatus: null id: "1234567890123456" verifiedName: John’s Cake Shop isOfficialBusinessAccount: true displayPhoneNumber: +1 631-555-1111 rejectionReason: rejectionReason codeVerificationStatus: null status: null - decision: null messagingLimit: TIER_1K qualityUpdateEvent: null qualityRating: null wabaId: whatsapp-business-account-id phoneNumber: +16315551111 requestedVerifiedName: requestedVerifiedName newNameStatus: null nameStatus: null id: "1234567890123456" verifiedName: John’s Cake Shop isOfficialBusinessAccount: true displayPhoneNumber: +1 631-555-1111 rejectionReason: rejectionReason codeVerificationStatus: null status: null properties: items: description: An array containing WhatsApp phone number objects. items: $ref: '#/components/schemas/WhatsappPhoneNumber' type: array type: object WhatsappPhoneNumberProfile: description: WhatsApp Phone Number Business Profile. Customers can view your business profile by clicking your business's name or number in a conversation thread. example: profilePictureUrl: https://URL address: ADDRESS about: ABOUT description: DESCRIPTION vertical: OTHER websites: - https://WEBSITE-1 - https://WEBSITE-1 email: tom@example.com properties: about: description: "The business's **About** text. This text appears in the business's\ \ profile, beneath its profile image, phone number, and contact buttons." example: ABOUT type: string address: description: Address of the business. Character limit 256. example: ADDRESS maxLength: 256 type: string description: description: Description of the business. Character limit 512. example: DESCRIPTION maxLength: 512 type: string email: description: The contact email address (in valid email format) of the business. Character limit 128. example: tom@example.com maxLength: 128 type: string profilePictureUrl: description: URL of the profile picture used to upload to Meta. example: https://URL type: string vertical: $ref: '#/components/schemas/WhatsappPhoneNumberProfileVertical' websites: description: "The URLs associated with the business. For instance, a website,\ \ Facebook Page, or Instagram. You must include the http:// or https://\ \ portion of the URL.\nThere is a maximum of 2 websites with a maximum\ \ of 255 characters each." items: example: https://WEBSITE-1 maxLength: 255 type: string maxItems: 2 type: array type: object WhatsappPhoneNumberProfileUpdateRequest: description: WhatsApp Phone Number Business Profile. Customers can view your business profile by clicking your business's name or number in a conversation thread. example: profilePictureUrl: https://PICTURE-URL address: ADDRESS about: ABOUT description: DESCRIPTION vertical: OTHER websites: - https://WEBSITE-1 - https://WEBSITE-1 email: tom@example.com properties: about: description: "The business's **About** text. This text appears in the business's\ \ profile, beneath its profile image, phone number, and contact buttons.\n\ - String cannot be empty.\n- Strings must be between 1 and 139 characters.\n\ - Rendered emojis are supported however their unicode values are not.\ \ Emoji unicode values must be Java- or JavaScript-escape encoded.\n-\ \ Hyperlinks can be included but will not render as clickable links.\n\ - Markdown is not supported." example: ABOUT maxLength: 139 minLength: 1 type: string address: description: Address of the business. Character limit 256. example: ADDRESS maxLength: 256 type: string description: description: Description of the business. Character limit 512. example: DESCRIPTION maxLength: 512 type: string email: description: The contact email address (in valid email format) of the business. Character limit 128. example: tom@example.com maxLength: 128 type: string profilePictureUrl: description: URL of the profile picture that was uploaded to Meta. example: https://PICTURE-URL type: string vertical: $ref: '#/components/schemas/WhatsappPhoneNumberProfileVertical' websites: description: "The URLs associated with the business. For instance, a website,\ \ Facebook Page, or Instagram. You must include the http:// or https://\ \ portion of the URL.\nThere is a maximum of 2 websites with a maximum\ \ of 255 characters each." items: example: https://WEBSITE-1 maxLength: 255 type: string maxItems: 2 type: array type: object WhatsappPhoneNumberProfileVertical: description: Industry of the WhatsApp phone number business profile. This can be either an empty string or one of the accepted values. enum: - OTHER - AUTO - BEAUTY - APPAREL - EDU - ENTERTAIN - EVENT_PLAN - FINANCE - GROCERY - GOVT - HOTEL - HEALTH - NONPROFIT - PROF_SERVICES - RETAIL - TRAVEL - RESTAURANT example: OTHER type: string WhatsappPhoneNumberQualityRating: description: "Quality rating. One of `GREEN`, `YELLOW`, `RED`, or `UNKNOWN`.\ \ See also [Phone Number Quality Rating](https://www.facebook.com/business/help/896873687365001).\n\ - `GREEN`: High quality.\n- `YELLOW`: Medium quality.\n- `RED`: Low quality.\n\ - `UNKNOWN`: Unknown quality." enum: - GREEN - YELLOW - RED - UNKNOWN type: string WhatsappPhoneNumberQualityUpdateEventEnum: description: "Indicates the update event type of WhatsApp phone number quality\ \ when a notification is sent to you.\n- `ONBOARDING`: Typically when the\ \ messaging limit changes from `TIER_NOT_SET` to another tier. \n- `UPGRADE`:\ \ Messaging limit tier upgraded.\n- `DOWNGRADE`: Messaging limit tier downgraded.\n\ - `FLAGGED`: Flagged status occurs when the quality rating reaches a low state.\ \ If the message quality improves to a high or medium state and maintains\ \ this for 7 days, your status will return to Connected. If the quality rating\ \ doesn't improve, your status will still return to Connected, but you'll\ \ be placed in a lower messaging limit tier. Learn more on [Phone Number Quality\ \ Rating](https://www.facebook.com/business/help/896873687365001) docs.\n\ - `UNFLAGGED`: Phone number status changes from `FLAGGED` to `CONNECTED`." enum: - ONBOARDING - UPGRADE - DOWNGRADE - FLAGGED - UNFLAGGED type: string WhatsappPhoneNumberStatus: description: "The status of a WhatsApp business phone number.\n- `PENDING`:\ \ Pending. Phone number is newly added. Verify and register this phone number\ \ so it can be connected to your account.\n- `UNVERIFIED`: Unverified. Verify\ \ this phone number to start sending messages.\n- `MANUAL_REVIEW`: Being reviewed.\ \ Phone number is currently being reviewed for connection to your account.\n\ - `DISCONNECTED`: Offline. Phone number is currently not reachable by WhatsApp\ \ servers.\n- `CONNECTED`: Connected. Phone number is associated with this\ \ account and working properly.\n- `FLAGGED`: Flagged. This phone number has\ \ been flagged due to low quality messages.\n- `WARNED`: Warned. A warning\ \ has been issued for this number, potentially due to spam reports.\n- `RATE_LIMITED`:\ \ Rate limited. The number of messages you can send from this phone number\ \ may be restricted.\n- `BANNED`: Banned. Phone number cannot be used with\ \ a WhatsApp account.\n- `RESTRICTED`: Restricted. This phone number has reached\ \ its 24-hour messaging limit and can no longer send messages to customers.\ \ Please wait until the messaging limit is reset to send messages.\n- `BLOCKED`:\ \ Message limit reached. The limit has been reached for this 24-hour period.\n\ - `MIGRATED`: Transferred. This phone number has been transferred to another\ \ WhatsApp Business account.\n- `UNKNOWN`: Unavailable. The status of this\ \ phone number can't be determined right now." enum: - PENDING - UNVERIFIED - MANUAL_REVIEW - DISCONNECTED - CONNECTED - FLAGGED - WARNED - RATE_LIMITED - BANNED - RESTRICTED - BLOCKED - MIGRATED - UNKNOWN type: string WhatsappPricingCategory: description: "WhatsApp pricing category.\n- `referral_conversion`: Indicates\ \ a [free entry point conversation](https://developers.facebook.com/docs/whatsapp/pricing#free-entry-point-conversations).\n\ - `authentication`: Indicates the conversation was billed at authentication\ \ rate.\n- `authentication_international`: Indicates the conversation was\ \ conversation was billed at the [authentication-international rate](https://developers.facebook.com/docs/whatsapp/pricing/authentication-international-rates).\n\ - `marketing`: Indicates the conversation was billed at authentication rate.\n\ - `utility`: Indicates the conversation was billed at utility rate.\n- `service`:\ \ Indicates the conversation was billed at service rate.\n\nSee also [Conversation-Based\ \ Pricing](https://developers.facebook.com/docs/whatsapp/pricing)." enum: - referral_conversion - authentication - authentication_international - marketing - utility - service type: string WhatsappProfile: description: Represents the profile of a WhatsApp account. properties: name: description: Name of the WhatsApp account. example: John type: string type: object WhatsappReviewDecision: description: Used if a decision about WhatsApp accounts or phone numbers has been made. enum: - APPROVED - REJECTED type: string WhatsappTemplate: description: "See [WhatsApp Templates](https://developers.facebook.com/docs/whatsapp/business-management-api/message-templates)." example: reason: reason components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example limited_time_offer: has_expiration: true text: Expiring offer! cards: - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url format: TEXT add_security_recommendation: true code_expiration_minutes: 5 text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example limited_time_offer: has_expiration: true text: Expiring offer! cards: - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url format: TEXT add_security_recommendation: true code_expiration_minutes: 5 text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url previousCategory: previousCategory language: en_US updateTime: 2022-06-01T12:00:00Z qualityRating: null messageSendTtlSeconds: 600 wabaId: whatsapp-business-account-id disableDate: "December 9, 2022" createTime: 2022-06-01T12:00:00Z whatsappApiError: error_user_title: Message Cannot Be Submitted code: "200002" error_subcode: "2388109" message: HSM Template creation failed type: OAuthException fbtrace_id: AVGjJ7ia2zJkrHG error_user_msg: This message template cannot be created. error_data: "{}" name: name statusUpdateEvent: null category: null status: REJECTED properties: wabaId: description: WhatsApp Business Account ID. example: whatsapp-business-account-id type: string name: description: Name of the template. maxLength: 512 pattern: "[a-z0-9]{1,512}" type: string language: description: "Language code of the template. See [Supported Languages](https://developers.facebook.com/docs/whatsapp/api/messages/message-templates#supported-languages)\ \ for all codes." example: en_US type: string category: $ref: '#/components/schemas/WhatsappTemplateCategory' previousCategory: description: "This field indicates the template's previous category (or\ \ `null`, for newly created templates after April 1, 2023). Compare this\ \ value to the template's `category` field value, which indicates the\ \ template's current category." type: string messageSendTtlSeconds: description: "**Use only for template category is `AUTHENTICATION`.**\n\ If we are unable to deliver an authentication template for an amount of\ \ time that exceeds its time-to-live, we will stop retrying and drop the\ \ message.\nDefaults to `600` seconds for newly created authentication\ \ templates.\nTo override the default value, set this field to a value\ \ between `60` and `600` seconds. Or set it to `-1` resulting in a 30-day\ \ time-to-live.\nWe encourage you to set a time-to-live for all of your\ \ authentication templates, preferably equal to or less than your code\ \ expiration time, to ensure your customers only get a message when a\ \ code is still usable." example: 600 format: int32 type: integer components: description: "Template components. A template consists of `HEADER`, `BODY`,\ \ `FOOTER`, and `BUTTONS` components. `BODY` component is required, the\ \ other types are optional." items: $ref: '#/components/schemas/WhatsappTemplateComponent' minItems: 1 type: array status: $ref: '#/components/schemas/WhatsappTemplateStatus' qualityRating: $ref: '#/components/schemas/WhatsappTemplateQualityRating' reason: description: The reason why the template is rejected. type: string createTime: description: "The time at which this object is created, formatted in [RFC\ \ 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string updateTime: description: "The time at which this object is updated, formatted in [RFC\ \ 3339](https://datatracker.ietf.org/doc/html/rfc3339). e.g., `2022-06-01T12:00:00.000Z`." example: 2022-06-01T12:00:00Z format: date-time type: string statusUpdateEvent: $ref: '#/components/schemas/WhatsappTemplateStatusUpdateEventEnum' disableDate: description: "The date at which the template will be disabled. When a WhatsApp\ \ template `FLAGGED` event is received, this field is set." example: "December 9, 2022" type: string whatsappApiError: $ref: '#/components/schemas/WhatsappApiError' required: - language - name - wabaId type: object WhatsappTemplateCategory: description: "Category of WhatsApp templates.\n- `AUTHENTICATION`: Enable businesses\ \ to authenticate users with one-time passcodes, potentially at multiple steps\ \ in the login process (e.g., account verification, account recovery, integrity\ \ challenges).\n- `MARKETING`: Include promotions or offers, informational\ \ updates, or invitations for customers to respond / take action. Any conversation\ \ that does not qualify as utility or authentication is a marketing conversation.\n\ - `UTILITY`: Facilitate a specific, agreed-upon request or transaction or\ \ update to a customer about an ongoing transaction, including post-purchase\ \ notifications and recurring billing statements." enum: - AUTHENTICATION - MARKETING - UTILITY type: string WhatsappTemplateComponent: example: buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example limited_time_offer: has_expiration: true text: Expiring offer! cards: - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url format: TEXT add_security_recommendation: true code_expiration_minutes: 5 text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url properties: type: description: "**Required.** Template component type.\n- `BODY`: Body components\ \ are text-only components and are required by all templates. Templates\ \ are limited to one body component.\n- `HEADER`: Headers are optional\ \ components that appear at the top of template messages. Headers support\ \ text, media (images, videos, documents). Templates are limited to one\ \ header component.\n- `FOOTER`: Footers are optional text-only components\ \ that appear immediately after the body component. Templates are limited\ \ to one footer component.\n- `BUTTONS`: Buttons are optional interactive\ \ components that perform specific actions when tapped.\n- `LIMITED_TIME_OFFER`:\ \ Use for limited-time offer templates. The delivered message can display\ \ an offer expiration details section with a heading, an optional expiration\ \ timer, and the offer code itself.\n- `CAROUSEL`: Carousel templates\ \ allow you to send a single text message (1), accompanied by a set of\ \ up to 10 carousel cards (2) in a horizontally scrollable view." enum: - BODY - HEADER - FOOTER - BUTTONS - LIMITED_TIME_OFFER - CAROUSEL type: string format: description: '**Required for type `HEADER`.**' enum: - TEXT - IMAGE - VIDEO - DOCUMENT type: string text: description: "For body text (type = `BODY`), maximum 1024 characters.\n\ For header text (type = `HEADER`, format = `TEXT`), maximum 60 characters.\n\ For footer text (type = `FOOTER`), maximum 60 characters.\nFor card body\ \ text (`CAROUSEL` card component type = `BODY`), maximum 160 characters." maxLength: 1024 type: string buttons: description: "**Required for type `BUTTONS`.**\nButtons are optional interactive\ \ components that perform specific actions when tapped. Templates can\ \ have a mixture of up to 10 button components total, although there are\ \ limits to individual buttons of the same type as well as combination\ \ limits.\nIf a template has more than three buttons, two buttons will\ \ appear in the delivered message and the remaining buttons will be replaced\ \ with a **See all options** button. Tapping the **See all options** button\ \ reveals the remaining buttons." items: $ref: '#/components/schemas/WhatsappTemplateComponentButton' maxItems: 10 type: array add_security_recommendation: description: "**Optional. Only applicable in the `BODY` component of an\ \ AUTHENTICATION template.**\nSet to `true` if you want the template to\ \ include the string, *For your security, do not share this code.* Set\ \ to `false` to exclude the string." type: boolean code_expiration_minutes: description: "**Optional. Only applicable in the `FOOTER` component of an\ \ AUTHENTICATION template.**\nIndicates number of minutes the password\ \ or code is valid.\nIf omitted, the code expiration warning will not\ \ be displayed in the delivered message.\nMinimum 1, maximum 90." example: 5 format: int32 maximum: 90 minimum: 1 type: integer limited_time_offer: $ref: '#/components/schemas/WhatsappTemplateComponentLimitedTimeOffer' example: $ref: '#/components/schemas/WhatsappTemplateComponentExample' cards: description: |- **Required for type `CAROUSEL`.** Carousel templates support up to 10 carousel cards. items: $ref: '#/components/schemas/WhatsappTemplateComponentCard' maxItems: 10 type: array type: object WhatsappTemplateComponentButton: example: autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example properties: type: $ref: '#/components/schemas/WhatsappTemplateComponentButtonType' text: description: "**Required for button type `PHONE_NUMBER` or `URL`.** Button\ \ text.\nFor `CODE_CODE` buttons, the text is a pre-set value and cannot\ \ be customized.\nFor `OTP` buttons, if omitted, the text will default\ \ to a pre-set value localized to the template's language. For example,\ \ `Copy Code` for English (US). If your template is using a one-tap autofill\ \ button and you supply this value, the authentication template message\ \ will display a copy code button with this text if we are unable to validate\ \ your [handshake](https://developers.facebook.com/docs/whatsapp/business-management-api/authentication-templates/autofill-button-authentication-templates#handshake).\ \ Maximum 25 characters." maxLength: 25 type: string url: description: "**Required for button type `URL`.** URL of website.\nThere\ \ can be at most 1 variable at the end of the URL. Example: `https://www.luckyshrub.com/shop?promo={{1}}`.\n\ 2000 characters maximum." maxLength: 2000 type: string phone_number: description: |- **Required for button type `PHONE_NUMBER`.** Alphanumeric string. Business phone number to be (display phone number) called when the user taps the button. 20 characters maximum. example: "15550051310" maxLength: 20 type: string otp_type: $ref: '#/components/schemas/WhatsappTemplateComponentButtonOtpType' autofill_text: description: |- **One-tap and zero-tap buttons only.** One-tap button text. Maximum 25 characters. example: Autofill maxLength: 25 type: string package_name: description: |- **One-tap and zero-tap buttons only.** Your Android app's package name. example: com.example.myapplication type: string signature_hash: description: "**One-tap and zero-tap buttons only.**\nYour app signing key\ \ hash. See [App Signing Key Hash](https://developers.facebook.com/docs/whatsapp/business-management-api/authentication-templates/zero-tap-authentication-templates#app-signing-key-hash)." example: K8a%2FAINcGX7 type: string zero_tap_terms_accepted: description: "**Zero-tap buttons only.**\nSet to `true` to indicate that\ \ you understand that your use of zero-tap authentication is subject to\ \ the WhatsApp Business Terms of Service, and that it's your responsibility\ \ to ensure your customers expect that the code will be automatically\ \ filled in on their behalf when they choose to receive the zero-tap code\ \ through WhatsApp.\nIf set to `false`, the template will not be created\ \ as you need to accept zero-tap terms before creating zero-tap enabled\ \ message templates." type: boolean example: description: Sample full URL for a `URL` button with a variable. items: type: string type: array required: - type type: object WhatsappTemplateComponentButtonOtpType: description: "Indicates button OTP type.\nSet to `COPY_CODE` if you want the\ \ template to use a copy code button, `ONE_TAP` to have it use a one-tap autofill\ \ button, or `ZERO_TAP` to have no button at all." enum: - COPY_CODE - ONE_TAP - ZERO_TAP type: string WhatsappTemplateComponentButtonType: description: "Button type.\n- `PHONE_NUMBER`: Phone number buttons call the\ \ specified business phone number when tapped by the app user. Templates are\ \ limited to one phone number button.\n- `URL`: URL buttons load the specified\ \ URL in the device's default web browser when tapped by the app user. Templates\ \ are limited to two URL buttons.\n- `QUICK_REPLY`: Quick reply buttons are\ \ custom text-only buttons that immediately message you with the specified\ \ text string when tapped by the app user. Templates are limited to 10 quick\ \ reply buttons. If using quick reply buttons with other buttons, buttons\ \ must be organized into two groups: quick reply buttons and non-quick reply\ \ buttons.\n- `COPY_CODE`: Copy code buttons copy a text string (defined when\ \ the template is sent in a template message) to the device's clipboard when\ \ tapped by the app user. Templates are limited to one copy code button.\n\ - `OTP`: One-time password (OTP) buttons are a special type of URL button\ \ component used with authentication templates.\n- `CATALOG`: When a customer\ \ taps the **View catalog** button in a catalog template message, your product\ \ catalog appears within WhatsApp.\n- `MPM`: Customers can browse products\ \ and sections by tapping the **View items** button in a multi-product template\ \ message." enum: - PHONE_NUMBER - URL - QUICK_REPLY - COPY_CODE - OTP - CATALOG - MPM type: string WhatsappTemplateComponentCard: description: "Carousel templates support up to 10 carousel cards. Cards must\ \ have a media header (image or video) and can optionally include body text\ \ and up to 2 quick reply buttons, phone number buttons, or URL buttons (button\ \ types can be mixed)." example: components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url properties: components: description: |- **Required.** Card components. items: $ref: '#/components/schemas/WhatsappTemplateComponentCardComponent' type: array type: object WhatsappTemplateComponentCardComponent: example: buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url properties: type: description: "**Required.**\nCard component type.\n- `BODY`: Body components\ \ are text-only components. Cards must have body text.\n- `HEADER`: Cards\ \ must have a media header (image or video).\n- `BUTTONS`: Buttons are\ \ interactive components that perform specific actions when tapped. Cards\ \ must have at least one button, up to 2 buttons." enum: - BODY - HEADER - BUTTONS type: string format: description: |- **Required for type `HEADER`.** Cards must have a media header (image or video). enum: - IMAGE - VIDEO type: string text: description: |- **Required for type `BODY`.** Card body text supports variables. Maximum 160 characters. maxLength: 160 type: string buttons: description: "**Required for type `BUTTONS`.**\nCards must have at least\ \ one button. Supports 2 buttons. Buttons can be the same or a mix of\ \ quick reply buttons, phone number buttons, or URL buttons." items: $ref: '#/components/schemas/WhatsappTemplateComponentButton' maxItems: 2 minItems: 1 type: array example: $ref: '#/components/schemas/WhatsappTemplateComponentExample' type: object WhatsappTemplateComponentExample: description: "**Required** when:\n- `type` is `HEADER`, and `format` is one\ \ of `IMAGE`, `VIDEO`, or `DOCUMENT`. Provide a sample media URL in `header_url`.\n\ - `type` is `HEADER`, `format` is `TEXT`, and a variable is used in `text`.\ \ Provide a sample value for that variable in `header_text`. There can be\ \ at most 1 variable in `HEADER` text.\n- `type` is `BODY`, and variables\ \ are used in `text`. Provide sample values for those variables in `body_text`." example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url properties: body_text: description: Sample values for variables in `text` of a `BODY` component. items: items: type: string type: array type: array header_text: description: Sample value for the variable in `text` of a `HEADER` component. items: type: string type: array header_url: description: "Sample media URL for a `HEADER` component whose format is\ \ one of `IMAGE`, `VIDEO`, or `DOCUMENT`.\nSupported types:\n- For `IMAGE`,\ \ the URL must end with one of `.jpg`, `.jpeg`, or `.png`, size limit\ \ is 5MB.\n- For `VIDEO`, the URL must end with `.mp4`, size limit is\ \ 16MB.\n- For `DOCUMENT`, the URL must end with `.pdf`, size limit is\ \ 100MB." items: type: string type: array type: object WhatsappTemplateComponentLimitedTimeOffer: description: Use for `LIMITED_TIME_OFFER` components. example: has_expiration: true text: Expiring offer! properties: text: description: |- **Required.** Offer details text. Maximum 16 characters. example: Expiring offer! maxLength: 16 type: string has_expiration: description: "**Optional.**\nSet to `true` to have the [offer expiration\ \ details](https://developers.facebook.com/docs/whatsapp/business-management-api/message-templates/limited-time-offer-templates#offer-expiration-details)\ \ appear in the delivered message.\nIf set to `true`, the copy code button\ \ component must be included in the `buttons` array, and must appear first\ \ in the array.\nIf set to `false`, offer expiration details will not\ \ appear in the delivered message and the copy code button component is\ \ optional. If including the copy code button, it must appear first in\ \ the `buttons` array." type: boolean type: object WhatsappTemplateCreateRequest: description: "See [WhatsApp Templates](https://developers.facebook.com/docs/whatsapp/business-management-api/message-templates)." example: wabaId: whatsapp-business-account-id components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example limited_time_offer: has_expiration: true text: Expiring offer! cards: - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url format: TEXT add_security_recommendation: true code_expiration_minutes: 5 text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example limited_time_offer: has_expiration: true text: Expiring offer! cards: - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url format: TEXT add_security_recommendation: true code_expiration_minutes: 5 text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url name: sample_whatsapp_template language: en_US category: null messageSendTtlSeconds: 600 properties: wabaId: description: WhatsApp Business Account ID. example: whatsapp-business-account-id type: string name: description: Name of the template. example: sample_whatsapp_template maxLength: 512 pattern: "[a-z0-9]{1,512}" type: string language: description: "Language code of the template. See [Supported Languages](https://developers.facebook.com/docs/whatsapp/api/messages/message-templates#supported-languages)\ \ for all codes." example: en_US type: string category: $ref: '#/components/schemas/WhatsappTemplateCategory' messageSendTtlSeconds: description: "**Use only for template category is `AUTHENTICATION`.**\n\ If we are unable to deliver an authentication template for an amount of\ \ time that exceeds its time-to-live, we will stop retrying and drop the\ \ message.\nDefaults to `600` seconds for newly created authentication\ \ templates.\nTo override the default value, set this field to a value\ \ between `60` and `600` seconds. Or set it to `-1` resulting in a 30-day\ \ time-to-live.\nWe encourage you to set a time-to-live for all of your\ \ authentication templates, preferably equal to or less than your code\ \ expiration time, to ensure your customers only get a message when a\ \ code is still usable." example: 600 format: int32 type: integer components: items: $ref: '#/components/schemas/WhatsappTemplateComponent' type: array required: - category - components - language - name - wabaId type: object WhatsappTemplateEditRequest: description: The request body to edit a WhatsApp template. example: components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example limited_time_offer: has_expiration: true text: Expiring offer! cards: - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url format: TEXT add_security_recommendation: true code_expiration_minutes: 5 text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example limited_time_offer: has_expiration: true text: Expiring offer! cards: - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url format: TEXT add_security_recommendation: true code_expiration_minutes: 5 text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url messageSendTtlSeconds: 600 properties: components: items: $ref: '#/components/schemas/WhatsappTemplateComponent' type: array messageSendTtlSeconds: description: "**Use only for template category is `AUTHENTICATION`.**\n\ If we are unable to deliver an authentication template for an amount of\ \ time that exceeds its time-to-live, we will stop retrying and drop the\ \ message.\nDefaults to `600` seconds for newly created authentication\ \ templates.\nTo override the default value, set this field to a value\ \ between `60` and `600` seconds. Or set it to `-1` resulting in a 30-day\ \ time-to-live.\nWe encourage you to set a time-to-live for all of your\ \ authentication templates, preferably equal to or less than your code\ \ expiration time, to ensure your customers only get a message when a\ \ code is still usable." example: 600 format: int32 type: integer required: - components type: object WhatsappTemplatePage: allOf: - $ref: '#/components/schemas/Page' description: Represents a given page of WhatsApp templates. example: items: - reason: reason components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example limited_time_offer: has_expiration: true text: Expiring offer! cards: - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url format: TEXT add_security_recommendation: true code_expiration_minutes: 5 text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example limited_time_offer: has_expiration: true text: Expiring offer! cards: - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url format: TEXT add_security_recommendation: true code_expiration_minutes: 5 text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url previousCategory: previousCategory language: en_US updateTime: 2022-06-01T12:00:00Z qualityRating: null messageSendTtlSeconds: 600 wabaId: whatsapp-business-account-id disableDate: "December 9, 2022" createTime: 2022-06-01T12:00:00Z whatsappApiError: error_user_title: Message Cannot Be Submitted code: "200002" error_subcode: "2388109" message: HSM Template creation failed type: OAuthException fbtrace_id: AVGjJ7ia2zJkrHG error_user_msg: This message template cannot be created. error_data: "{}" name: name statusUpdateEvent: null category: null status: REJECTED - reason: reason components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example limited_time_offer: has_expiration: true text: Expiring offer! cards: - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url format: TEXT add_security_recommendation: true code_expiration_minutes: 5 text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example limited_time_offer: has_expiration: true text: Expiring offer! cards: - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - components: - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url - buttons: - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example - autofill_text: Autofill package_name: com.example.myapplication phone_number: "15550051310" text: text otp_type: null type: null signature_hash: K8a%2FAINcGX7 url: url zero_tap_terms_accepted: true example: - example - example format: IMAGE text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url format: TEXT add_security_recommendation: true code_expiration_minutes: 5 text: text type: BODY example: body_text: - - body_text - body_text - - body_text - body_text header_text: - header_text - header_text header_url: - header_url - header_url previousCategory: previousCategory language: en_US updateTime: 2022-06-01T12:00:00Z qualityRating: null messageSendTtlSeconds: 600 wabaId: whatsapp-business-account-id disableDate: "December 9, 2022" createTime: 2022-06-01T12:00:00Z whatsappApiError: error_user_title: Message Cannot Be Submitted code: "200002" error_subcode: "2388109" message: HSM Template creation failed type: OAuthException fbtrace_id: AVGjJ7ia2zJkrHG error_user_msg: This message template cannot be created. error_data: "{}" name: name statusUpdateEvent: null category: null status: REJECTED properties: items: description: An array containing WhatsApp template objects. items: $ref: '#/components/schemas/WhatsappTemplate' type: array type: object WhatsappTemplateQualityRating: description: "Quality rating of WhatsApp template. One of `GREEN`, `YELLOW`,\ \ `RED`, or `UNKNOWN`. See also [Template Quality Rating](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines/#quality-rating).\n\ - `GREEN`: High quality.\n- `YELLOW`: Medium quality.\n- `RED`: Low quality.\n\ - `UNKNOWN`: Unknown quality." enum: - GREEN - YELLOW - RED - UNKNOWN type: string WhatsappTemplateStatus: description: "The status of a WhatsApp template.\n- `PENDING`: The template\ \ is still under review. Review can take up to 24 hours.\n- `REJECTED`: The\ \ template has been rejected during review process.\n- `APPROVED`: The template\ \ is approved, and you may begin sending it to customers.\n- `PAUSED`: The\ \ template has been paused due to recurring negative feedback from customers.\ \ Message templates with this status cannot be sent to customers. See [Template\ \ Pausing](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines#template-pausing).\n\ - `DISABLED`: The template has been disabled due to recurring negative feedback\ \ from customers or for violating one or more of our policies. Message templates\ \ with this status cannot be sent to customers. You may be able to edit a\ \ disabled message template and request an appeal. See [Appeals](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines#appeals).\n\ - `IN_APPEAL`: The template is in appeal. See also [Template Appeals](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines#appeals).\n\ - `DELETED`: The template is deleted." enum: - PENDING - REJECTED - APPROVED - PAUSED - DISABLED - IN_APPEAL - DELETED example: REJECTED type: string WhatsappTemplateStatusUpdateEventEnum: description: "Used when an event happened on WhatsApp template status updates.\n\ - `PENDING`: Pending.\n- `APPROVED`: Approved.\n- `REJECTED`: Rejected.\n\ - `IN_APPEAL`: In appeal. See also [Template Appeals](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines#appeals).\n\ - `PAUSED`: Paused. See also [Template Pausing](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines#template-pausing).\n\ - `FLAGGED`: Flagged. The template is scheduled for disabling.\n- `DISABLED`:\ \ Disabled. See also [Template Pausing](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines#template-pausing).\n\ - `REINSTATED`: Reinstated.\n- `PENDING_DELETION`: Pending deletion." enum: - PENDING - APPROVED - REJECTED - IN_APPEAL - PAUSED - FLAGGED - DISABLED - REINSTATED - PENDING_DELETION type: string WhatsappInboundMessageInteractive_button_reply: description: Sent when a customer clicks a button. Returned when `type` is `button_reply`. properties: id: description: Unique ID of the clicked button. type: string title: description: Title of a button. type: string type: object WhatsappInboundMessageInteractive_list_reply: description: Sent when a customer selects an item from a list. Returned when `type` is `list_reply`. properties: id: description: Unique ID of the selected list item. type: string title: description: Title of the selected list item. type: string description: description: Description of the selected row. type: string type: object WhatsappMessageInteractiveActionButton_reply: example: id: id title: title properties: title: description: "Button title. It cannot be an empty string and must be unique\ \ within the message. Emojis are supported, markdown is not. Maximum length:\ \ 20 characters." maxLength: 20 type: string id: description: "Unique identifier for your button. This ID is returned in\ \ the webhook when the button is clicked by the user. Maximum length:\ \ 256 characters. You cannot have leading or trailing spaces when setting\ \ the ID." maxLength: 256 type: string type: object WhatsappMessageTemplate_language: description: Contains a language object. Specifies the language the template may be rendered in. example: code: en_US policy: deterministic properties: code: description: "The code of the language or locale to use. Accepts both language\ \ and language_locale formats (e.g., en and en_US). See [Supported Languages](https://developers.facebook.com/docs/whatsapp/api/messages/message-templates#supported-languages)\ \ for all codes." example: en_US type: string policy: description: "The language policy the message should follow.\nDefault (and\ \ only supported option): `deterministic`, which means that WhatsApp delivers\ \ the message template in exactly the language and locale asked for." example: deterministic type: string required: - code type: object securitySchemes: api_key: in: header name: X-API-Key type: apiKey