openapi: 3.0.0 info: version: 1.8.0 title: Route Mobile WhatsApp Business API description: |- The Route Mobile WhatsApp Business API enables enterprises to programmatically send and receive WhatsApp messages at scale. Use these APIs to integrate WhatsApp messaging into your applications for notifications, customer engagement, commerce, and support. ## Getting Started 1. **Authenticate** — Call the [Login API](#tag/Authentication/operation/loginApi) to obtain a JWT token. 2. **Send Messages** — Use the [Send Messages API](#tag/Messaging/operation/sendMessages) to deliver template or session messages. 3. **Receive Callbacks** — Configure your webhook URL to receive [delivery reports and incoming messages](#tag/Webhooks). ## Key Concepts - **Template Messages** — Pre-approved message templates for outbound notifications (marketing, utility, authentication). - **Session Messages** — Free-form messages within a 24-hour customer service window. - **Bulk Campaigns** — Send messages to thousands of recipients via file upload. - **Catalog & Commerce** — Product catalogs, payments, and order management via WhatsApp. ## Authentication All API endpoints (except Login) require a JWT bearer token in the `Authorization` header. Tokens are valid for **one hour** by default. ``` Authorization: ``` ## Rate Limits API rate limits are governed by your account tier. Contact your account manager for details. ## Support For API support, visit the [Route Mobile Developer Hub](https://developers.routemobile.com/) or reach out to [product-desk@routemobile.com](mailto:product-desk@routemobile.com). contact: name: Route Mobile Developer Support url: https://developers.routemobile.com/ email: product-desk@routemobile.com termsOfService: https://www.routemobile.com/terms-of-service/ license: name: Proprietary url: https://www.routemobile.com/terms-of-service/ x-logo: url: https://www.routemobile.com/wp-content/uploads/2023/04/route-mobile-logo.svg altText: Route Mobile x-readme: explorer-enabled: true proxy-enabled: true samples-enabled: true servers: - url: https://apis.rmlconnect.net security: - BearerAuth: [] tags: - name: Authentication description: Authenticate with the Route Mobile WhatsApp Business API to obtain a JWT token for subsequent API calls. - name: Account Management description: Manage your WhatsApp Business profile settings, account details, and profile photo. - name: Messaging description: Send template messages (marketing, utility, authentication) and session messages (text, media, interactive, payments, flows) to individual recipients. - name: Bulk Campaigns description: Upload files, create, start, pause, and resume bulk messaging campaigns to reach large audiences. - name: Catalog Management description: Create, update, delete, and fetch product feeds and catalog details for WhatsApp Commerce. - name: Reports description: Generate, download, and query messaging reports including delivery stats, campaign metrics, opt-in data, and template usage counts. - name: Opt-in Management description: Store and verify user opt-in and opt-out consent for WhatsApp messaging compliance. - name: Webhooks description: Receive real-time delivery reports, incoming messages, and interaction callbacks via your configured webhook URL. paths: /wba/v2/upload: post: tags: - Bulk Campaigns summary: File Upload description: The File Upload API sends multiple messages to users in a single upload. operationId: fileUpload parameters: - name: source in: query description: The details of the source for uploading the file for a bulk campaign. required: false style: form explode: true schema: type: string example: UI - name: debug in: query description: The parameter that enables or disables the debug mode. Set the default value of "debug=True" to enable the debug mode. The system generates additional information and logs to help resolving troubleshoot and debug issues with the bulk campaigns. style: form explode: true schema: enum: - 'True' - 'False' example: 'True' requestBody: description: Upload a CSV or text file containing recipient phone numbers and message content for a bulk campaign. content: multipart/form-data: schema: $ref: '#/components/schemas/BulkUploadRequest' examples: Example: value: campaign_type: string file: string file_mimetype: string filename: string message: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/BulkUploadResponse' examples: Example 1: value: message: File uploaded successfully campaign_id: 670b3fd4-d442-11ed-a821-xxxxxxxxxxxx file_type: text/csv file_size: 19.0B total_records: 1 valid_records: 1 duplicate records: 0 campaign_type: generalized message_preview: phone: '{phone}' enable_acculync: true extra: '{''asd'':''asd''}' media: type: media_template template_name: boarding_pass_update lang_code: en header: - image: link: https://media.istockphoto.com/vectors/airplane-ticket-boarding-pass-ticket-template-vector-id878xxxxxx body: - text: Here is your boarding pass asynchronous: false country_code: string '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/JwtExpiredError' examples: JWT Token Expired: value: message: unable to process campaign request reason: jwt token expired status: failure '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '422': description: Unprocessable Entity (WebDAV) content: application/json: schema: oneOf: - $ref: '#/components/schemas/UnknownCampaignTypeError' - $ref: '#/components/schemas/FileMimetypeError' examples: Unknown campaign type: value: message: please check API docs for more info status: failed reason: campaign_type: - 'Must be one of: generalized, personalized.' File Mimetype error: value: message: please check API docs for more info status: failed reason: file_mimetype: - 'Must be one of: text/csv, text/plain, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.openxmlformats-officedocument.spreadsheetml.template, application/vnd.ms-excel.sheet.macroEnabled.12, application/vnd.ms-excel.template.macroEnabled.12, application/vnd.ms-excel.addin.macroEnabled.12, application/vnd.ms-excel.sheet.binary.macroEnabled.12.' '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status of the message delivery. message: type: string description: The message response. examples: Internal server error: value: status: failure message: unable to process request security: - BearerAuth: [] /wba/v2/manage_campaign: post: tags: - Bulk Campaigns summary: Send Bulk Campaign description: The Send Bulk Campaign API sends messages in bulk to multiple users, manages large-scale campaigns, and reduces the workload for marketers or business owners. operationId: sendBulkCampaign parameters: - name: debug in: query description: The parameter that enables or disables the debug mode. Set the default value of "debug=True" to enable the debug mode. The system generates additional information and logs to help resolving troubleshoot and debug issues with the bulk campaigns. style: form explode: true schema: enum: - 'True' - 'False' example: 'True' - name: source in: query description: The details of the source for uploading the file for a bulk campaign. required: false style: form explode: true schema: type: string example: UI requestBody: description: Start, pause, or resume a bulk messaging campaign. content: application/json: schema: oneOf: - $ref: '#/components/schemas/StartCampaignRequest' - $ref: '#/components/schemas/ResumeCampaignRequest' - $ref: '#/components/schemas/PauseCampaignRequest' examples: Start Campaign: value: campaign_action: start campaign_id: '{campaign id}' campaign_name: '{campaign name}' file_mimetype: text/plain or text/csv filename: '{filename with extension}' payload: type: '{payload type}' scheduled_time: '{date and time in UTC e.g.2021-12-08 13:36:00}' Pause Campaign: value: campaign_action: pause campaign_id: '{campaign id}' Resume Campaign: value: campaign_action: resume campaign_id: '{campaign id}' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/CampaignAcceptedResponse' examples: Example: value: status: success message: campaign with id 670b3fd4-d442-11ed-a821-xxxxxxxxxxxx is now processing '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/CampaignBadRequestError' examples: Filename Mismatch: value: status: failed message: unable to process request reason: file name mismatch between /upload and /campaign endpoints for 670b3fd4-d442-11ed-a821-xxxxxxxxxxxx '401': description: Authentication Failure content: application/json: schema: $ref: '#/components/schemas/CampaignAuthError' examples: JWT Token Expired: value: status: failed message: unable to process request reason: jwt token expired '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '422': description: Unprocessable Entity (WebDAV) content: application/json: schema: oneOf: - $ref: '#/components/schemas/IncorrectPayloadTypeError' - $ref: '#/components/schemas/IncorrectCampaignIdError' examples: Incorrect Payload Type: value: message: please check API docs for more info status: failed reason: payload: - Unable to check payload type Incorrect Campaign ID: value: message: please check API docs for more info status: failed reason: campaign_id: - Not a Valid Campaign Id '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status of the bulk campaign. message: type: string description: The response message. reason: type: string description: The reason for not processing the request. examples: Example: value: status: failed message: unable to process request reason: security: - BearerAuth: [] /wba/catalog/manager/v1/upload: post: tags: - Catalog Management summary: Upload File description: Upload the product feed file. operationId: uploadFile requestBody: description: Upload a product catalog file (CSV) with item details. content: multipart/form-data: schema: $ref: '#/components/schemas/CatalogUploadRequest' examples: Example 1: value: action: Update file: string file_name: file_name responses: '200': description: Success content: application/json: schema: type: object properties: status: type: string description: The status of the upload file. file_url: type: string description: The URL for uploading a file. count: type: integer description: The number of products added in the catalog file. examples: Example: value: status: success file_url: AWS S3 url count: 20 '400': description: Bad Request content: application/json: schema: type: object properties: error: type: array description: The error received during file upload. items: type: string examples: Example: value: error: - Provide file_name '401': description: Authentication Failure content: application/json: schema: $ref: '#/components/schemas/CatalogUnauthorizedError' examples: JWT Token Expired: value: message: unable to process campaign request reason: jwt token expired status: failure '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status of the message delivery. message: type: string description: The message response. reason: type: string description: The reason for not processing the file upload request. examples: Example: value: status: failed message: unable to process request reason: reason security: - BearerAuth: [] /wba/catalog/manager/v1/create_product_feed: post: tags: - Catalog Management summary: Create Product Feed description: Create a feed of products for a WhatsApp Business account. operationId: createProductFeed requestBody: description: Create a new product feed with a file URL and optional schedule. content: multipart/form-data: schema: $ref: '#/components/schemas/CreateProductFeedRequest' examples: Example 1: value: file_url: file_url name: product_feed_name schedule: '"interval":"HOURLY","scheduled_time":"2022-09-06 11:38:00"' responses: '200': description: SUCCESS content: application/json: schema: type: object properties: status: type: string description: The status of the create product feed. examples: Example: value: status: processing '400': description: Bad Request content: application/json: schema: type: object properties: name: type: array description: The required fields name. items: type: string examples: Example: value: name: - Missing data for required field. application/xml: schema: type: object multipart/form-data: schema: type: object '401': description: Authentication Failure content: application/json: schema: $ref: '#/components/schemas/JwtExpiredError' examples: Incorrect authorization token: value: message: Unable to process request status: Failed reason: Please check the integrity or validity of the token sent. '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status of the message delivery. message: type: string description: The message response. reason: type: string description: The reason for not processing the product feed request. examples: Example: value: status: failed message: unable to process request reason: reason security: - BearerAuth: [] /wba/catalog/manager/v1/update_product_feed: post: tags: - Catalog Management summary: Update Product Feed description: Update an existing feed of products for a WhatsApp Business account. operationId: updateProductFeed requestBody: description: Update an existing product feed with new file content or schedule. content: multipart/form-data: schema: $ref: '#/components/schemas/UpdateProductFeedRequest' examples: Example 1: value: file_url: string product_feed_id: string schedule: '"interval":"HOURLY","scheduled_time":"2022-09-06 11:38:00"' responses: '200': description: Success content: application/json: schema: type: object properties: status: type: string description: The status of the product feed. examples: Example: value: status: processing '400': description: Bad Request content: application/json: schema: type: object properties: product_feed_id: type: array description: The unique identifier of the product feed. items: type: string examples: Example: value: product_feed_id: - Missing data for required field. '401': description: Authentication Failure content: application/json: schema: $ref: '#/components/schemas/JwtExpiredError' examples: Example: value: message: Unable to process request status: Failed reason: Please check the integrity or validity of the token sent. '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status of product feed updates. message: type: string description: The message response. reason: type: string description: The reason for not updating the product feed. examples: Example: value: status: failed message: unable to process request reason: reason security: - BearerAuth: [] /wba/catalog/manager/v1/delete_product_feed: post: tags: - Catalog Management summary: Delete product Feed description: Delete an existing feed of products for a WhatsApp Business account. operationId: deleteProductFeed requestBody: description: Delete a product feed by its unique identifier. content: application/json: schema: $ref: '#/components/schemas/DeleteProductFeedRequest' application/xml: schema: $ref: '#/components/schemas/DeleteProductFeedRequestAlt' examples: Example 1: value: product_feed_id: '{product_feed_id}' responses: '200': description: Success content: application/json: schema: type: object properties: status: type: string description: The status of the product feed. examples: Example 1: value: status: processing '400': description: Bad Request content: application/json: schema: type: object properties: product_feed_id: type: array description: The unique identifier of the product feed. items: type: string examples: Example 1: value: product_feed_id: - Missing data for required field. '401': description: Authentication Failure content: application/json: schema: $ref: '#/components/schemas/CatalogAuthError' examples: Example 1: value: message: Unable to process request status: Failed reason: Please check the integrity or validity of the token sent. '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status for the product feed. message: type: string description: The response message. reason: type: string description: The reason for not deleting the product feed request. examples: Example 1: value: status: failed message: unable to process request reason: reason security: - BearerAuth: [] /wba/catalog/manager/v1/fetch_product_feed: get: tags: - Catalog Management summary: Fetch Product Feed Details description: |- Fetch product feed details, which is used to retrieve details about a specific product feed. The product feed includes a comma-separated list of field names: - retailer_id: The ID of the retailer associated with the product. - name: The name of the product. - price: The price of the product. - availability: The availability status of the product. - id: The ID of the product. - description: The description of the product. - color: The color of the product. - size: The size of the product. - condition: The condition of the product. - product_type: The type of product. - quantity_to_sell_on_facebook: The quantity of the product to be sold on Facebook. - url: The URL of the product. - gender: The gender for which the product is intended. - age_group: The age group for which the product is intended. - sale_price: The sale price of the product. - mpn: The manufacturer part number of the product. - sale_price_effective_date: The effective date range of the sale price. - brand: The brand of the product. - custom_label_0: A custom label for the product. operationId: fetchProductFeedDetails parameters: - name: product_feed_id in: query description: The unique ID of the product feed for which details should be fetched. required: true schema: type: string - name: fields in: query description: The fields that should be included in the response. The value should be a comma-separated list of field names, such as "retailer_id, name, price, id". required: true schema: type: string - name: limit in: query description: The maximum number of products to return in the response. The value should be an integer. required: true schema: type: string responses: '200': description: Success content: application/json: schema: type: object properties: data: type: array description: The product feed details. items: type: object examples: Example 1: value: data: - name: Dairy Milk Silk id: xxxxxxxxxxxxxxxxx price: ₹125.00 description: Dairy Products retailer_id: xxxxx - name: Maggie Pasta id: xxxxxxxxxxxxxxxxx price: ₹25.00 description: Instant Food retailer_id: xxxxx - name: Pulses 1kg id: xxxxxxxxxxxxxxxxx price: ₹200.00 description: Pulses are very good for health retailer_id: xxxxx - name: Cow Ghee id: xxxxxxxxxxxxxxxxx price: ₹499.00 description: Healty Cow Ghee retailer_id: xxxxx - name: BESAN 250 Gm id: xxxxxxxxxxxxxxxxx price: ₹32.00 description: Besan or Gram flour is made from Chana Dal. Besan atta is used too make Bhaji, Vada , Sev, Chaklis, and many more items. It has various beauty benefits. retailer_id: xxxxx - name: Pastry id: xxxxxxxxxxxxxxxxx price: ₹50.00 description: Dairy Products retailer_id: xxxxx - name: Tea 2 kg id: xxxxxxxxxxxxxxxxx price: ₹800.00 description: Tea & Coffee retailer_id: xxxxx - name: Olive Oil 1L id: xxxxxxxxxxxxxxxxx price: ₹400.00 description: Olive Oil retailer_id: xxxxx - name: Olive Oil 2L id: xxxxxxxxxxxxxxxxx price: ₹799.00 description: Olive Oil retailer_id: xxxxx - name: Yippe Pasta id: xxxxxxxxxxxxxxxxx price: ₹25.00 description: Instant Food retailer_id: xxxxx - name: Cotton Oil id: xxxxxxxxxxxxxxxxx price: ₹499.00 description: Cotton Oil retailer_id: xxxxx next_url: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/v1/fetch_product_feed?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&limit=10&fields=name,id,price,description,retailer_id&product_feed_id=xxxxxxxxxxxxxxx&after=xxxxxxxxxxxxxxxxxxxxxxxx&before= prev_url: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/v1/fetch_product_feed?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&limit=10&fields=name,id,price,description,retailer_id&product_feed_id=xxxxxxxxxxxxxx&after=&before=xxxxxxxxxxxxxxxxx '400': description: Bad Request content: application/json: schema: type: object properties: message: type: string description: The response message. examples: Invalid token: value: message: 'Error validating access token: The session has been invalidated because the user changed their password or Facebook has changed the session for security reasons.' '401': description: Authentication Failure content: application/json: schema: $ref: '#/components/schemas/JwtExpiredError' examples: Incorrect authorization token: value: status: failed message: unable to process request reason: reason '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: message: type: string description: The response message. status: type: string description: The status of the product feed. reason: type: string description: The reason for not fetching product feed details. examples: Example 1: value: status: failed message: unable to process request reason: reason security: - BearerAuth: [] /wba/catalog/manager/v1/fetch_product_details: get: tags: - Catalog Management summary: Fetch All Product Feed description: Fetch a list of all product feeds associated with a WhatsApp Business account. To use this endpoint, specify the necessary authorization token credentials. operationId: fetchAllProductFeed responses: '200': description: Success content: application/json: schema: type: object properties: catalog_id: type: string description: The unique ID of the catalog that contains the product. file_url: type: string description: The URL of the file. interval: type: string nullable: true description: The time interval at which the product feed should be updated. product_feed_count: type: integer description: The total number of products to fetch. product_feed_id: type: string description: The unique ID of the product feed. product_feed_name: type: string description: The name of the product feed. scheduled: type: boolean description: Indicates whether this event is scheduled. scheduled_timestamp: type: string nullable: true description: The scheduled time of the message. timestamp: type: string description: The timestamp of when the message was submitted to the API. upload_session_id: type: string description: The unique ID for the product feed upload session that you want to retrieve the errors for. examples: Example 1: value: catalog_id: 62305622836xxxxx file_url: https://www.example.com/demo_xxxx-xxxd-965a-0a58a9feac02.csv interval: string product_feed_count: 0 product_feed_id: 122543386xxxxxxx product_feed_name: testammy scheduled: false scheduled_timestamp: string timestamp: '2023-02-27 09:54:47.337571' upload_session_id: 1225433871xxxxxx '401': description: Authentication Failure content: application/json: schema: $ref: '#/components/schemas/JwtExpiredError' examples: Incorrect authorization token: value: message: Unable to process request status: Failed reason: Please check the integrity or validity of the token sent. '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status of the product feed. message: type: string description: The message response. reason: type: string description: The reason for not fetching product feeds. examples: Example 1: value: status: failed message: unable to process request reason: reason security: - BearerAuth: [] /wba/catalog/manager/v1/fetch_catalog_details: get: tags: - Catalog Management summary: Fetch Catalog Details description: |- Fetch details about a specific product catalog associated with a WhatsApp Business account. The fields information includes a comma-separated list: - name: The name of the product catalog. - product_count: The total number of products in the product catalog. - schedule: The schedule for updating the product catalog. - latest_upload: The date and time of the most recent upload to the product catalog. - retailer_id: The ID of the retailer associated with the product catalog. - price: The price of the product. - availability: The availability status of the product. - id: The ID of the product. - description: The description of the product. - color: The color of the product. - size: The size of the product. - condition: The condition of the product. - product_type: The type of product. - quantity_to_sell_on_facebook: The quantity of the product to sell on Facebook. - url: The URL of the product. - gender: The gender of the product. - age_group: The age group of the product. - sale_price: The sale price of the product. - mpn: The manufacturer part number of the product. - sale_price_effective_date: The effective date of the sale price of the product. - brand: The brand of the product. - custom_label_0: The custom label of the product. - image_url: The URL of the product image. operationId: fetchCatalogDetails parameters: - name: catalog_id in: query description: The ID of the catalog the product belongs to. required: true schema: type: string - name: fetch_details in: query description: Option to fetch the product catalog details. required: true schema: type: string - name: fields in: query description: The fields that should be included in the response. The value should be a comma-separated list of field names, such as "name, product_count". required: true schema: type: string responses: '200': description: Success content: application/json: schema: type: object properties: data: type: array description: An array of objects representing the catalog details of a specific product. items: type: object properties: retailer_id: type: string description: The unique identifier for the retailer associated with the product. name: type: string description: The name of the product. price: type: string description: The price of the product. availability: type: string description: The availability status of the product. id: type: string description: The unique identifier for the product. description: type: string description: A brief description of the product. condition: type: string description: The condition of the product. quantity_to_sell_on_facebook: type: integer description: The quantity of the product available for sale on Facebook. url: type: string description: The URL of the product where the product can be viewed or purchased. gender: type: string description: The target gender for the product. age_group: type: string description: The target age group for the product. brand: type: string description: The brand name of the product. image_url: type: string description: The URL that points to the image representing the product. next_url: type: string description: The URL for the next page. prev_url: type: string description: The URL for the previous page. examples: Example 1: value: data: - retailer_id: 12641xxx name: Coca-Cola Zero 500ml 1 24 price: د.إ.85.00 availability: in stock id: 5856857177xxxxxx description: Coca-Cola Zero 500ml PET (Pack of 24) condition: new quantity_to_sell_on_facebook: 0 url: https://en.coca-colaarabia.com/brands/coca-cola-original-taste gender: '' age_group: '' brand: Coca-Cola image_url: https://800mycoke.ae/app/images/wa/Cokexxxl.jpg next_url: https://apis.rmlconnect.net/wba/catalog/manager/v1/fetch_catalog_details?access_token=EAAfkxRwYZCloBAPRyGP69xQcIf3MWYUZCwFcMyEHxTdnXCawZCVJy8AHX9ynmmYKNM0ZAgfSOCsdAkZBHPi6yauFIe682jfswkdWcotj5BMlHpjZCiuhWZCLYl52z4b6abEwsg1zxvOVLkBxxxxxxxxxxxxxxxxxxxxxZCBHEXZCK4UrnYL4ymHYHZB0&limit=10&fields=retailer_id,name,price,availability,id,description,color,size,condition,product_type,quantity_to_sell_on_facebook,url,gender,age_group,sale_price,mpn,sale_price_effective_date,brand,custom_label_0,image_url&catalog_id=965968734067732&fetch_details=true&after=QVFIUkFOVWJJX2d0a1BMbEw0Q0Jxxxxxxxxxxxxxxxxxxxx2Y2dDNQN0ZAMU0IzaGJtRlBKUXZACWHpuUEp6YUE5VWdmTWVyT0ZA5U1RBN0RaQ2owcDVPSkJNS3h3&before= prev_url: https://apis.rmlconnect.net/wba/catalog/manager/v1/fetch_catalog_details?access_token=EAAfkxRwYZCloBAPRyGP69xQcIf3MWYUZxxxxxxxxxxxxxxxxxxxxx8AHX9ynmmYKNM0ZAgfSOCsdAkZBHPi6yauFIe682jfswkdWcotj5BMlHpjZCiuhWZCLYl52z4b6abEwsg1zxvOVLkBxxxxxxxzVElEol1kLrZCcZCBHEXZCK4UrnYL4ymHYHZB0&limit=10&fields=retailer_id,name,price,availability,id,description,color,size,condition,product_type,quantity_to_sell_on_facebook,url,gender,age_group,sale_price,mpn,sale_price_effective_date,brand,custom_label_0,image_url&catalog_id=9659687xxxxxxxx&fetch_details=true&after=&before=QVFIUl84bDh3UDlaU0tPZAkhDUVJNN3p6c0ktNUZAodktJTXpkekVLMFdwSzllOW5GZAWxSOTQ1NHloUWpxxxxxxxxxxxxxxxxxxVFsVU1ZAaDUzR0tVZAzM3VXZAB '400': description: Bad Request content: application/json: schema: type: object properties: fields: type: array description: The list of allowed fields. items: type: string examples: Example 1: value: fields: - Allowed fields are retailer_id,name,price,availability,id,description,color,size,condition,product_type,quantity_to_sell_on_facebook,url,gender,age_group,sale_price,mpn,sale_price_effective_date,brand,custom_label_0,image_url '401': description: Authentication Failure content: application/json: schema: $ref: '#/components/schemas/JwtExpiredError' examples: Incorrect authorization token: value: message: Unable to process request status: Failed reason: Please check the integrity or validity of the token sent. '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status of the catalog. message: type: string description: The response message. reason: type: string description: The reason for not fetching catalog details. examples: Example 1: value: status: failed message: unable to process request reason: reason security: - BearerAuth: [] /wba/catalog/manager/v1/schedule_product_feed_details: get: tags: - Catalog Management summary: Fetch Schedule Product Feed Details description: Fetch scheduled product feeds associated with a WhatsApp Business account. operationId: fetchScheduleProductFeedDetails parameters: - name: product_feed_id in: query description: The unique ID of the product feed fetches from your system and then schedules the product feed. required: true schema: type: string responses: '200': description: Success content: application/json: schema: type: object properties: schedule: type: object description: The scheduled job for processing a product feed. properties: hour: type: integer description: The hour at which the schedule is set to run. id: type: string description: The unique identifier for the schedule. interval: type: string description: The interval type for the schedule. interval_count: type: integer description: The number of intervals for the schedule. minute: type: integer description: The minute at which the schedule is set to run. timezone: type: string description: The timezone in which the schedule is configured. url: type: string description: The URL pointing to the location of the product feed file to be processed. uploads: type: object description: The information about previous uploads of the product feed. properties: data: type: array description: An array of objects representing the details of previous uploads. items: type: object properties: id: type: string description: The unique identifier for the latest upload. start_time: type: string description: The start time of the latest upload. end_time: type: string description: The end time of the latest upload. latest_upload: type: object description: The details of the most recent upload of the product feed. properties: id: type: string description: The unique identifier for the latest upload. start_time: type: string description: The start time of the latest upload. end_time: type: string description: The end time of the latest upload. name: type: string description: The name of the product feed schedule. id: type: string description: The unique identifier for the product feed schedule. examples: Example 1: value: schedule: hour: 11 id: 51143928431xxxx interval: HOURLY interval_count: 1 minute: 38 timezone: UTC url: http://wbm-nextgen.s3.ap-south-1.amazonaws.com/demo_af11-efe9f3bxxxxx.csv uploads: data: - id: 128427331883xxxx start_time: 2023-04-28T10:28:24+0000 end_time: 2023-04-28T10:38:17+0000 latest_upload: id: 128427331883xxxx start_time: 2023-04-28T10:28:24+0000 end_time: 2023-04-28T10:38:17+0000 name: schedule_product_feed id: 113616569031xxxx '400': description: Bad Request content: application/json: schema: type: object properties: message: type: string description: The response message. examples: Example 1: value: message: Unsupported get request. Object with ID '1136165690310xxxx' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api '401': description: Authentication Failure content: application/json: schema: $ref: '#/components/schemas/JwtExpiredError' examples: Incorrect authorization token: value: message: Unable to process request status: Failed reason: Please check the integrity or validity of the token sent. '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status of the product feed. message: type: string description: The response message. reason: type: string description: The reason for not processing the request. examples: Example 1: value: status: failed message: unable to process request reason: reason security: - BearerAuth: [] /wba/catalog/manager/v1/fetch_errors: get: tags: - Catalog Management summary: Fetch Errors description: The Fetch Errors API calls all error outputs for the particular upload session ID. operationId: fetchErrors parameters: - name: upload_session_id in: query description: The unique ID for the product feed upload session that you want to retrieve the errors for. required: true style: form explode: true schema: type: string responses: '200': description: Success content: application/json: schema: type: object properties: error: type: array description: An array that describes the error description. items: type: object properties: summary: type: string description: The summary of the errors. description: type: string description: The description of the error. severity: type: string description: The severity of the error. examples: Example 1: value: error: - summary: '' description: '' severity: '' '400': description: Bad Request content: application/json: schema: type: object properties: message: type: string description: The response message. examples: Example 1: value: message: Unsupported get request. Object with ID '44029838816xxxx' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api '401': description: Authentication Failure content: application/json: schema: $ref: '#/components/schemas/JwtExpiredError' examples: Incorrect authorization token: value: message: Unable to process request status: Failed reason: Please check the integrity or validity of the token sent. '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status for fetching errors. message: type: string description: The response message. reason: type: string description: The reason for not processing a request. examples: Example 1: value: status: failed message: unable to process request reason: reason security: - BearerAuth: [] /whatsapp/report/v1/create_report/myaccounts_panel: post: tags: - Reports summary: Create Report description: |- Create reports for your WhatsApp Business account. Use the projections while creating a new report. The available projection fields are: - country_code: The country code of the phone number. - msisdn: The phone number of the customer. - message_type: The type of the message, such as text, image, video, and document. - message_payload: The content of the message. - request_id: The request ID of the message. - conversation_id: The conversation ID of the message. - message_id: The message ID of the message. - submit_timestamp: The timestamp when the message was submitted. - sent_timestamp: The timestamp when the message was sent. - delivery_timestamp: The timestamp when the message was delivered. - read_timestamp: The timestamp when the message was read. - failed_timestamp: The timestamp when the message failed to be delivered. - deleted_timestamp: The timestamp when the message was deleted. - extra: Any additional metadata associated with the message. - pricing_model: The pricing model for the message. operationId: createReport requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateReportRequest' examples: Example 1: value: csv_max_lines: 10000 filters: end_date: '{end-date}' start_date: '{start-date}' projections: - country_code - msisdn - message_type - message_payload - request_id - conversation_id - message_id - submit_timestamp - sent_timestamp - delivery_timestamp - read_timestamp - failed_timestamp - deleted_timestamp - extra - pricing_model responses: '202': description: Accepted content: application/json: schema: type: object properties: status: type: string description: The status of the report. id: type: integer description: The unique identifier that represents the report. examples: Example 1: value: status: success id: 86 '400': description: Bad Request content: application/json: schema: oneOf: - $ref: '#/components/schemas/InvalidStartDateError' - $ref: '#/components/schemas/InvalidEndDateError' examples: Invalid start date: value: status: failed errors: filters: start_date: - Missing data for required field. Invalid end date: value: status: failed errors: filters: end_date: - Missing data for required field. '401': description: Authentication Failure content: application/json: schema: $ref: '#/components/schemas/JwtExpiredError' examples: Example 1: value: message: Unable to process request status: Failed reason: Please check the integrity or validity of the token sent. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status of the report. errors: type: string description: The error for not generating the report. examples: Example 1: value: status: failed errors: Contact administration for more info security: - BearerAuth: [] /whatsapp/report/v1/create_campaign_specific_report/myaccounts_panel: post: tags: - Reports summary: Create Campaign Specific Report description: |- Create a campaign-specific report for WhatsApp Business account. The projections field contains a comma-separated list of field names: - country_code: The country code of the recipient's phone number. - msisdn: The recipient's phone number. - message_type: The type of the message, such as text, image, and video. - message_payload: The content of the message. - request_id: The unique ID assigned to the message by the WhatsApp Business API. - conversation_id: The ID of the conversation thread. - message_id: The ID of the message. - submit_timestamp: The timestamp of when the message was submitted to the API. - sent_timestamp: The timestamp of when the message was sent to the recipient. - delivery_timestamp: The timestamp of when the message was delivered to the recipient. - read_timestamp: The timestamp of when the message was marked as read by the recipient. - failed_timestamp: The timestamp of when the message failed to be delivered. - deleted_timestamp: The timestamp of when the message was deleted. - extra: Additional information about the message. - pricing_model: The pricing model used for the message. - scheduled_time: The scheduled time of the message, if it was a scheduled message. operationId: createCampaignSpecificReport requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCampaignReportRequest' examples: Example 1: value: csv_max_lines: 100000 filters: campaign_id: '{campaign-id}' campaign_name: '{campaign-name}' end_date: '{end-date}' start_date: '{start-date}' projections: - country_code - msisdn - message_type - message_payload - request_id - conversation_id - message_id - submit_timestamp - sent_timestamp - delivery_timestamp - read_timestamp - failed_timestamp - deleted_timestamp - extra - pricing_model - scheduled_time responses: '202': description: Accepted content: application/json: schema: type: object properties: status: type: string description: The status for the campaign specific report. id: type: integer description: The unique identifier that represents the campaign specific report. examples: Example 1: value: status: success id: 186 '400': description: Bad Request content: application/json: schema: type: object properties: status: type: string description: The status for the campaign specific report. errors: type: object description: The object that represents the error messages. properties: filters: type: object description: The filter to generate the report. properties: start_date: type: array description: The start date of the report. items: type: string examples: Validation Error: value: status: failed errors: filters: start_date: - Missing data for required field. '401': description: Authentication Failure content: application/json: schema: $ref: '#/components/schemas/JwtExpiredError' examples: Example 1: value: message: Unable to process request status: Failed reason: Please check the integrity or validity of the token sent. '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status for the campaign specific report. errors: type: string description: The error for not generating the report. examples: Example 1: value: status: failed errors: Contact administration for more info security: - BearerAuth: [] /whatsapp/report/v1/fetch_campaign_specific_report/{report_id}: get: tags: - Reports summary: Fetch Report URL description: Fetch campaign data from the provided URL by entering the report_id parameter details. operationId: fetchReportUrl parameters: - name: report_id in: path description: Unique ID of the report. required: true schema: type: string responses: '202': description: Accepted content: application/json: schema: type: object properties: message: type: string description: The response message. examples: Example 1: value: message: report is not yet generated '400': description: Bad Request content: application/json: schema: type: object properties: report_url: type: string description: The URL of the report. examples: Example 1: value: report_url: url '401': description: Authentication Failure content: application/json: schema: type: object properties: message: type: string description: The response message. status: type: string description: The status of the report. reason: type: string description: The status for not generating the report. examples: Incorrect authorization token: value: message: Unable to process request status: Failed reason: Please check the integrity or validity of the token sent. '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: message: type: string description: The response message. reason: type: string description: The reason for not processing the request or not generating the report. examples: Example 1: value: message: Exception in Fetch Campaign Report reason: reason security: - BearerAuth: [] /whatsapp/report/v1/fetch_campaign_details: get: tags: - Reports summary: View Campaign Summary description: View the campaign summary for the WhatsApp Business account. Ensure that you provide an authentication token in the request headers for the successful API call. operationId: viewCampaignSummary parameters: - name: page_number in: query description: The page number of the results to be fetched. Default is "1". required: true style: form explode: true schema: type: number - name: download in: query description: A boolean flag indicating whether to download the report or not. Default value is 'false'. required: true style: form explode: true schema: type: boolean example: 'true' - name: start-date in: query description: The start date in "YYYY-MM-DD" order followed by the time in the "HH:MM:SS" format, that specifies the beginning of the date range for which to fetch campaign summary report. required: true schema: type: string - name: end-date in: query description: The end date in "YYYY-MM-DD" order followed by the time in the "HH:MM:SS" format, that specifies the end of the date range for which to fetch campaign summary report. required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CampaignDetailsResponse' examples: Example 1: value: result: - campaign_id: 276f63e2-cb36-11ed-af9d-0242ac13xxxx campaign_name: rmluxxx1-3 campaign_status: done campaign_type: generalized delivered: 2 failed: 1 message_payload: country_code: '+91' media: lang_code: en template_name: testing_16_03 type: media_template phone: '{phone}' message_type: media_template process_end_timestamp: '2023-03-25 17:55:02.815756' process_start_timestamp: '2023-03-25 17:55:00.051162' read: 1 scheduled_time: string sent: 3 submit: 3 user_name: RMLxxx11 - campaign_id: 1fd39188-cb2e-11ed-9866-0242acxxxxx5 campaign_name: testuxxx1-2 campaign_status: done campaign_type: generalized delivered: 2 failed: 1 message_payload: country_code: '+91' media: lang_code: en template_name: testing_16_03 type: media_template phone: '{phone}' message_type: media_template process_end_timestamp: '2023-03-25 16:58:45.853958' process_start_timestamp: '2023-03-25 16:58:43.181214' read: 1 scheduled_time: string sent: 3 submit: 3 user_name: RMLUxxxx '401': description: Authentication Failure content: application/json: schema: type: object properties: message: type: string description: The response message. status: type: string description: The status of the view campaign summary. reason: type: string description: The reason for not generating the generating the view campaign summary. examples: Incorrect authorization token: value: message: Unable to process request status: Failed reason: Please check the integrity or validity of the token sent. '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: message: type: string description: The response message. reason: type: string description: The reason for not processing the request or not generating the report. examples: Example 1: value: message: Exception in Fetch Campaign Manager reason: '''Request'' object has no attribute ''username''' security: - BearerAuth: [] /whatsapp/report/v1/fetch_reports: get: tags: - Reports summary: View Report Summary description: View report summary for the WhatsApp Business account. operationId: viewReportSummary parameters: - name: start_date in: query description: The start date in "YYYY-MM-DD" order followed by the time in the "HH:MM:SS" format, that specifies the beginning of the date range for which to fetch reports. required: true schema: type: string - name: end_date in: query description: The end date in "YYYY-MM-DD" order followed by the time in the "HH:MM:SS" format, that specifies the end of the date range for which to fetch reports. required: true schema: type: string - name: page_number in: query description: The page number of the paginated results to return. The default value is 1. schema: type: string - name: page_size in: query description: The number of results to return per page. The default value is 5. schema: type: string responses: '200': description: Success content: application/json: schema: type: object properties: result: type: array description: An array of objects representing the result or response of the operation. items: type: object properties: file_path: type: string description: The file path or name associated with the result. id: type: integer description: The identifier associated with the result. msisdn: type: string nullable: true description: The mobile phone number associated with the result. payload: type: object description: Additional payload information related to the result. properties: csv_max_lines: type: integer description: The maximum number of lines allowed in the CSV file. filters: type: object description: The filters applied to the result. properties: end_date: type: string description: The end date for the filter. start_date: type: string description: The start date for the filter. projections: type: array description: The projected fields from the result. items: type: string request_source: type: string description: The source or origin of the request. status: type: string description: The status of the result. timestamp: type: string description: The timestamp of the result. username: type: string description: The username associated with the result. examples: Example 1: value: result: - file_path: fa15c156-8dba-11ed-bc2b-0242acxxxxx5.zip id: 107xxx msisdn: string payload: csv_max_lines: 100000 filters: end_date: '2023-01-06' start_date: '2023-01-06' projections: - country_code - msisdn - message_type - message_payload - request_id - conversation_id - message_id - submit_timestamp - sent_timestamp - delivery_timestamp - read_timestamp - failed_timestamp - deleted_timestamp - extra - pricing_model - pricing_category - expiration_timestamp request_source: support_panel status: deleted timestamp: Fri, 06 Jan 2023 12:09:31 GMT username: dxxxxhatsapp '401': description: Authentication Failure content: application/json: schema: type: object properties: status: type: string description: The status of the message. examples: Example 1: value: status: Unauthorized '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. security: - BearerAuth: [] /wbo/v2/optin/store: post: tags: - Opt-in Management summary: Create Optin description: Create optin for the WhatsApp Business account. operationId: createOptin requestBody: description: Store opt-in consent for one or more phone numbers. content: application/json: schema: type: object properties: msisdn: type: string description: The phone number with '+' and country code for the user opting in. optin_channel: type: string description: The channel through which the user opted in. extra: type: string description: Any additional information related to the optin process. required: - msisdn - optin_channel examples: default: value: extra: '{extra}' msisdn: '{phone number with + and country code}' optin_channel: whatsapp-api/third-party/sms/landing-page/email/voice/missed-call/physical-form responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/OptinStoreResponse' examples: Example 1: value: status: success message: api execution successful details: given 'msisdn' is not opted in for user Demo8 '401': description: Authentication Failure content: application/json: schema: $ref: '#/components/schemas/JwtExpiredError' examples: Incorrect authorization token: value: message: Unable to process request status: Failed reason: Please check the integrity or validity of the token sent. '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '422': description: Unprocessable Entity (WebDAV) content: application/json: schema: type: object properties: message: type: string description: The response message. status: type: string description: The status for the optin. error: type: object description: The error for not processing the optin request. properties: optin_channel: type: array description: The channel through which the user opted in. items: type: string examples: Validation Error: value: message: unable to process request status: failed error: optin_channel: - Unknown field. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status for creating optin. message: type: string description: The response message. reason: type: string description: The reason for not processing the request. examples: Example 1: value: status: failed message: unable to process request reason: reason security: - BearerAuth: [] /wbo/v2/optinout/store: post: tags: - Opt-in Management summary: Create Optin and Optout description: Create optin/optout for the WhatsApp Business account. operationId: createOptinOut requestBody: description: Store opt-in or opt-out consent for one or more phone numbers. content: application/json: schema: type: object properties: msisdn: type: string description: The phone number with '+' and country code for the user opting in. optin_channel: type: string description: The channel through which the user opted in. extra: type: string description: Any additional information related to the optin process. status: type: string description: Status which implies whether user is being opt-in or opt out required: - msisdn - optin_channel - status examples: default: value: extra: '{extra}' msisdn: '{phone number with + and country code}' optin_channel: whatsapp-api/third-party/sms/landing-page/email/voice/missed-call/physical-form status: optin/optout responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/OptinStoreResponse' examples: Example 1: value: status: success message: api execution successful details: given 'msisdn' is now opted out for user '401': description: Authentication Failure content: application/json: schema: $ref: '#/components/schemas/JwtExpiredError' examples: Incorrect authorization token: value: message: Unable to process request status: Failed reason: Please check the integrity or validity of the token sent. '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '422': description: Unprocessable Entity (WebDAV) content: application/json: schema: type: object properties: message: type: string description: The response message. status: type: string description: The status for the optin. error: type: object description: The error for not processing the optin request. properties: optin_channel: type: array description: The channel through which the user opted in. items: type: string examples: Validation Error: value: message: unable to process request status: failed error: optin_channel: - Unknown field. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status for creating optin. message: type: string description: The response message. reason: type: string description: The reason for not processing the request. examples: Example 1: value: status: failed message: unable to process request reason: reason security: - BearerAuth: [] /wbo/v2/optin/check: get: tags: - Opt-in Management summary: Check Optin description: Check optin if a particular phone number has opted-in to receive messages from the WhatsApp Business account. operationId: checkOptin parameters: - name: msisdn in: query description: The phone number with '+' and country code for the user opting in. required: true style: form explode: true schema: type: string responses: '200': description: Success content: application/json: schema: type: object properties: status: type: string description: The status for check optin. message: type: string description: The response message. details: type: string description: The optin details. examples: Example 1: value: status: success message: api execution successful details: Given 'msisdn' is not opted in 'channel' missed-call '401': description: Authentication Failure content: application/json: schema: $ref: '#/components/schemas/JwtExpiredError' examples: Example 1: value: message: Unable to process request status: Failed reason: Please check the integrity or validity of the token sent. '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '422': description: Unprocessable Entity (WebDAV) content: application/json: schema: $ref: '#/components/schemas/OptinValidationError' examples: Validation Error: value: message: unable to process request status: failed error: msisdn: - Field may not be null. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status for check optin. message: type: string description: The response message. reason: type: string description: The reason for not processing the request. examples: Example 1: value: status: failed message: unable to process request reason: reason security: - BearerAuth: [] /callbacks: post: tags: - Webhooks summary: WhatsApp Client Callback description: "Client Callback APIs allow you to receive real-time notifications (callbacks) for\ \ events that occur on your WhatsApp Business account. These callbacks are triggered by events\ \ that occur on the WhatsApp server, and are delivered to a URL that you specify in your webhook\ \ configuration.\n\nFor more information, see the [Route Mobile WhatsApp OpenAPI Specifications](https://routemobile.github.io/WhatsApp-Business-API/WBS.html).\n\ \n## Callback Error Codes\n| **Code** | **Text** | **Description** |\n| --- | --- | --- |\n| 400\ \ | Media download error | There was an error while downloading media. |\n| 401 | Group does not\ \ exist | The specified group does not exist. |\n| 402 | Others | An unspecified error occurred.\ \ |\n| 403 | Error code for blacklisting | The given number is blacklisted. |\n| 408 | Message\ \ is not valid | The message is not valid or malformed. |\n| 410 | Message expired | The message\ \ has expired and cannot be delivered. |\n| 429 | Rate limit hit | The rate limit for API calls\ \ has been reached. |\n| 430 - 433 | Others | Unspecified errors occurred. |\n| 470 | Re-engagement\ \ message | The message is a re-engagement message. |\n| 471 | Spam Rate limit | The rate limit\ \ for sending spam messages has been reached. |\n| 472 | User's number is part of an experiment\ \ | The user's number is part of an experiment and cannot be used. |\n| 500 | Unknown Error |\ \ An unknown or unexpected error occurred. |\n| 1000 | Others | Unspecified errors occurred. |\n\ | 1001 | Message too long | The message exceeds the maximum length allowed. |\n| 1002 | Invalid\ \ recipient type | The recipient type specified is not valid. |\n| 1003 | Not a group participant\ \ | The user is not a participant of the group. |\n| 1004 | Resource already exists | The resource\ \ being created already exists. |\n| 1005-1006 | Others | Unspecified errors occurred. |\n| 1008\ \ | Required parameter is missing | A required parameter for the API call is missing. |\n| 1009\ \ | Parameter value is not valid | The value provided for a parameter is not valid. |\n| 1010\ \ | Parameter is not required | A parameter that was provided is not required for the API call.\ \ |\n| 1011-1011 | Others | Unspecified errors occurred. |\n| 1012 | Group is unknown | The specified\ \ group is unknown. |\n| 1013 | User is not valid | The specified user is not valid. |\n| 1014\ \ | Corrupt Image | The image provided is corrupt or invalid. |\n| 1015-1018 | Others | Unspecified\ \ errors occurred. |\n| 1019 | Not a group admin | The user is not an admin of the group. |\n\ | 1020 | Bad group | The specified group is invalid or bad. |\n| 1021 | Bad User | The specified\ \ user is invalid or bad. |\n| 1022-1024 | Others | Unspecified errors occurred. |\n| 1025 | Invalid\ \ Request | The API request is invalid. |\n| 1026 | Receiver Incapable | The receiver is incapable\ \ of receiving the message. |\n| 2000 | Template Param Count Mismatch | The number of parameters\ \ provided for a template does not match the required count. |\n| 2001 | Template Missing | The\ \ specified template does not exist. |\n| 2002 | Template Fetch Failed | Failed to fetch the template.\ \ |\n| 2003 | Template Pack Missing | The template pack is missing. |\n| 2004 | Template Param\ \ Length Too Long | The length of a parameter in the template is too long. |\n| 2005 | Template\ \ Hydrated Text Too Long | The length of the hydrated text in the template is too long. |\n| 2006\ \ | Template White Space Policy Violated | The template violates the white space policy. |\n|\ \ 2007 | Template Format Character Policy Violated | The template violates the format character\ \ policy. |\n| 2008 | Template Media Format Unsupported | The media format in the template is\ \ unsupported. |\n| 2009 | Template Required Component Missing | A required component in the template\ \ is missing. |\n| 2010 | Template Invalid Hydrated URL | The hydrated URL in the template is\ \ invalid. |\n| 2011 | Template Invalid Phone Number | The phone number in the template is invalid.\ \ |\n| 2012 | Template Parameter Format Mismatch | The format of a parameter in the template is\ \ mismatched. |\n| 2013 | Template Buttons Unsupported | The buttons in the template are unsupported.\ \ |\n| 0 | AuthException | An authentication exception occurred. |\n| 3 | API Method | An error\ \ occurred with the API method. |\n| 10 | Permission Denied | The user does not have the necessary\ \ permissions to perform the requested action. |\n| 190 | Access token has expired | The access\ \ token used for authentication has expired. |\n| 200-299 | API Permission | The API call requires\ \ specific permissions, and the user does not have them. |\n| 4 | API Too Many Calls | The API\ \ call limit has been exceeded. |\n| 80007 | Rate limit issues | There are issues with the rate\ \ limits for API calls. |\n| 130429 | Rate limit hit | The rate limit for API calls has been reached.\ \ |\n| 131048 | Spam rate limit hit | The rate limit for sending spam messages has been reached.\ \ |\n| 131056 | (Business Account, Consumer Account) pair rate limit hit | The rate limit for\ \ a specific pair of business and consumer accounts has been reached. |\n| 368 | Temporarily blocked\ \ for policy violations | The user or account has been temporarily blocked due to policy violations.\ \ |\n| 131031 | Account has been locked | The user's account has been locked. |\n| 1 | API Unknown\ \ | An unknown error occurred with the API. |\n| 2 | API Service | An error occurred with the\ \ API service. |\n| 33 | Parameter value is not valid | The value provided for a parameter is\ \ not valid. |\n| 100 | Invalid parameter | The parameter specified in the API call is invalid.\ \ |\n| 131000 | Something went wrong | An unspecified error occurred. |\n| 131005 | Access denied\ \ | Access to the requested resource is denied. |\n| 131008 | Required parameter is missing |\ \ A required parameter for the API call is missing. |\n| 131009 | Parameter value is not valid\ \ | The value provided for a parameter is not valid. |\n| 131016 | Service unavailable | The requested\ \ service is currently unavailable. |\n| 131021 | Recipient cannot be sender | The recipient\ \ of the message cannot be the sender. |\n| 131026 | Message Undeliverable | The message could\ \ not be delivered to the recipient. |\n| 131042 | Business eligibility payment issue | There\ \ is an issue with the payment for business eligibility. |\n| 131045 | Incorrect certificate |\ \ The certificate used for authentication is incorrect. |\n| 131047 | Re-engagement message |\ \ The message is a re-engagement message. |\n| 131051 | Unsupported message type | The message\ \ type is not supported. |\n| 131052 | Media download error | There was an error while downloading\ \ media. |\n| 131053 | Media upload error | There was an error while uploading media. |\n| 132000\ \ | Template Param Count Mismatch | The number of parameters provided for a template does not\ \ match the required count. |\n| 132001 | Template does not exist | The specified template does\ \ not exist. |\n| 132005 | Template Hydrated Text Too Long | The length of the hydrated text in\ \ the template is too long. |\n| 132007 | Template Format Character Policy Violated | The template\ \ violates the format character policy. |\n| 132012 | Template Parameter Format Mismatch | The\ \ format of a parameter in the template is mismatched. |\n| 132015 | Template parameter invalid\ \ | The parameter in the template is invalid. |\n| 133000 | Incomplete Deregistration | The deregistration\ \ process is incomplete. |\n| 133004 | Server Temporarily Unavailable | The server is temporarily\ \ unavailable. |\n| 133005 | Two-step verification PIN Mismatch | The two-step verification PIN\ \ provided does not match. |\n| 133006 | Phone number re-verification needed | Phone number re-verification\ \ is required. |\n| 133008 | Too Many two-step verification PIN Guesses | Too many incorrect guesses\ \ for the two-step verification PIN. |\n| 133009 | Two-step verification PIN Guessed Too Fast\ \ | The two-step verification PIN was guessed too quickly. |\n| 133010 | Phone number Not Registered\ \ | The phone number is not registered. |\n| 135000 | Generic user error | A generic error occurred\ \ for the user. |\n## Template Status Logs\n| **Template Status**| **Logs** |\n| --- | --- | \n\ |Template Approved | {\"product\": \"whatsapp\", \"component\": \"whatsapp-callback-event-worker\"\ , \"level\": \"debug\", \"timestamp\": \"2023-11-02 07:40:04.402735\", \"message\": {\"URL\":\ \ \"xxxxxxxxxxxxxxxxx\", \"data\": {\"statuses\": [{\"id\": \"xxxxxxxxxxxxxx\", \"template_name\"\ : \"xxxxx\", \"template_id\": xxxxxxxxxxxxxx, \"template_language\": \"en\", \"reason\": \"NONE\"\ , \"status\": \"APPROVED\", \"timestamp\": xxxxxxxx, \"type\": \"event\", \"information\": null}],\ \ \"brand_msisdn\": \"{phone}\"}, \"status\": 200, \"response_time\": 0.0xxxxxxxxxxxxxx, \"current_time\"\ : \"xx:xx:xx.xxxxxx\", \"response\": \"{\\\"success\\\":true}\"}}|\n| Template Paused | {\"product\"\ : \"whatsapp\", \"component\": \"whatsapp-callback-event-worker\", \"level\": \"debug\", \"timestamp\"\ : \"2023-11-02 07:37:58.285408\", \"message\": {\"URL\": \"xxxxxxxxxxxxxxxxxxxxx\", \"data\":\ \ {\"statuses\": [{\"id\": \"xxxxxxxxxxxxxxx\", \"template_name\": \"abc__1\", \"template_id\"\ : xxxxxxxxxxxxxxx, \"template_language\": \"en\", \"reason\": \"NONE\", \"status\": \"PAUSED\"\ , \"timestamp\": xxxxxxxxxx, \"type\": \"event\", \"information\": {\"title\": \"FIRST_PAUSE\"\ , \"description\": \"Your WhatsApp message template has been paused for x hours until xxx x at\ \ xx:xx AM UTC because it had issues.\"}}], \"brand_msisdn\": \"{phone}\"}, \"status\": 200, \"\ response_time\": 0.0xxxxxxxxxxxxxxx, \"current_time\": \"xxxx-xx-xx xx:xx:xx.xxxxxx\", \"response\"\ : \"{\\\"success\\\":true}\"}} |\n|Template Disabled| {\"product\": \"whatsapp\", \"component\"\ : \"whatsapp-callback-event-worker\", \"level\": \"debug\", \"timestamp\": \"2023-11-02 09:57:45.920074\"\ , \"message\": {\"URL\": \"xxxxxxxxxxxxxxxxxxxxxx\", \"data\": {\"statuses\": [{\"id\": \"xxxxxxxxxxxxxxxxx\"\ , \"template_name\": \"xxxxxxxxxxxxxxx\", \"template_id\": xxxxxxxxxxxxxx, \"template_language\"\ : \"en_US\", \"reason\": \"NONE\", \"status\": \"FLAGGED\", \"timestamp\": xxxxxxxxxx, \"type\"\ : \"event\", \"information\": null}], \"brand_msisdn\": \"{phone}\"}, \"status\": 200, \"response_time\"\ : 0.011070728302001953, \"current_time\": \"xxxx-xx-xx xx:xx:xx.xxxxxx\", \"response\": \"{\\\"\ status\\\":\\\"ok\\\"}\\n\"}} |\n|Template Deleted |{\"product\": \"whatsapp\", \"component\"\ : \"whatsapp-callback-event-worker\", \"level\": \"debug\", \"timestamp\": \"2023-11-02 10:36:44.798440\"\ , \"message\": {\"URL\": \"xxxxxxxxxxxxxxxxxxxxxxxx\", \"data\": {\"statuses\": [{\"id\": \"xxxxxxxxxxxxxxxx\"\ , \"template_name\": \"testing_02_2023\", \"template_id\": xxxxxxxxxxxxxx, \"template_language\"\ : \"en_US\", \"reason\": \"NONE\", \"status\": \"PENDING_DELETION\", \"timestamp\": xxxxxxxxxxx,\ \ \"type\": \"event\", \"information\": null}], \"brand_msisdn\": \"{phone}\"}, \"status\": 200,\ \ \"response_time\": 0.0xxxxxxxxxxxxxxxxxx, \"current_time\": \"xxxx-xx-xx xx:xx:xx.xxxxxx\",\ \ \"response\": \"{\\\"status\\\":\\\"ok\\\"}\\n\"}}|" operationId: whatsappClientCallback requestBody: description: Webhook payload delivered by Route Mobile when events occur on your WhatsApp Business account. content: application/json: schema: oneOf: - $ref: '#/components/schemas/CallbackIncomingText' - $ref: '#/components/schemas/CallbackIncomingImage' - $ref: '#/components/schemas/CallbackIncomingAudio' - $ref: '#/components/schemas/CallbackIncomingVideo' - $ref: '#/components/schemas/CallbackIncomingDocument' - $ref: '#/components/schemas/CallbackIncomingLocation' - $ref: '#/components/schemas/CallbackIncomingInteractiveList' - $ref: '#/components/schemas/CallbackTemplateQuickReply' - $ref: '#/components/schemas/CallbackIncomingQuickReply' - $ref: '#/components/schemas/CallbackBusinessSingleProduct' - $ref: '#/components/schemas/CallbackSingleProductCart' - $ref: '#/components/schemas/CallbackMultiProductCart' - $ref: '#/components/schemas/CallbackSentDeliveryReport' - $ref: '#/components/schemas/CallbackReadReceipt' - $ref: '#/components/schemas/CallbackFailedDeliveryReport' examples: Incoming Text: value: messages: - id: 6af19ee2-72d9-11ed-88f4-0a58a9fxxxx2 from: '{phone}' type: text timestamp: '1670051363' text: body: Hi message_id: wamid.HBgMOTE3MDQ1MzQ1Mjg1FQIAEhggNEI0OUxxxxxxxxxxxzUxOEVGODBDMEE2QUFCQTg1ODkA contacts: - profile: name: Darryl wa_id: '{phone}' brand_msisdn: '{phone}' request_id: 6af19ee2-72d9-11ed-88f4-0a58xxxxxc02 Incoming Image: value: apiKey: IfgKh@jHkB5%232roUt20nhVgfb!ll*mxxxxxx messages: - from: 91994163xxxx id: ABGGFlA5FpafAgoxxxxxxxxxmuxx image: file: /usr/local/wamedia/shared/b1cf38-8734-4ad3-b4a1-ef0c10d0xxxx id: b1c68f38-8734-4ad3-b4a1-ef0c10xxxx mime_type: image/jpeg sha256: 29ed500fa64eb55fc19dc4124acb300e5dcca301ae99xxxxx caption: Check out my new phone! media_url: https://apis.rmlconnect.net/wba/v1/media?media_id=fc233119-733f-49c-bcbd-bxxxxxxxxxxx&username=demo timestamp: '1521497954' type: image brand_msisdn: '{phone}' request_id: aebeca32-f125-11eb-8c86-0242ac1xxxxx Incoming Audio: value: messages: - from: 91994163xxxx id: ABGGFlA5FpafAgo6tHcNmNjxxxxx timestamp: '1521827831' type: voice voice: file: /usr/local/wamedia/shared/463e/b7ec/ff4e4d9bb11cbdxxxxx id: 463eb7ec-ff4e-4d9b-b110-1879cbdxxxxx mime_type: audio/ogg; codecs=opus sha256: fa9e1807d936b7cebe63654ea3a7912923590521efxxxxxxx media_url: https://apis.rmlconnect.net/wba/v1/media?media_id=fc233119-733f-49c-bcbd-b2f68f7xxxxx&username=demo brand_msisdn: '{phone}' request_id: aebeca32-f125-11eb-8c86-0242acxxxxxx Incoming Video: value: messages: - from: 91994163xxxx id: ABGGFlA5FpafAgo6tHcNmNxxxxxx timestamp: '1521827831' type: voice voice: file: /usr/local/wamedia/shared/463e/b7ec/ff4e4d9bb11cbdxxxxx id: 463eb7ec-ff4e-4d9b-b110-1879cxxxxxxx mime_type: audio/ogg; codecs=opus sha256: fa9e1807d936b7cebe63654ea3a7912923590521exxxxxxxx media_url: https://apis.rmlconnect.net/wba/v1/media?media_id=fc233119-733f-49c-bcbd-b2f68fxxxxxx&username=demo brand_msisdn: '{phone}' request_id: aebeca32-f125-11eb-8c86-0242acxxxxxx Incoming Document: value: apiKey: IfgKh@jHkB5%232roUt20nhVgfb!ll*mvxxxxx messages: - from: 91994163xxxx id: ABGGFlA5FpafAgo6tHcNmNjXxxxx timestamp: '1522189546' type: document document: caption: 80skaraokesonglistaxxxst file: /usr/local/wamedia/shared/fc233119-733f-49c-bcbd-b2f68f79xxxx id: fc233119-733f-49c-bcbd-b2f68f7xxxxx mime_type: application/pdf sha256: 3b11fa6ef2bde1dd14726e09d3eda220f6484f32d5d5caa4xxx media_url: https://apis.rmlconnect.net/wba/v1/media?media_id=fc233119-733f-49c-bcbd-b2f6xxxxxxxx&username=demo brand_msisdn: '{phone}' request_id: aebeca32-f125-11eb-8c86-0242ac1xxxxx Incoming Location: value: contacts: - profile: name: User Name wa_id: '{phone}' messages: - from: 91994163xxxx id: ABGGFlA5FpafAgo6tHcNmNjxxxxx location: address: Main Street Beach, Santa Cruz, CA latitude: 38.9806263495 longitude: -131.9428612257 name: Main Street Beach url: https://foursquare.com/v/xxxxxxx35b5df7744 timestamp: '1521497875' type: location brand_msisdn: '{phone}' request_id: aebeca32-f125-11eb-8c86-0242ac12xxxx Incoming Interactive List: value: contacts: - profile: name: overw@tch wa_id: '{phone}' messages: - context: from: '{phone}' id: gBEGkXBFJzZxAgmfF7hnuD9xxxx from: '{phone}' id: b398502a-eea8-11eb-ac2a-0242ac12xxxx interactive: list_reply: description: yummy flavour id: rd133 title: Fish Masala type: list_reply timestamp: '1627369389' type: interactive brand_msisdn: '{phone}' request_id: b398502a-eea8-11eb-ac2a-0242ac12xxxx Incoming Template Quick Reply: value: contacts: - profile: name: '@@' wa_id: '{phone}' messages: - button: text: Buy Now context: from: '{phone}' id: b7e984f4-94ad-11ec-b1f4-0a58a9fezxxx from: '{phone}' id: d14b9dce-94ad-11ec-ad15-0242ac1xxxxx timestamp: '1645623480' type: button brand_msisdn: '{phone}' request_id: d14b9dce-94ad-11ec-ad15-0242ac12xxxx Incoming Session Quick Reply: value: contacts: - profile: name: overw@tch wa_id: '{phone}' messages: - context: from: '{phone}' id: gBEGkXBFJzZxAgnSloIcxxxxxxo from: '{phone}' id: c5e396fe-eea8-11eb-9e4e-0242ac12xxxx interactive: button_reply: id: aaaa title: 'Yes' type: button_reply timestamp: '1627369420' type: interactive Session Message Business for Single Product: value: contact_no: '{phone}' data: contacts: - profile: name: Justin Joy wa_id: '{phone}' messages: - context: referred_product: catalog_id: 965968xxxxxxxx2 product_retailer_id: 2xxxxxx1 from: '{phone}' id: ABEGkZgxxxxxxxxxxxxxFkqiBiDQ text: body: Hi timestamp: '1655377850' type: text brand_msisdn: '{phone}' time: '2022-06-16 11:10:50.560600' source: FROM_CALLBACK Add Single Product to Cart: value: contact_no: '{phone}' data: contacts: - profile: name: Justin Joy wa_id: '{phone}' messages: - from: 91983302xxxx id: ABEGkZgzAxxxxxxxxxxxxxxJmt4T order: catalog_id: 9659687340xxxxx product_items: - currency: AED item_price: 54 product_retailer_id: 20214xxx quantity: 1 timestamp: '1655377900' type: order brand_msisdn: '{phone}' time: '2022-06-16 11:11:41.204321' source: FROM_CALLBACK Add Multi Product to Cart: value: contact_no: '{phone}' data: contacts: - profile: name: Justin Joy wa_id: '{phone}' messages: - from: 91983302xxxx id: ABEGkZgzAmlUAgo635UDWxqRxxxx order: catalog_id: 9659687340xxxxx product_items: - currency: AED item_price: 54 product_retailer_id: 20xxxx01 quantity: 1 - currency: AED item_price: 40 product_retailer_id: 206xxx00 quantity: 1 timestamp: '1655377983' type: order brand_msisdn: '{phone}' time: '2022-06-16 11:13:03.900579' source: FROM_CALLBACK Sent/Delivery Report: value: statuses: - conversation: expiration_timestamp: 1644060900 id: d24f4c6e3xxxxxxxxxxxfcbd2822fa6a origin: type: user_initiated/business_initiated/referral_conversion id: 5a9f3040-85ae-11ec-8168-0xxxxxxxxxxx pricing: billable: true/false category: user_initiated/business_initiated/referral_conversion pricing_model: CBP recipient_id: '{phone}' status: sent/delivered timestamp: '1643974443' type: message extra: '' message_id: wamid.HBgMOTE3MDQ1MzxxxxxxxxxxxxxxxxxxxxxxxxxxNDA5QzRGRkRFAA== brand_msisdn: '{phone}' Read Report: value: display_no: '{phone}' statuses: - id: f8c7302e-4dfe-11ed-9b08-0xxxxxxxxxx2 recipient_id: xxxxxxxxxxxx status: read timestamp: '1665999302' type: message conversation: id: a58efe0xxxxxxxxxxx3b3015e1573769 origin: type: user_initiated/business_initiated/referral_conversion pricing: billable: true/false pricing_model: CBP category: user_initiated/business_initiated/referral_conversion extra: '{your value}' brand_msisdn: '{phone}' Failed Delivery Report: value: statuses: - errors: - code: 470 title: reason for failure id: c58c55a6cae6d1cb43d0c37efxxxxxb recipient_id: 1206400xxxx status: failed timestamp: '1533332775' extra: qwkfm9_606hxxx05 application/xml: schema: type: object examples: Incoming Text: value: |- { "messages": [ { "id": "6axxxxx2-72d9-11ed-88f4xxxxxxxxxxc02", "from": "{phone}", "type": "text", "timestamp": "1670051363", "text": { "body": "Hi" }, "message_id": "xxxid.HBgMOTE3MDQ1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYxMzUxOEVGODBDMEE2QUFCQTg1ODkA" } ], "contacts": [ { "profile": { "name": "Darryl" }, "wa_id": "{phone}" } ], "brand_msisdn": "{phone}", "request_id": "6af19ee2-72d9-11ed-88f4-0xxxxxxxxxxx" } Incoming Image: value: |- { "apiKey": "xxxxxxxxxxxxxxxxxxxxxnhVgfb!ll*mv12lSt", "messages": [ { "from": "{phone}", "id": "ABxxxxxxxxxxxxxxxxxxxNjXmuSf", "image": { "file": "/usr/local/wamedia/shared/b1cf38-8734-4ad3-b4a1-xxxxxxxxxxxx", "id": "xxxxxxxx-8734-4ad3-b4a1-efxxxxd683", "mime_type": "image/jpeg", "sha256": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdcca301ae99944db", "caption": "Check out my new phone!", "media_url": "https://apis.rmlconnect.net/wba/v1/media?media_id=fc233119-733f-49c-bcbd-xxxxxxxxxxxx&username=demo" }, "timestamp": "1521497954", "type": "image" } ], "brand_msisdn": "{phone}", "request_id": "aebeca32-f125-11eb-8c86-xxxxxxxxxxxx" } Incoming Audio: value: |- { "messages": [ { "from": "{phone}", "id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxf", "timestamp": "1521827831", "type": "voice", "voice": { "file": "/usr/local/wamedia/shared/463e/b7ec/fxxxxxxxxxxxxxxxxb2", "id": "463eb7ec-ff4e-4d9b-b110-xxxxxxxxxxxx", "mime_type": "audio/ogg; codecs=opus", "sha256": "fa9exxxxxxxxxxxxxxxxxxxxxxxx912923590521ef53b0710", "media_url": "https://apis.rmlconnect.net/wba/v1/media?media_id=fc233119-733f-49c-bcbd-xxxxxxxxxxxx&username=demo" } } ], "brand_msisdn": "{phone}", "request_id": "aebeca32-f125-11eb-8c86-xxxxxxxxxxxx" } Incoming Video: value: | { "messages": [ { "from": "{phone}", "id": "ABGGFlxxxxxxxxxxxxxNmNjXmuSf", "timestamp": "1521827831", "type": "voice", "voice": { "file": "/usr/local/wamedia/shared/463e/b7ec/ff4xxxxxxxxxxxxx1b2", "id": "xxxxxxxc-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "mime_type": "audio/ogg; codecs=opus", "sha256": "fa9e1807d936b7cebexxxxxxxxxxxxxxxxxxxxxxxxxxb0710", "media_url": "https://apis.rmlconnect.net/wba/v1/media?media_id=fc233119-733f-49c-bcbd-xxxxxxxxxxxx&username=demo" } } ], "brand_msisdn": "{phone}", "request_id": "aebeca32-f125-11eb-8c86-xxxxxxxxxxx7" } responses: '200': description: Success /wba/templates: get: tags: - Messaging summary: View Template Message description: View template messages added to the WhatsApp Business account. operationId: viewTemplateMessage responses: '200': description: Success content: application/json: schema: type: object properties: total: type: integer description: The total count of items in the response. data: type: array description: An array of objects representing the data or information. items: type: object properties: name: type: string description: The name of the item. id: type: string description: The unique identifier associated with the item. components: type: array description: An array of components associated with the item. items: type: object properties: type: type: string description: The type of the component. text: type: string description: The text or content of the component. category: type: string description: The category of the item. status: type: string description: The status of the item. quality_rating: type: string description: The quality rating of the item. rejected_reason: type: string description: The reason for rejection. language: type: string description: Language code of language in which message text is written, such as "en" for English. created_date: type: string description: The date and time when the item was created. deleted_date: type: string description: The date and time when the item was deleted. waba_id: type: string description: The unique identifier associated with the WhatsApp Business Account (WABA). previous_category: type: string description: The previous category of the item. examples: Example 1: value: total: 1 data: - name: welcome id: 640099017215xxx components: - type: BODY text: "Hi, Thank you for Opt-ing in to receive notifications from us on WhatsApp.\ \ \n\nWe will send you regular updates on our services and promotions. If you\ \ wish to unsubscribe, please reply with STOP. \n\nHave a good day." category: MARKETING status: APPROVED quality_rating: UNKNOWN rejected_reason: NONE language: en created_date: 21-Feb-2022 04:53 PM deleted_date: string waba_id: 629529078253xxx previous_category: ALERT_UPDATE '400': description: Bad Request content: application/json: schema: type: object properties: message: type: string description: The response message. examples: Template Name Exists: value: message: 'template with name : testing_v160405xx7 and language : [''en_US''] already exists.' '401': description: Authentication Failure content: application/json: schema: type: object properties: response: type: string description: The message response. examples: Example 1: value: response: Unauthorized '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status for the message delivery. message: type: string description: The message response. reason: type: string description: The reason for not processing the request. examples: Example 1: value: status: failed message: unable to process request reason: reason security: - BearerAuth: [] /wba/template/create: post: tags: - Messaging summary: Create Template description: Create a template for your message. Learn more about [different WhatsApp templates](https://routemobile.github.io/WhatsApp-Business-API/WBS.html#tag/WhatsApp-Messaging-Template-API/operation/createTemplate). operationId: createTemplate requestBody: description: Create a new WhatsApp message template with components (header, body, footer, buttons). content: application/json: schema: oneOf: - $ref: '#/components/schemas/CreateTemplateRequest' - $ref: '#/components/schemas/CreateTemplateCallToAction' - $ref: '#/components/schemas/CreateTemplateQuickReply' - $ref: '#/components/schemas/CreateTemplateMedia' - $ref: '#/components/schemas/CreateTemplateText' - $ref: '#/components/schemas/CreateTemplateAuthCopyCode' - $ref: '#/components/schemas/CreateTemplateAuthAutofill' - $ref: '#/components/schemas/CreateTemplateCatalog' - $ref: '#/components/schemas/CreateTemplateCopyCode' - $ref: '#/components/schemas/CreateTemplateCarousel' - $ref: '#/components/schemas/CreateTemplateLimitedTimeOffer' - $ref: '#/components/schemas/CreateTemplateMultiProduct' - $ref: '#/components/schemas/CreateTemplatePaymentOrder' - $ref: '#/components/schemas/CreateTemplateFlow' examples: Create Template: value: components: body: text: '{body text}' buttons: elements: - contact_no: '{phone number with + and country code}' label: '{phone number label}' - label: '{url label}' type: static/dynamic website: '{url with https}' type: call_to_action footer: text: '{footer text}' header: example: '{sample media url}' type: image/video/document language: - '{lang code}' template_category: ACCOUNT_UPDATE template_name: '{template name}' template_type: template Call to Action Template: value: template_name: '{template name}' language: - '{lang code}' template_type: template template_category: '{template category}' components: header: type: image/video/document example: '{sample media url}' body: text: '{body text}' footer: text: '{footer text}' buttons: type: call_to_action elements: - label: '{phone number label}' contact_no: '{phone number with + and country code}' - label: '{url label}/{url label/{{1}}}' type: static/dynamic website: '{url with https}/{url with https/{{1}}}' Quick Reply Template: value: template_name: '{template name}' language: - '{lang code}' template_type: template template_category: '{template category}' components: header: type: image/video/document example: '{sample media url}' body: text: '{body text}' footer: text: '{footer text}' buttons: type: quick_reply elements: - label: '{button 1 label}' - label: '{button 2 label}' - label: '{button 3 label}' Media Template: value: template_name: '{template name}' language: - '{lang code}' template_type: template template_category: ACCOUNT_UPDATE components: header: type: image/video/document example: '{sample media url}' body: text: '{body text}' footer: text: '{footer text}' Text Template: value: template_name: '{template name}' language: - '{lang code}' template_type: template template_category: '{template category}' components: body: text: '{body text}' footer: text: '{footer text}' Auth CopyCode: value: template_name: '{template name}' language: - '{lang code}' template_type: template template_category: AUTHENTICATION components: body: add_security_recommendation: true/false footer: code_expiration_minutes: code expiry upto 90mins: string buttons: type: OTP otp_type: COPY_CODE text: Copy Code Auth Autofill: value: template_name: '{template_name}' language: - '{lang code}' template_type: template template_category: AUTHENTICATION components: body: add_security_recommendation: true/false footer: code_expiration_minutes: upto 90 mins possible: string buttons: type: OTP otp_type: ONE_TAP text: Copy Code autofill_text: Autofill package_name: '{package name of App}' signature_hash: '{signature_hash of App}' Catalog: value: template_name: '{template name}' language: - en template_category: '{template category}' template_type: '{template type}' components: body: text: '{body text}' example: - '{example}' buttons: type: '{button type}' elements: - type: '{button elements type}' footer: text: Thank You Copy Code: value: template_name: '{template name}' language: - en template_category: '{template category}' template_type: '{ template type }' components: body: text: '{body text}' example: - '10' header: type: '{header type}' text: '{header text}' buttons: type: '{button type}' elements: - type: '{button element type}' label: '{button element label}' website: '{sample url}' - type: '{button element type}' example: '{button text example}' footer: text: '{footer text}' Carousel: value: template_name: '{template name}' language: - '{lang code}' template_category: '{template category}' template_type: '{template type}' components: body: text: '{body text}' example: - '100' cards: header_type: '{ card header type}' header_example: xxxxx://xxxxxxxxxxxx/200/300?xxxxxxxx button_types: - '{button type 1}' - '{button type 2}' elements: - body: text: '{element body text}' example: - '{example 1}' - '{example 2}' buttons: - type: '{element button type}' text: '{element button text}' - type: '{element button type}' label: '{element button label}' website: xxxxx://xxxxxxx/{{1}} website_example: xxxxx://xxxxxxxxxx/client - body: text: '{element body text}' example: - '{example 1}' - '{example 2}' buttons: - type: '{element button type}' text: '{element button text}' - type: '{element button type}' label: '{element button label}' website: xxxxx://xxxxxxxx/{{1}} website_example: xxxxx://xxxxxxx/student Limited Time Offer: value: template_name: '{template_name}' language: - '{lang code}' template_type: template template_category: MARKETING components: limited_time_offer: text: '{lto text}' has_expiration: true body: text: '{body text}' buttons: type: '{button type}' elements: - type: '{button element type}' example: '{button element example}' - label: '{button element label}' type: '{button element type}' website: xxxxx://xxxxxxxx/ website_example: xxxxx://xxxxxxxxxx/student Multi Product: value: template_name: '{template_name}' language: - '{lang code}' template_type: '{template type}' template_category: '{template category}' components: header: type: '{header type}' text: '{header text}' body: text: '{body text}' buttons: type: '{button type}' elements: - text: '{button element text}' Payment Order Details: value: template_name: '{template_name}' language: - '{lang code}' template_type: '{template type}' template_category: '{template category}' template_sub_category: '{template sub category}' components: header: type: '{header type}' text: '{header text}' body: text: '{body text}' footer: text: '{fotter text}' buttons: type: '{button type}' elements: - text: '{button element text}' Flows creation: value: template_name: '{template_name}' language: - '{lang code}' template_type: '{template type}' template_category: '{template category}' components: header: type: '{header type}' text: '{header text}' body: text: '{body text}' buttons: type: '{button type}' elements: - text: '{button element text}' flow_id: '{flow id}' navigation_screen: '{Flows Json screen name}' flow_action: '{flow action}' responses: '200': description: Success content: application/json: schema: type: object properties: id: type: string description: The unique identification of a template. status: type: string description: The status of the template. category: type: string description: 'The template category. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' examples: Approved template: value: id: 79804437842xxxx status: APPROVED category: MARKETING '400': description: Bad Request content: application/json: schema: type: object properties: message: type: string description: The message response. examples: Template already exists: value: message: 'template with name : testdocum1 and language : [''en''] already exists.' '401': description: Authentication Failure content: application/json: schema: type: object properties: message: type: string description: The message response. reason: type: string description: The reason for not processing a request. status: type: string description: The status of the template. examples: JWT token expired: value: message: unable to process campaign request reason: jwt token expired status: failure '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '422': description: Unprocessable Entity (WebDAV) content: application/json: schema: type: object properties: template_category: type: array description: 'The template category. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' items: type: string examples: Example 1: value: template_category: - 'Must be one of: MARKETING, UTILITY, AUTHENTICATION.' '500': description: Internal Server Error content: application/json: schema: type: object properties: message: type: string description: The message response. examples: Server error: value: message: Internal Server Error security: - BearerAuth: [] /wba/v1/messages: post: tags: - Messaging summary: Send Template and Session Messages API description: Send Template and Session Messages API can be used to send either template or session messages to customers. Learn more about [WhatsApp template and session message APIs](https://routemobile.github.io/WhatsApp-Business-API/WBS.html#tag/WhatsApp-Messaging-Template-API/operation/sendSessionMessageApi). operationId: sendSessionMessageApi requestBody: content: application/json: schema: oneOf: - title: Template Message Types oneOf: - $ref: '#/components/schemas/SendTemplateText' - $ref: '#/components/schemas/SendTemplateTextWithHeader' - $ref: '#/components/schemas/SendTemplateMediaImage' - $ref: '#/components/schemas/SendTemplateMediaDocument' - $ref: '#/components/schemas/SendTemplateMediaVideo' - $ref: '#/components/schemas/SendTemplateAuthCopyCode' - $ref: '#/components/schemas/SendTemplateAuthAutofill' - $ref: '#/components/schemas/SendTemplateQuickReply' - $ref: '#/components/schemas/SendTemplateCarousel' - $ref: '#/components/schemas/SendTemplateCouponCode' - $ref: '#/components/schemas/SendTemplateCatalogThumbnail' - $ref: '#/components/schemas/SendTemplateMultiProduct' - $ref: '#/components/schemas/SendTemplateLimitedTimeOffer' - $ref: '#/components/schemas/SendTemplatePayment' - $ref: '#/components/schemas/SendTemplateFlow' - title: Session Message Types oneOf: - $ref: '#/components/schemas/SendSessionText' - $ref: '#/components/schemas/SendSessionTextReplyTo' - $ref: '#/components/schemas/SendSessionTextPreviewUrl' - $ref: '#/components/schemas/SendSessionDocument' - $ref: '#/components/schemas/SendSessionAudio' - $ref: '#/components/schemas/SendSessionImage' - $ref: '#/components/schemas/SendSessionVideo' - $ref: '#/components/schemas/SendSessionLocation' - $ref: '#/components/schemas/SendSessionInteractiveList' - $ref: '#/components/schemas/SendSessionQuickReplyMedia' - $ref: '#/components/schemas/SendSessionQuickReplyText' - $ref: '#/components/schemas/SendSessionSingleProduct' - $ref: '#/components/schemas/SendSessionMultiProduct' - $ref: '#/components/schemas/SendSessionFlow' - $ref: '#/components/schemas/SendSessionPaymentWithCatalog' - $ref: '#/components/schemas/SendSessionPaymentWithoutCatalog' - $ref: '#/components/schemas/SendSessionPaymentPayU' - $ref: '#/components/schemas/SendSessionPaymentRazorpay' - $ref: '#/components/schemas/SendSessionPaymentUPI' - $ref: '#/components/schemas/SendSessionPaymentLink' - $ref: '#/components/schemas/SendSessionOrderStatus' examples: Send Template Message - Text: value: phone: '{mobile number}' extra: '{your value}' enable_acculync: true media: type: media_template template_name: '{your template}' lang_code: '{lang_code}' body: - text: '{variable}' - text: '{variable}' button: - button_no: 0/1 url: '{dynamic_url variable}' Send Template Message - Text with Text Header: value: phone: '{mobile number}' extra: '{your value}' enable_acculync: true media: type: media_template lang_code: '{code}' template_name: '{your template}' header: - text: '{variable}' body: - text: '{variable}' - text: '{variable}' button: - button_no: 0/1 url: '{dynamic_url variable}' Send Template Message - Media Image: value: phone: '{mobile number}' extra: '{your value}' enable_acculync: true media: type: media_template lang_code: '{code}' template_name: '{your template}' header: - image: link: '{sample image url hosted publicly starting with https:// and ending with file extension}' file_name: '{sample media name and ending with file extension}' body: - text: '{variable}' - text: '{variable}' button: - button_no: 0/1 url: '{dynamic_url variable}' Send Template Message - Media Document: value: phone: '{mobile number}' extra: '{your value}' enable_acculync: true media: type: media_template lang_code: '{code}' template_name: '{your template}' header: - document: link: '{sample document url hosted publicly starting with https:// and ending with file extension}' file_name: '{sample media name and ending with file extension}' body: - text: '{variable}' - text: '{variable}' button: - button_no: 0/1 url: '{dynamic_url variable}' Send Template Message - Media Video: value: phone: '{mobile number}' extra: '{your value}' enable_acculync: true media: type: media_template lang_code: '{code}' template_name: '{your template}' header: - video: link: '{sample video url hosted publicly starting with https:// and ending with file extension}' file_name: '{sample media name and ending with file extension}' body: - text: '{variable}' - text: '{variable}' button: - button_no: 0/1 url: '{dynamic_url variable}' Send Template Message - Auth Copycode: value: phone: '{phone}' media: type: media_template template_name: '{template_name}' lang_code: '{lang_code}' body: - text: '123523' button: - button_type: authentication button_no: '0' text: '123523' Send Template Message - Auth Autofill: value: phone: '{phone}' media: type: media_template template_name: '{template_name' lang_code: '{lang_code}' body: - text: '123523' button: - button_type: authentication button_no: '0' text: '123523' Send Template Message - Quick Reply with ID: value: phone: '{mobile number}' enable_acculync: true extra: extra media: type: media_template lang_code: en template_name: quick_reply_tim_new header: - image: link: https://upload.wikimedia.org/wikipedia/commons/3/3f/JPEG_example_flower.jpg button: - button_no: '0' payload: tri - button_no: '1' payload: tan Send Template Message - Carousel: value: phone: '{mobile number}' media: type: media_template template_name: testing_carousel_pranit lang_code: en_US body: - text: 15OFF - text: 15% carousel: - type: image url: https://picsum.photos/id/237/200/300 body: - text: 10OFF - text: 10OFF button: - button_no: '0' payload: 7C4xhY - button_no: '1' url: summer_blues_2023 - type: image url: https://picsum.photos/200/300?grayscale body: - text: 10OFF - text: 10OFF button: - button_no: '0' payload: 7C4xhY - button_no: '1' url: summer_blues_2023 Send Template Message - Copy Code: value: phone: '{mobile number}' media: type: media_template template_name: coupon_code_pranit lang_code: en_US body: - text: Sir - text: '25' - text: DUSSHERA23 - text: 24-10-2023 button: - button_no: '1' coupon_code: DUSSHERA23 Send Template Message - Catalog Thumbnail: value: phone: '{mobile number}' media: type: media_template template_name: test_pranit_catalogue_2 lang_code: en_US body: - text: Test button: - button_no: '0' thumbnail_product_retailer_id: vendee2 Send Template Message - Multi Product Template Message: value: phone: '{mobile number}' media: type: media_template template_name: testing_api_mpm9 lang_code: en_us multi_product: - product_thumbnail: IT173 title: image product_retailer_ids: - '1' - 1-1135-2742-HI - title: Premium Packages product_retailer_ids: - '2' - title: Best Packages product_retailer_ids: - IT1260 - title: Premium Packages product_retailer_ids: - IT173 Send Template Message - Limited Time Offer: value: phone: '{mobile number}' media: type: media_template template_name: testing_api_lto111 lang_code: en body: - text: Pablo limited_time: - expiration_time: 1702373850000 button: - button_no: '0' coupon_code: CARIBE26 Send Template Message - Payment: value: phone: '{mobile number}' enable_acculync: 'false' media: type: media_template template_name: testing_order_************* lang_code: en_US payment: - reference_id: 12F14**** order_type: order_details product_type: digital-goods payment_gateway: type: razorpay configuration_name: RPca*** address: first_name: first name of recipient address_line1: address address_line2: address city: city state: state country: India postal_code: '560066' items: - name: test language product_id: 106299316140**** quantity: '1' amount: '10' retailer_id: 1-1135-2***** country_of_origin: ORIGIN_COUNTRY importer_name: IMPORTER_NAME importer_address: address_line1: IMPORTER_ADDRESS city: CITY country_code: COUNTRY postal_code: '534280' subtotal_amount: '10' discount_amount: '0' shipping_amount: '0' shipping_description: optional_text total_amount: '10' tax_amount: '0' tax_description: optional_text extra: samplepayment Send Template Message - Flow: value: phone: '{mobile number}' media: type: media_template template_name: nn_t*** lang_code: en header: - text: offer body: - text: the end of August - text: 25OFF - text: 20% button: - button_no: '0' flow: PAYLOAD Send Session Message - Session Text: value: phone: '{mobile number}' text: '{sample text}' enable_acculync: true extra: '{your value}' Send Session Message - Session Text Reply To: value: phone: '{mobile number}' text: '{sample text}' reply_to: wamid.HBgMOTE3MDQ1MzQ1Mjg1FQIAERgSQTg5MkYxNjM3QzU5OExxxxxxxx== enable_acculync: true extra: '{your value}' Send Session Message - Session Text With Preview URL: value: phone: '{mobile number}' text: '{text with valid url}' preview_url: true enable_acculync: true extra: '{your value}' Send Session Message - Session Document: value: phone: '{mobile number}' enable_acculync: true media: type: document url: '{sample pdf url https://}' file: '{sample .pdf file name}' caption: '{sample text}' extra: '{your value}' Send Session Message - Session Audio: value: phone: '{mobile number}' enable_acculync: true media: type: audio url: '{sample .mp3 url https://}' file: '{sample audio.mp3 file name}' caption: '{sample text}' extra: '{your value}' Send Session Message - Session Image: value: phone: '{mobile number}' enable_acculync: true media: type: image url: '{sample image url https://}' file: '{sample image .jpg file name}' caption: '{sample text}' extra: '{your value}' Send Session Message - Session Video: value: phone: '{mobile number}' enable_acculync: true media: type: video url: '{sample video url https://}' file: '{sample video .mp4 file name}' caption: '{sample text}' extra: '{your value}' Send Session Message - Session Location: value: phone: '{mobile number}' enable_acculync: true media: type: location longitude: '{example: 72.838249}' latitude: '{example: 18.991341}' name: '{location name}' address: '{location address}' extra: '{your value}' Send Session Message - Session Interactive List: value: phone: '{phone number}' extra: '{your value}' enable_acculync: true media: type: interactive_list header: text: ABC Food Items body: Hello TAN. Please select from the list below footer_text: Menu button_text: Select button: - section_title: Chicken row: - id: '1' title: Chicken Kadai description: tasty gravy - section_title: Fish row: - id: '2' title: Fish Masala description: yummy flavour Send Session Message - Session Quick Reply with Media: value: phone: '{mobile number}' extra: '{your value}' enable_acculync: true media: type: interactive_reply header: type: video url: http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/xxxxxxxxxxxxxxxx.mp4 file: pdf.pdf caption: This is a test video body: HI TAN, please select an option below footer_text: c@2021 button: - id: '1' title: 'Yes' - id: '2' title: 'No' - id: '3' title: Maybe Send Session Message - Session Quick Reply with Text: value: phone: '{mobile number}' extra: '{your value}' enable_acculync: true media: type: interactive_reply header: text: Super Selector Match body: HI TAN, please select an option below footer_text: c@2021 button: - id: '1' title: 'Yes' - id: '2' title: 'No' - id: '3' title: Maybe Send Session Message - Session Single Product: value: phone: '{mobile number}' extra: extra enable_acculync: true catalog: type: product body: text: test action: catalog_id: 2476762038xxxx9 product_retailer_id: pp_x1 Send Session Message - Session Multi Product: value: phone: '{mobile number}' enable_acculync: true extra: extra catalog: type: product_list header: type: text text: hello https://mail.google.com/ body: text: test action: catalog_id: 2476762038xxxx9 sections: - title: section 1 product_items: - product_retailer_id: pp_x1 - product_retailer_id: pp_x - title: section 2 product_items: - product_retailer_id: pp_x1 - product_retailer_id: pp_x Send Session Message - Session Flow: value: phone: '{mobile number}' enable_acculync: false type: flow header: image: https://upload.wikimedia.org/wikipedia/commons/3/3f/JPEG_example_flower.jpg footer: this test belongs to footer body: https://upload.wikimedia.org/wikipedia/commons/3/3f/JPEG_example_flower.jpg flow: flow_mode: draft flow_token: abc********. flow_id: 856082929****** flow_cta: Book! flow_action: navigate flow_action_payload: screen: MY_FIRST_SCREEN data: hi: hello Send Session Message - Session Send Message with catalog: value: phone: '{mobile number}' enable_acculync: false body: with catalog footer: this is your text image: url: https://upload.wikimedia.org/wikipedia/commons/3/3f/JPEG_example_flower.jpg payment: reference_id: q2 order_type: order_details product_type: digital-goods payment_configuration: RML****1 address: first_name: first name of recipient address_line1: address address_line2: address city: city state: state country: India postal_code: '560066' items: - retailer_id: '1' catalog_id: 62305622836***** product_name: Product name, for example bread amount: 100 quantity: '1' expiration_timestamp: '1797885016' expiration_description: expiration-explanation subtotal_amount: 100 discount_amount: 100 discount_description: optional_text shipping_amount: 0 shipping_description: optional_text total_amount: 100 tax_amount: 100 tax_description: optional_text extra: samplepayment Send Session Message - Session Send Message without catalog: value: phone: '{mobile number}' enable_acculync: false body: without catalog_id footer: this is your text payment: reference_id: y** order_type: order_details product_type: digital-goods payment_configuration: RML****1 address: first_name: first name of recipient address_line1: address address_line2: address city: city state: state country: India postal_code: '560066' items: - image: url: https://upload.wikimedia.org/wikipedia/commons/3/3f/JPEG_example_flower.jpg product_name: Product name, for example bread amount: 100 quantity: '1' expiration_timestamp: '1797885016' expiration_description: expiration-explanation subtotal_amount: 100 discount_amount: 100 discount_description: optional_text shipping_amount: 0 shipping_description: optional_text total_amount: 100 tax_amount: 100 tax_description: optional_text extra: samplepayment Send Session Message - Session Payment Gateway PayU: value: phone: '{mobile number}' enable_acculync: false body: payment gateway_payu footer: this is your text image: url: https://upload.wikimedia.org/wikipedia/commons/3/3f/JPEG_example_flower.jpg payment: reference_id: g** order_type: order_details product_type: digital-goods payment_gateway: type: payu configuration_name: PUca*** notes: udf1: TNXID:1221*** udf2: TNXID:1221WE*** udf3: TNXID:12WE322*** address: first_name: first name of recipient address_line1: address address_line2: address city: city state: state country: India postal_code: '560066' items: - retailer_id: 1* catalog_id: 623056228363**** product_name: Product name, for example bread amount: 100 quantity: '1' expiration_timestamp: '1797885016' expiration_description: expiration-explanation subtotal_amount: 100 discount_amount: 100 discount_description: optional_text shipping_amount: 0 shipping_description: optional_text total_amount: 100 tax_amount: 100 tax_description: optional_text extra: samplepayment Send Session Message - Session Payment gateway Razorpay: value: phone: '{mobile number}' enable_acculync: false body: payment gateway_ razor footer: this is your text image: url: https://upload.wikimedia.org/wikipedia/commons/3/3f/JPEG_example_flower.jpg payment: reference_id: q9* order_type: order_details product_type: digital-goods payment_gateway: type: razorpay configuration_name: Rca*** notes: udf1: TNXID:12213** udf2: TNXID:1221WEE** udf3: TNXID:12WE322*** address: first_name: first name of recipient address_line1: address address_line2: address city: city state: state country: India postal_code: '560066' items: - retailer_id: 1** catalog_id: 6230562283637*** product_name: Product name, for example bread amount: 100 quantity: '1' expiration_timestamp: '1797885016' expiration_description: expiration-explanation subtotal_amount: 100 discount_amount: 100 discount_description: optional_text shipping_amount: 0 shipping_description: optional_text total_amount: 100 tax_amount: 100 tax_description: optional_text extra: samplepayment Send Session Message - Session Payment UPI: value: phone: '{mobile number}' enable_acculync: 'true' body: from upi footer: this is your text image: url: https://upload.wikimedia.org/wikipedia/commons/3/3f/JPEG_example_flower.jpg payment: reference_id: qqqqq33fq*** order_type: order_details product_type: digital-goods payment_configuration: RMLUA*** address: first_name: first name of recipient address_line1: address city: city state: state country: India postal_code: '560066' items: - retailer_id: 1-1135-27***** product_name: Cora***** amount: 10 quantity: '1' expiration_timestamp: '1799885016' expiration_description: expiration-explanation subtotal_amount: 10 discount_description: optional_text shipping_amount: 0 shipping_description: optional_text total_amount: 10 tax_amount: 0 tax_description: optional_text extra: samplepayment Send Session Message - Session Payment Link: value: phone: '{mobile number}' enable_acculync: false body: from link footer: this is your text image: url: https://upload.wikimedia.org/wikipedia/commons/3/3f/JPEG_example_flower.jpg payment: reference_id: q** order_type: order_details product_type: digital-goods payment_link: uri: https://***************888888 address: first_name: first name of recipient address_line1: address address_line2: address city: city state: state country: India postal_code: 560066********* product_name: Product name, for example bread amount: 100 quantity: '1' expiration_timestamp: '1797885016' expiration_description: expiration-explanation subtotal_amount: 100 discount_amount: 100 discount_description: optional_text shipping_amount: 0 shipping_description: optional_text total_amount: 100 tax_amount: 100 tax_description: optional_text extra: samplepayment Send Session Message - Session Payment Order status: value: phone: '{mobile number}' enable_acculync: false body: this is your text payment: product_type: digital-goods order_type: order_status reference_id: kjhuhouyouyu***** order_status: processing order_status_description: optional-text extra: samplepayment responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/MessageAcceptedResponse' examples: Session Multiple Products: value: message: message received successfully status: processing request_id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/MessageBadRequestError' examples: Incorrect Payload Structure: value: message: The browser (or proxy) sent a request that this server could not understand. Unable to verify payload type: value: message: Please check API docs status: failure reason: Unable to verify payload type Language code error: value: message: please check API docs for more info status: failed reason: media: lang_code: - Shorter than minimum length 2. Header key cannot be empty: value: message: please check API docs for more info status: failed reason: media: error: if header key is included, it"s array value cannot be empty Invalid URL: value: message: please check API docs for more info status: failed reason: media: url: - Not a valid URL. Payload cannot be empty: value: message: Please check API docs status: failure reason: payload cannot be empty Header cannot be empty: value: message: please check API docs for more info status: failed reason: text: - Shorter than minimum length 1. Button URL cannot be empty: value: message: please check API docs for more info status: failed reason: media: button: '0': url: value: - Shorter than minimum length 1. '401': description: Authentication Failure content: application/json: schema: $ref: '#/components/schemas/MessageAuthError' examples: Incorrect Authorization token: value: message: Unable to process request status: Failed reason: Please check the integrity or validity of the token sent. '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/MessageNotFoundError' examples: Incorrect URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '422': description: Unprocessable Entity (WebDAV) content: application/json: schema: type: object properties: template_type: type: array description: The type of the template. items: type: string examples: Validation error: value: template_type: - 'Must be one of: template, text_template, media_template, interactive_template.' '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status of the template. message: type: string description: The message response. examples: Example 1: value: message: unable to process request status: failed security: - BearerAuth: [] /auth/v1/login/: post: tags: - Authentication summary: Login API description: |- Login APIs provide a secure and standardized way for end users to add user authentication to their applications. Only authorized users can access sensitive resources or perform specific actions within the application after entering the user authentication details. **By default, the JSON Web Token (JWT) validity periods are set to one hour.** operationId: loginApi requestBody: content: application/json: schema: $ref: '#/components/schemas/LoginRequest' examples: Example 1: value: password: password username: username responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/LoginResponse' examples: Authentication successful: value: JWTAUTH: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.eyJ1c2VyX2lkIjoiZGVtbyIsIxxxxxxxxxxxxxxxxxxxxxxxxxxxcCI6MTY4Mzg4OTI0MSwiZW1haWwiOiJwcm9kdWN0LWRlc2tAcm91dGVtb2JpbGUuY29tIiwib3JpZ19pYXQiOjE2ODM4ODU2NDEsImN1c3RvbWVyX2lkIjoiOWlyNURnN2J2c0NBIn0.gu2LO-bDVPqa35v_MnyO1KKxxxxxxxxxxxxxxxxxxTE user_data: username: demo first_name: First_Name last_name: Last_Name email: '{email}' phone_number: '{phone}' password_reset: false is_active: true is_staff: false ip: 1stepauth child_user: false parent_username: '' '403': description: Forbidden content: application/json: schema: type: object properties: status: type: string description: The user login status. examples: User is set inactive: value: status: invalid credentials or the account has been deactivated '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The user login status. examples: Unhandled Exception: value: status: /whatsapp/report/v1/optin-download: get: tags: - Reports summary: Optin Create Report description: The Optin Create Report endpoint is used to report user opt-ins for receiving messages from a business. operationId: optindownload parameters: - name: from_date in: query description: The starting date of the user opt-ins for receiving messages. required: true schema: type: string format: date example: '2023-08-07' - name: to_date in: query description: The end date of the user opt-ins for receiving messages. required: true schema: type: string format: date example: '2023-08-07' responses: '200': description: Success content: application/json: schema: type: object properties: status: type: string description: The status of the optin create report. id: type: integer description: The unique identifier that represents the report. examples: Example 1: value: status: success id: 5748 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string description: The response message. reason: type: string description: The reason for not generating the optin create report. status: type: string description: The status of the report. examples: Example 1: value: message: unable to process campaign request reason: jwt token expired status: failure '404': description: Not Found content: application/json: schema: type: object properties: message: type: string description: The response message. examples: Example 1: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: message: type: string description: The response message. reason: type: string description: The reason for not generating the option create report. status: type: string description: The status of the report. examples: Example 1: value: status: failure message: unable to process request reason: internal server error security: - BearerAuth: [] /whatsapp/report/v1/summary/download_optin_report: get: tags: - Reports summary: Download Optin Report description: The Download Optin Report endpoint is used to download the user opt-ins report for receiving messages from a business. operationId: downloadOptin parameters: - name: from_date in: query description: The starting date of the user opt-ins for receiving messages. required: true schema: type: string example: '2023-08-07' - name: to_date in: query description: The end date of the user opt-ins for receiving messages. required: true schema: type: string example: '2023-08-07' responses: '200': description: Success content: application/json: schema: type: object properties: country_code: type: string description: The country code of the phone number. msisdn: type: string description: The phone number of the customer. timestamp: type: string description: The timestamp of the message. channel: type: string description: The channel through which the user opted in. status: type: string description: The status of the optin report download. extra: type: string description: Any additional information related to the optin process. examples: Example 1: value: country_code: '91' msisdn: '{phone}' timestamp: '2022 - 09 - 06 10: 47: 01.198255' channel: whatsapp-api status: optin extra: '' '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string description: The response message. reason: type: string description: The reason for not processing the download optin report request. status: type: string description: The status of the optin report download. examples: Example 1: value: message: unable to process campaign request reason: jwt token expired status: failure '404': description: Not Found content: application/json: schema: type: object properties: message: type: string description: The response message. examples: Example 1: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status of the optin report download. message: type: string description: The response message. reason: type: string description: The reason for not processing the download optin report request. examples: Example 1: value: status: failure message: unable to process request reason: internal server error security: - BearerAuth: [] /wba/templates/media-id: post: tags: - Messaging summary: Get Template Media ID description: The Generate Media ID endpoint is used to generate a unique ID for the media file. operationId: media-idapis requestBody: description: Upload media and retrieve a media ID for use in template messages. content: multipart/form-data: schema: type: object properties: file: type: string description: The path of the media file. required: - file examples: Example 1: value: file: string responses: '200': description: Success content: application/json: schema: type: object properties: media_id: type: string description: Unique ID for the media file. mimetype: type: string description: The MIME type of the file. size: type: string description: The size of the file in mega bytes. status: type: string description: The status of the request. examples: Example 1: value: h: 4::aW1hZ2UvanBlZw==:ARYAD9GGvpFX_RGLucP0eH7noPnVwMhpd1SdBSz_dkb_ysGy5yeEhSWHZdTPXzwuSVMD5LXvhiayCxDvubaluQ7yRes6-X_eiCl31Y-u2lLEbg:e:1731405563:2221860068064858:100067177466309:ARaJTSVvECKCQXZBF48 '401': description: Unauthorized content: application/json: schema: type: object properties: status: type: string description: The status of the request. message: type: string description: The response message. reason: type: string description: The reason for not generating the media ID. examples: Example 1: value: message: unable to process campaign request reason: jwt token expired status: failure '404': description: Not Found content: application/json: schema: type: object properties: message: type: string description: The response message. examples: Example 1: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status of the request. message: type: string description: The response message. reason: type: string description: The reason for not generating the media ID. examples: Example 1: value: status: failure message: unable to process request reason: internal server error security: - BearerAuth: [] /wba/media/v1/get-media-id: post: tags: - Messaging summary: Generate Media ID API description: The Generate Media ID endpoint is used to generate a unique ID for the media file. It supports both file uploads and media file URLs. operationId: media-idapi requestBody: description: Provide either a file upload or a media file URL to generate the media ID. required: true content: multipart/form-data: schema: type: object properties: file/media_url: type: string format: binary description: Upload the media file or media url. examples: Example 1: value: file: binary file application/json: schema: type: object properties: file_url: type: string format: uri description: The public URL of the media file. required: - file_url examples: Example 1: value: file_url: https://example.com/sample-video.mp4 responses: '200': description: Success content: application/json: schema: type: object properties: media_id: type: string description: Unique ID for the media file. mimetype: type: string description: The MIME type of the file. size: type: string description: The size of the file in mega bytes. status: type: string description: The status of the request. examples: Example 1: value: media_id: 80653814102xxxx mimetype: video/mp4 size: 7.8125e-05 MB status: Success '401': description: Unauthorized content: application/json: schema: type: object properties: status: type: string message: type: string reason: type: string examples: Example 1: value: message: unable to process campaign request reason: jwt token expired status: failure '404': description: Not Found content: application/json: schema: type: object properties: message: type: string examples: Example 1: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string message: type: string reason: type: string examples: Example 1: value: status: failure message: unable to process request reason: internal server error security: - BearerAuth: [] /wba/management/v1/wbp-account-details: get: tags: - Account Management summary: WBP Account Details description: The WBP Account Details endpoint fetches the account details for the WhatsApp business profile by entering the authorization token key. operationId: getAccountDetails responses: '200': description: Success content: application/json: schema: type: object properties: callback_url: type: string description: The URL where callback notifications are sent. send_status: type: string description: A boolean value indicates whether the sending status update is enabled. available_verticals: type: array description: A list of available verticals or business categories. items: type: string account_hosting: type: string description: The hosting type for the account. user_details: type: object description: Details about the user. properties: client_msisdn: type: string description: The user's mobile number. waba_id: type: string description: WhatsApp Business Account (WABA) identifier. catalog_id: type: string description: Identifier for the catalog associated with the user. business_details: type: object description: Details about the business. properties: business: type: object description: Business profile information. properties: profile: type: object description: Business profile details. properties: address: type: string description: The business address. description: type: string description: The business description. email: type: string description: The business email address. websites: type: array description: List of business websites. items: type: string vertical: type: string description: Business vertical or category. about: type: string description: About the business. messaging_product: type: string description: Messaging product used. about_details: type: object description: About section details. properties: profile: type: object description: About section information. properties: about: type: object description: About text. properties: text: type: string description: The text content. health_check_details: type: object description: Health check information. properties: health_check: type: object description: Health check details. properties: username: type: string description: Username for health check. health: type: string description: Health status. request_url: type: string description: URL for health check request. response_body: type: object description: Health check response. properties: health: type: object description: Health status. properties: gateway_status: type: string description: The gateway status. meta: type: object description: Metadata information. properties: api_status: type: string description: API status. version: type: string description: API version. response_status_code: type: integer description: HTTP status code of the response. meta: type: object description: Metadata information. properties: api_status: type: string description: API status. version: type: string description: API version. phone_number_updates: type: object description: Phone number update details. properties: waba_id: type: string description: WhatsApp Business Account (WABA) identifier. number_quality: type: string description: Quality of the phone number. messaging_limit: type: string description: Messaging limit for the number. number_status: type: string description: Status of the number. example: Connected rejection_reason: type: string nullable: true description: Reason for number rejection. verified_name: type: string description: Verified name for the number. waba_updates: type: object description: WABA update details. properties: waba_status: type: string description: WABA status. waba_quality: type: string description: Quality of the WABA. waba_ban_date: nullable: true description: Date of WABA ban. waba_ban_state: nullable: true description: State of WABA ban. violation_type: nullable: true description: Type of violation. restriction_type: nullable: true description: Type of restriction. expiration: nullable: true description: Expiration details. waba_id: type: string description: WABA identifier. business_capabilities_updates: type: object description: Business capabilities update details. properties: max_phone_numbers_per_business: type: string description: Maximum phone numbers allowed for the business. max_daily_conversation_per_phone: type: string description: Maximum daily conversations per phone. examples: Example 1: value: callback_url: http:///v2/optin-callback-rmlbot2 send_status: 'True' available_verticals: - OTHER - AUTO - BEAUTY - APPAREL - EDU - ENTERTAIN - EVENT_PLAN - FINANCE - GROCERY - GOVT - HOTEL - HEALTH - NONPROFIT - PROF_SERVICES - RETAIL - TRAVEL - RESTAURANT account_hosting: cloud user_details: client_msisdn: '{phone}' waba_id: 206162977746xxxx catalog_id: 623056228363xxxx business_details: business: profile: address: Mumbai, Bengaluru description: Route Mobile, Route Lab email: username@domain.com websites: - http://www.routemobile.com/ vertical: OTHER about: RML TEST Bot2 messaging_product: whatsapp about_details: profile: about: text: RML TEST Bot2 health_check_details: health_check: username: RMLBot2 health: CONNECTED request_url: https:///v15.0/2061629777463969/phone_numbers response_body: health: gateway_status: CONNECTED meta: api_status: stable version: '15.0' response_status_code: 200 meta: api_status: stable version: '15.0' phone_number_updates: waba_id: 206162977746xxxx number_quality: high messaging_limit: TIER_1K number_status: CONNECTED rejection_reason: string verified_name: RouteMobile (Testing) waba_updates: waba_status: CONNECTED waba_quality: high waba_ban_date: string waba_ban_state: string violation_type: string restriction_type: string expiration: string waba_id: 206162977746xxxx business_capabilities_updates: max_phone_numbers_per_business: '25' max_daily_conversation_per_phone: TIER_1K '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string description: The response message. reason: type: string description: The reason for not processing the request. status: type: string description: The status of the request. examples: Example 1: value: message: unable to process campaign request reason: jwt token expired status: failure '404': description: Not Found content: application/json: schema: type: object properties: message: type: string description: The response message. examples: Example 1: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: message: type: string description: The response message. reason: type: string description: The reason for not processing the request. status: type: string description: The status of the request. examples: Example 1: value: status: failure message: unable to process request reason: internal server error security: - BearerAuth: [] /wba/management/v1/settings/profile/photo: post: tags: - Account Management summary: Profile Photo API description: The Profile Photo API endpoint uploads the profile photo for account and updates the account details for the WhatsApp business profile by entering the authorization token key. operationId: uploadProfilePhoto parameters: - name: source in: query description: The details of the source for uploading the file for a bulk campaign. required: false style: form explode: true schema: type: string example: UI - name: debug in: query description: The parameter that enables or disables the debug mode. Set the default value of "debug=True" to enable the debug mode. The system generates additional information and logs to help resolving troubleshoot and debug issues with the bulk campaigns. style: form explode: true schema: enum: - 'True' - 'False' example: 'True' requestBody: description: Upload a profile photo for your WhatsApp Business account. content: multipart/form-data: schema: $ref: '#/components/schemas/ProfilePhotoRequest' examples: Example: value: file: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/BulkUploadResponse' examples: Example 1: value: message: File uploaded successfully campaign_id: 670b3fd4-d442-11ed-a821-xxxxxxxxxxxx file_type: text/csv file_size: 19.0B total_records: 1 valid_records: 1 duplicate records: 0 campaign_type: generalized message_preview: phone: '{phone}' enable_acculync: true extra: '{''asd'':''asd''}' media: type: media_template template_name: boarding_pass_update lang_code: en header: - image: link: https://media.istockphoto.com/vectors/airplane-ticket-boarding-pass-ticket-template-vector-id878xxxxxx body: - text: Here is your boarding pass asynchronous: false country_code: string '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/JwtExpiredError' examples: JWT Token Expired: value: message: unable to process campaign request reason: jwt token expired status: failure '404': description: Page Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundError' examples: Incorrect API URL: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '422': description: Unprocessable Entity (WebDAV) content: application/json: schema: oneOf: - $ref: '#/components/schemas/UnknownCampaignTypeError' - $ref: '#/components/schemas/FileMimetypeError' examples: Unknown campaign type: value: message: please check API docs for more info status: failed reason: campaign_type: - 'Must be one of: generalized, personalized.' File Mimetype error: value: message: please check API docs for more info status: failed reason: file_mimetype: - 'Must be one of: text/csv, text/plain, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.openxmlformats-officedocument.spreadsheetml.template, application/vnd.ms-excel.sheet.macroEnabled.12, application/vnd.ms-excel.template.macroEnabled.12, application/vnd.ms-excel.addin.macroEnabled.12, application/vnd.ms-excel.sheet.binary.macroEnabled.12.' '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status of the message delivery. message: type: string description: The message response. examples: Internal server error: value: status: failure message: unable to process request security: - BearerAuth: [] /wba/template/update: patch: tags: - Messaging summary: Edit Template description: The Edit Template API allows you to edit a WhatsApp Business template by providing a new template name and updated components. operationId: editTemplate requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/UpdateTemplateExample' - $ref: '#/components/schemas/UpdateTemplateLimitedTimeOffer' - $ref: '#/components/schemas/UpdateTemplateMultiProduct' - $ref: '#/components/schemas/UpdateTemplateAuthAutofill' - $ref: '#/components/schemas/UpdateTemplateCatalog' - $ref: '#/components/schemas/UpdateTemplateCopyCode' - $ref: '#/components/schemas/UpdateTemplateCarousel' examples: Example: value: template_name: test_vid2 components: body: text: WELCOME TO TECH Auth Autofill: value: template_name: '{template_name}' language: - '{lang code}' template_type: template template_category: AUTHENTICATION components: body: add_security_recommendation: true/false footer: code_expiration_minutes: upto 90 mins possible: string buttons: type: OTP otp_type: ONE_TAP text: Copy Code autofill_text: Autofill package_name: '{package name of App}' signature_hash: '{signature_hash of App}' Catalog: value: template_name: '{template name}' language: - en template_category: MARKETING template_type: template components: body: text: Now shop for your favourite products right here on WhatsApp! Get Rs {{1}} off on all orders example: - '10' buttons: type: call_to_action elements: - type: view_catalog footer: text: Thank You Copy Code: value: template_name: '{template name}' language: - en template_category: MARKETING template_type: template components: body: text: Get flat {{1}} off on women's jeans, sarees online - Free Shipping, Cash On Delivery, Easy Returns & Exchange example: - '10' header: type: text text: Hello buttons: type: call_to_action elements: - type: static label: view website: xxxxx://xxxxxxx - type: copy_code example: 5Tdg0 footer: text: Thank You Carousel: value: template_name: '{template name}' language: - en template_category: MARKETING template_type: template components: body: text: Summer is here, and we have the freshest produce around! get {{1}} off your next order. example: - '100' cards: header_type: image header_example: https://picsum.photos/200/xxx?gxxxxx button_types: - url - quick_reply elements: - body: text: Rare lemons for unique cocktails. Use code {{1}} to get {{2}} off all produce. example: - 10O2P - 10% buttons: - type: quick_reply text: view more - type: dynamic label: open website: xxxxx://xxxxxxx/{{1}} website_example: xxxxx://xxxxxxxxx/client - body: text: Exotic fruit for unique cocktails! Use code {{1}} to get {{2}} off all exotic produce. example: - 10O2P - 10% buttons: - type: quick_reply text: view - type: dynamic label: visit website: xxxxx://xxxxxxxxx/{{1}} website_example: xxxxx://xxxxxxx/student Limited Time Offer: value: template_name: '{template_name}' language: - '{lang code}' template_type: template template_category: MARKETING components: limited_time_offer: text: limited offer has_expiration: true body: text: TEXT FOR BODY buttons: type: limited_time_offer elements: - type: copy_code example: CARIBE25 - label: action type: static website: xxxxx://xxxxxxxxxxxx/ website_example: xxxxx://xxxxxxxxx/ Multi Product: value: template_name: '{template_name}' language: - '{lang code}' template_type: template template_category: MARKETING components: header: type: text text: header - text body: text: test for body - 1 buttons: type: mpm elements: - text: View items responses: '200': description: Success content: application/json: schema: type: object properties: success: type: boolean description: Indicates the template edit process is successful or not. examples: Example 1: value: success: true '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string description: The response message. reason: type: string description: The reason for not processing the request. status: type: string description: The template edit status. examples: Example 1: value: message: unable to process campaign request reason: jwt token expired status: failure '404': description: Not Found content: application/json: schema: type: object properties: message: type: string description: The response message. examples: Example 1: value: message: Unknown template '500': description: Internal Server Error content: application/json: schema: type: object properties: message: type: string description: The response message. reason: type: string description: The reason for not processing the request. status: type: string description: The status of the request. examples: Example 1: value: status: failure message: unable to process request reason: internal server error security: - BearerAuth: [] /wba/template/: delete: tags: - Messaging summary: Delete Template description: The Delete Template API allows you to delete a WhatsApp Business template by providing a template name. operationId: deleteTemplate parameters: - name: name in: query description: Name of the WhatsApp business template. required: true schema: type: string responses: '200': description: Success content: application/json: schema: type: object properties: success: type: boolean description: Indicates whether the template delete request is successful. examples: Example 1: value: success: true '401': description: Unauthorized content: application/json: schema: type: object properties: status: type: string description: The status of the delete template request. message: type: string description: The response message. reason: type: string description: The reason for not processing the delete template request. examples: Example 1: value: message: unable to process campaign request reason: jwt token expired status: failure '404': description: Not Found content: application/json: schema: type: object properties: message: type: string description: The response message. examples: Example 1: value: message: template not found '500': description: Internal Server Error content: application/json: schema: type: object properties: status: type: string description: The status of the delete template request. message: type: string description: The response message. reason: type: string description: The reason for not processing the delete template request. examples: Example 1: value: status: failure message: unable to process request reason: internal server error security: - BearerAuth: [] /whatsapp/report/v1/template-count: get: tags: - Reports summary: Template Wise Count description: The Template Wise Count endpoint is used to count approved templates associated with a WhatsApp Business account. operationId: getTemplateWiseCount parameters: - name: start_date in: query description: The start date for the template count in "YYYY-MM-DD" format. required: true schema: type: string - name: end_date in: query description: The end date for the template count in "YYYY-MM-DD" format. required: true schema: type: string responses: '200': description: Success content: application/json: schema: type: object properties: result: type: array items: type: object properties: template_count: type: integer description: The template count number. template_name: type: string description: The template name. examples: Example 1: value: result: - template_count: 8 template_name: bilan - template_count: 3 template_name: bmntest12 - template_count: 1 template_name: delhi_metro_english_quick_n - template_count: 4 template_name: demo202 - template_count: 7 template_name: xyzz888 '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string description: The response message. reason: type: string description: The reason for not processing the template count request. status: type: string description: The status of the template count request. examples: Example 1: value: message: unable to process campaign request reason: jwt token expired status: failure '404': description: Not Found content: application/json: schema: type: object properties: message: type: string description: The response message. examples: Example 1: value: message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. '500': description: Internal Server Error content: application/json: schema: type: object properties: message: type: string description: The message response. reason: type: string description: The reason for not processing the template count request. status: type: string description: The status of the template count request. examples: Example 1: value: status: failure message: unable to process request reason: internal server error security: - BearerAuth: [] components: securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT description: JSON Web Token obtained from the Login API. Include the token in the `Authorization` header as `Bearer `. Tokens expire after one hour by default. schemas: BulkUploadRequest: type: object properties: campaign_type: type: string description: The type of campaign being sent, which can be either generalized or personalized. example: Generalized file: type: string description: "The CSV or plain text file path on your local system or network that you want\ \ to upload as part of a bulk campaign. The file contains the list of phone numbers and messages.\ \ \n\nSee the sample files for more information on bulk upload files and their details:\n\ - [Bulk Upload File](https://github.com/routemobile/WhatsApp-Business-API/blob/master/Sample%20Bulk%20Upload%20File.txt)\n\ - [Bulk Upload Campaign File](https://github.com/routemobile/WhatsApp-Business-API/blob/master/Sample%20Bulk%20Upload%20Campaign%20File.xlsx)\n\ - [Campaign File](https://github.com/routemobile/WhatsApp-Business-API/blob/master/Sample%20Campaign%20File%20.csv)" example: ABC.xlsx, ABC.csv, ABC.txt file_mimetype: type: string description: The MIME type of the file containing the phone numbers of the recipients. The type of the file can be either "text/plain" or "text/csv". example: '"text/plain or text/csv"' filename: type: string description: The name of the file containing the phone numbers of the recipients, including the file extension. message: type: string description: The message that you want to send to the users along with the file. required: - campaign_type - file - file_mimetype - filename - message BulkUploadResponse: type: object properties: message: type: string description: The outcome of the file upload process. campaign_id: type: string description: The unique identifier for the campaign associated with the uploaded file. file_type: type: string description: The type of the uploaded file. file_size: type: string description: The size of the uploaded file. total_records: type: integer description: The total number of records present in the uploaded file. valid_records: type: integer description: The count of valid records within the uploaded file. duplicate records: type: integer description: The count of duplicate records found in the uploaded file. campaign_type: type: string description: The type of campaign being sent, which can be either generalized or personalized. message_preview: $ref: '#/components/schemas/MessagePreview' asynchronous: type: boolean description: The parameter indicates whether the file upload process is synchronous or asynchronous. country_code: type: string description: The country code. MessagePreview: type: object description: A preview of the message or content associated with the campaign. properties: phone: type: string description: The mobile number of the recipient in full international format. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. extra: type: string description: Additional information to include in the message. media: $ref: '#/components/schemas/MessagePreviewMedia' MessagePreviewMedia: type: object properties: type: type: string description: The type of message template. template_name: type: string description: The name of the template to use. lang_code: type: string description: Language code of language in which message text is written, such as "en" for English. header: type: array items: $ref: '#/components/schemas/MessagePreviewMediaHeader' body: type: array items: $ref: '#/components/schemas/MessagePreviewMediaBody' MessagePreviewMediaHeader: type: object properties: image: $ref: '#/components/schemas/MessagePreviewMediaImage' MessagePreviewMediaImage: type: object properties: link: type: string description: The URL of the image file. MessagePreviewMediaBody: type: object properties: text: type: string description: The text to include in the message. JwtExpiredError: type: object properties: message: type: string description: The response message. reason: type: string description: The reason for not processing the product feed update request. status: type: string description: The status of the product feed update. NotFoundError: type: object properties: message: type: string description: The message response. UnknownCampaignTypeError: type: object title: Unknown Campaign Type Error properties: message: type: string description: The response message. status: type: string description: The status of the file upload. reason: type: object description: The reason for not processing the file upload request. properties: campaign_type: type: array description: The type of the campaign. items: type: string FileMimetypeError: type: object title: File Mimetype Error properties: message: type: string description: The response message. status: type: string description: The status of the file upload. reason: type: object description: The reason for not processing the file upload request. properties: file_mimetype: type: array description: The MIME type of the file containing the phone numbers of the recipients. items: type: string StartCampaignRequest: type: object properties: campaign_action: type: string description: The action to be taken for the campaign. For sending a bulk campaign, the value should be set to "start". example: '"start"' campaign_id: type: string description: The unique identifier for the campaign. This ID is generated by WhatsApp when you execute the File Upload API. example: 670b3fd4-xxxx-11ed-a821-xxxxxxxxxxxx campaign_name: type: string description: The name of the campaign. example: '{campaign name}' file_mimetype: type: string description: The MIME type of the file containing the phone numbers of the recipients. The type of the file can be in different formats, such as "text/plain" or "text/csv". example: '"text/plain or text/csv"' filename: type: string description: The name of the file containing the phone numbers of the recipients, including the file extension. example: '{filename with extension}' payload: $ref: '#/components/schemas/CampaignPayload' scheduled_time: type: string description: The date and time at which the campaign should be scheduled to start, in UTC format. The format of the string should be "YYYY-MM-DD HH:mm:ss". example: '"2021-12-08 13:36:00"' required: - campaign_action - campaign_id - campaign_name - file_mimetype - filename - payload - scheduled_time ResumeCampaignRequest: type: object properties: campaign_action: type: string description: The action to be taken for the campaign. For sending a bulk campaign, the value should be set to "resume". example: '"resum"' campaign_id: type: string description: The unique identifier for the campaign. This ID is generated by WhatsApp when you execute the File Upload API. example: 670b3fd4-xxxx-11ed-a821-xxxxxxxxxxxx required: - campaign_action - campaign_id PauseCampaignRequest: type: object properties: campaign_action: type: string description: The action to be taken for the campaign. For sending a bulk campaign, the value should be set to "pause". example: '"pause"' campaign_id: type: string description: The unique identifier for the campaign. This ID is generated by WhatsApp when you execute the File Upload API. example: 670b3fd4-xxxx-11ed-a821-xxxxxxxxxxxx required: - campaign_action - campaign_id CampaignPayload: type: object description: An object representing the template type, such as media template. properties: type: type: string description: The type of the payload depends on the type of message being sent as part of a bulk campaign. example: '"Text"' required: - type CampaignAcceptedResponse: type: object properties: status: type: string description: The status of the message. message: type: string description: The response message. CampaignBadRequestError: type: object properties: status: type: string description: The status of the message. message: type: string description: The response message. reason: type: string description: The reason for not processing the message. CampaignAuthError: type: object properties: status: type: string description: The status of the message. message: type: string description: The response message. reason: type: string description: The reason for not processing the message. IncorrectPayloadTypeError: type: object title: Incorrect Payload Type Error properties: message: type: string description: The response message. status: type: string description: The status of the bulk send campaign. reason: type: object description: The reason for not processing the bulk send campaign request. properties: payload: type: array description: An object representing the message to be sent. items: type: string IncorrectCampaignIdError: type: object title: Incorrect Campaign ID Error properties: message: type: string description: The response message. status: type: string description: The status of the bulk send campaign. reason: type: object description: The reason for not processing the bulk send campaign request. properties: campaign_id: type: array description: The unique ID of the campaign. items: type: string CatalogUploadRequest: type: object properties: action: type: string description: The action to be taken on the catalog. example: Update file: type: string description: "The data of the product feed file that contains catalog details such as ID, name,\ \ and image URL. \nSee the sample [catalog file](https://github.com/routemobile/WhatsApp-Business-API/blob/master/Sample%20Catalog%20File.csv)\ \ for more information on catalog details and its format." example: ABC.csv file_name: type: string description: The name of the product feed file that contains the updated catalog. example: file_name required: - action - file - file_name CatalogUnauthorizedError: type: object properties: response: type: string description: The response message. CreateProductFeedRequest: type: object properties: file_url: type: string description: The URL of the file that contains the product feed, hosted publicly and starting with "https://" and ending with the file extension. example: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= name: type: string description: The name of the product feed. example: product_feed_name schedule: type: string description: |- The schedule for updating the product feed. It contains a JSON object with two keys: a. interval: This key specifies the interval at which the product feed should be updated. In this case, it is set to "HOURLY", indicating that the feed should be updated hourly. b. scheduled_time: This key specifies the date and time at which the first update of the product feed should occur, in UTC format. example: ' "\"interval\":\"HOURLY\",\"scheduled_time\":\"2022-09-06 11:38:00\""' required: - file_url - name FetchProductFeedResponse: type: object properties: file_url: type: string description: The URL of the file that contains the updated product feed, hosted publicly and starting with "https://" and ending with the file extension. product_feed_id: type: string description: The unique ID of the product feed that is fetched name: type: string description: The name of product feed fetched example: Maggy id: type: string description: The id of product feed fetched example: '922943435434' price: type: string description: The price of product feed fetched example: '25.00' description: type: string description: The description of product feed fetched example: Instant noodles retailer_id: type: string description: The retailer id of product feed fetched example: IT158 next_url: type: string description: The next url of product feed fetched example: xxxxxxxxxxxxxxxxxxxxxxxx/v1/fetch_product_feed?access_token=xxxxxxxxxxxxxxxxxxxxxxx&limit=10&fields=name,id,price,description,retailer_id&product_feed_id=xxxxxxxxxxx&after=xxxxxxxxxxxxxx&before= prev_url: type: string description: The previous url of product feed fetched example: xxxxxxxxxxxxxxxxxxxxxx/v1/fetch_product_feed?access_token=xxxxxxxxxxxxxxxxxxxxxxx&limit=10&fields=name,id,price,description,retailer_id&product_feed_id=xxxxxxxxxxx&before=xxxxxxxxxxxxxx&before= required: - file_url - product_feed_id - name - id - price - description - retailer_id - next_url - prev_url UpdateProductFeedRequest: type: object properties: file_url: type: string description: The URL of the file that contains the updated product feed, hosted publicly and starting with "https://" and ending with the file extension. product_feed_id: type: string description: The unique ID of the product feed that should be updated. schedule: type: string description: |- The schedule for recurrently updating the product feed. It contains a JSON object with two keys: a. interval: This key specifies the interval at which the product feed should be updated. In this case, it is set to "HOURLY", indicating that the feed should be updated hourly. b. scheduled_time: This key specifies the date and time at which the first update of the product feed should occur, in UTC format. example: ' "\"interval\":\"HOURLY\",\"scheduled_time\":\"2022-09-06 11:38:00\""' required: - file_url - product_feed_id DeleteProductFeedRequest: type: object properties: product_feed_id: type: string description: The unique ID of the product feed that should be deleted. required: - product_feed_id DeleteProductFeedRequestAlt: type: object properties: product_feed_id: type: string description: Specify the identification of the product feed to delete from WhatsApp business messaging APIs. CatalogAuthError: type: object properties: message: type: string description: The response message. status: type: string description: The status of the message. reason: type: string description: The reason for not processing the message. CreateReportRequest: type: object properties: csv_max_lines: type: number description: An integer representing the maximum number of lines to include in the CSV file. example: 10000 filters: $ref: '#/components/schemas/ReportFilters' projections: type: array description: An array of fields that you want to include in the report. items: type: string example: country_code example: - country_code - msisdn - message_type - message_payload - request_id - conversation_id - message_id - submit_timestamp - sent_timestamp - delivery_timestamp - read_timestamp - failed_timestamp - deleted_timestamp - extra - pricing_model required: - csv_max_lines - filters - projections ReportFilters: type: object description: A JSON object that contains the start and end dates for the report. The format of the dates should be in YYYY-MM-DD format. properties: end_date: type: string description: The end date for the report in "YYYY-MM-DD" order, followed by the time in the "HH:MM:SS" format. example: '{end-date}' start_date: type: string description: The start date for the report in "YYYY-MM-DD" order, followed by the time in the "HH:MM:SS" format. example: '{start-date}' required: - end_date - start_date InvalidStartDateError: type: object properties: status: type: string description: The status of the report. errors: type: object description: The error message details. properties: filters: type: object description: A JSON object that contains the start date for the report. properties: start_date: type: array description: The start date for the report in the format of YYYY-MM-DD. items: type: string InvalidEndDateError: type: object properties: status: type: string description: The status of the report. errors: type: object description: The error message details. properties: filters: type: object description: A JSON object that contains the end date for the report. properties: end_date: type: array description: The end date for the report in the format of YYYY-MM-DD. items: type: string CreateCampaignReportRequest: type: object properties: csv_max_lines: type: number description: An integer representing the maximum number of lines to include in the CSV file. example: 10000 filters: $ref: '#/components/schemas/CampaignReportFilters' projections: type: array description: An array of strings representing the fields to include in the report. items: type: string example: '"country_code", "msisdn", "message_type", "message_payload", "request_id", "conversation_id", "message_id", "submit_timestamp", "sent_timestamp", "delivery_timestamp", "read_timestamp", "failed_timestamp", "deleted_timestamp", "extra", "pricing_model", "scheduled_time"' example: - country_code - msisdn - message_type - message_payload - request_id - conversation_id - message_id - submit_timestamp - sent_timestamp - delivery_timestamp - read_timestamp - failed_timestamp - deleted_timestamp - extra - pricing_model - scheduled_time required: - csv_max_lines - filters - projections CampaignReportFilters: type: object description: An object containing the filters to apply to the report. properties: campaign_id: type: string description: The ID of the campaign for which to generate the report. example: '{campaign-id}' campaign_name: type: string description: The name of the campaign for which to generate the report. example: '{campaign-name}' end_date: type: string description: The end date for the campaign specific report in "YYYY-MM-DD" order, followed by the time in the "HH:MM:SS" format. example: '{end-date}' start_date: type: string description: The start date for the campaign specific report in "YYYY-MM-DD" order, followed by the time in the "HH:MM:SS" format. example: '{start-date}' required: - campaign_id - campaign_name - end_date - start_date CampaignDetailsResponse: type: object properties: result: type: array items: $ref: '#/components/schemas/CampaignDetail' CampaignDetail: type: object properties: campaign_id: type: string description: The unique identifier for the campaign. campaign_name: type: string description: The name of the campaign. campaign_status: type: string description: The status of the campaign. campaign_type: type: string description: The type of the campaign. delivered: type: integer description: Number of delivered messages. failed: type: integer description: Number of failed messages. message_payload: $ref: '#/components/schemas/CampaignMessagePayload' message_type: type: string description: The type of the message. process_end_timestamp: type: string description: The process end time. process_start_timestamp: type: string description: The process start time. read: type: integer description: Number of read messages. scheduled_time: type: string description: The campaign scheduled time. sent: type: integer description: Number of sent messages. submit: type: integer description: Number of submitted messages. user_name: type: string description: The name of the user. CampaignMessagePayload: type: object properties: country_code: type: string description: The country code. media: $ref: '#/components/schemas/CampaignMessagePayloadMedia' phone: type: string description: The phone number in international format. CampaignMessagePayloadMedia: type: object properties: lang_code: type: string description: Language code of language in which message text is written, such as "en" for English. template_name: type: string description: The name of the message template. type: type: string description: The template type. OptinStoreResponse: type: object properties: status: type: string description: The status of the message delivery. message: type: string description: The message response. details: type: string description: The details of the message. OptinValidationError: type: object properties: message: type: string description: The response message. status: type: string description: The optin status of msisdn. error: $ref: '#/components/schemas/OptinValidationErrorDetail' OptinValidationErrorDetail: type: object properties: msisdn: type: array description: The phone number of the customer. items: type: string CallbackIncomingText: type: object title: Incoming Text properties: messages: type: array description: An array of message objects that contains information about the incoming text message and its parameters. items: type: object properties: id: type: string description: A unique ID for the message. from: type: string description: The phone number of the sender. type: type: string description: The type of message. For example, text, image, video, and so on. timestamp: type: string description: The Unix timestamp of the message. text: type: object description: An object that contains the text of the message. The text message includes a single parameter, body, which contains the text of the message. properties: body: type: string description: The text of the message. message_id: type: string description: The unique ID for the message that was generated by WhatsApp. contacts: type: array description: An array of contact objects that contains information about the sender of the message and its parameters. items: type: object properties: profile: type: object description: An object that contains the contact's profile information, such as, name, photo, and so on. properties: name: type: string description: The contact's profile name. wa_id: type: string description: The WhatsApp ID of the contact. brand_msisdn: type: string description: The phone number associated with the WhatsApp Business account in international format. request_id: type: string description: A unique ID for the callback request. CallbackIncomingImage: type: object title: Incoming Image properties: apiKey: type: string description: The API key to authenticate the callback request. messages: type: array description: An array of message objects that contains information about the incoming image message and its parameters. items: type: object properties: from: type: string description: The phone number of the sender in international format. id: type: string description: A unique ID for the message. image: type: object description: An object that contains information about the incoming image. properties: file: type: string description: The absolute path to the image file. id: type: string description: A unique ID for the image. mime_type: type: string description: The MIME type of the image. sha256: type: string description: The SHA256 hash of the image. caption: type: string description: The caption of the image. media_url: type: string description: The URL of the image. timestamp: type: string description: The timestamp of the incoming message. type: type: string description: The type of the incoming message. In this case, "image". brand_msisdn: type: string description: The phone number associated with the WhatsApp Business account in international format. request_id: type: string description: A unique ID for the callback request. CallbackIncomingAudio: type: object title: Incoming Audio properties: messages: type: array description: An array of message objects that contains information about the incoming audio message and its parameters. items: type: object properties: from: type: string description: The phone number of the sender. id: type: string description: A unique ID for the message. timestamp: type: string description: The Unix timestamp of the message. type: type: string description: The type of message. For example, text, image, video, and so on. voice: type: object description: An object that contains the audio message parameters. properties: file: type: string description: The path to the audio file on your server. id: type: string description: A unique ID for the audio message. mime_type: type: string description: The MIME type of the audio file. sha256: type: string description: The SHA-256 hash of the audio file. media_url: type: string description: The media URL for the audio file. brand_msisdn: type: string description: The phone number associated with the WhatsApp Business account in international format. request_id: type: string description: A unique ID for the callback request. CallbackIncomingVideo: type: object title: Incoming Video properties: messages: type: array description: An array of message objects that contains information about the incoming video message and its parameters. items: type: object properties: from: type: string description: The phone number of the sender. id: type: string description: A unique ID for the message. timestamp: type: string description: The Unix timestamp of the message. type: type: string description: The type of message. For example, text, image, video, and so on. voice: type: object description: An object that contains the audio message parameters. properties: file: type: string description: The path to the video file on your server. id: type: string description: A unique ID for the video message. mime_type: type: string description: The MIME type of the video file. sha256: type: string description: The SHA-256 hash of the video file. media_url: type: string description: The media URL for the video file. brand_msisdn: type: string description: The phone number associated with the WhatsApp Business account in international format. request_id: type: string description: A unique ID for the callback request. CallbackIncomingDocument: type: object title: Incoming Document properties: apiKey: type: string description: The API key to authenticate the callback request. messages: type: array description: An array of message objects that contains information about the incoming document and its parameters. items: type: object properties: from: type: string description: The phone number of the sender. id: type: string description: A unique ID for the message. timestamp: type: string description: The Unix timestamp of the message. type: type: string description: The type of the message, which is "document" for incoming documents. document: type: object description: An array of contact objects that contains the details of the incoming document message. properties: caption: type: string description: The caption of the document. file: type: string description: The absolute path to the document file on the server. id: type: string description: A unique ID assigned to the incoming document. mime_type: type: string description: The MIME type of the document, such as "application/pdf". sha256: type: string description: The SHA-256 hash of the document. media_url: type: string description: The URL of the media file that can be downloaded using the Media Download API. brand_msisdn: type: string description: The phone number associated with the WhatsApp Business account in international format. request_id: type: string description: A unique ID for the callback request. CallbackIncomingLocation: type: object title: Incoming Location properties: contacts: type: array description: An array of contact objects that contains information about the sender of the message and its parameters. items: type: object properties: profile: type: object description: An object that contains the contact's profile information, such as, name, photo, and so on. properties: name: type: string description: The contact's profile name. wa_id: type: string description: The WhatsApp ID of the contact. messages: type: array description: An array of message objects that contains information about the incoming message location and its parameters. items: type: object properties: from: type: string description: The phone number of the sender. id: type: string description: A unique ID for the message. location: type: object description: An object that contains the location of the message. The location message include parameters. properties: address: type: string description: The address of the sender. latitude: type: number description: The latitude coordinates of the location. longitude: type: number description: The longitude coordinates of the location. name: type: string description: The name of the location. url: type: string description: The URL of the location (if available). timestamp: type: string description: The Unix timestamp of the message. type: type: string description: The type of message. For example, text, image, video, and so on. brand_msisdn: type: string description: The phone number associated with the WhatsApp Business account in international format. request_id: type: string description: A unique ID for the callback request. CallbackIncomingInteractiveList: type: object title: Incoming Interactive List properties: contacts: type: array description: An array of contact objects that contains information about the sender of the interactive list and its parameters. items: type: object properties: profile: type: object description: An object that contains the contact's profile information, such as, name, photo, and so on. properties: name: type: string description: The profile name. wa_id: type: string description: The WhatsApp ID of the contact. messages: type: array description: An array of message objects that contains information about the incoming interactive list and its parameters. items: type: object properties: context: type: object description: The context of the message. properties: from: type: string description: The phone number of the sender. id: type: string description: A unique ID for the interactive list. from: type: string description: The phone number of the sender. id: type: string description: A unique ID for the interactive list. interactive: type: object description: An array of message objects that contains the details of the interactive message. properties: list_reply: type: object description: The message contains information about a list reply interaction. properties: description: type: string description: The description of the item. id: type: string description: A unique ID for the interactive list. title: type: string description: The interactive list title. type: type: string description: The type of a reply interaction, which is "list_reply" in this case. timestamp: type: string description: The Unix timestamp of the message. type: type: string description: The type of the message. brand_msisdn: type: string description: The phone number associated with the WhatsApp Business account in international format. request_id: type: string description: A unique ID for the callback request. CallbackTemplateQuickReply: type: object title: Incoming Template Quick Reply properties: contacts: type: array description: An array of contact objects that contains information about the sender of the message and its parameters. items: type: object properties: profile: type: object description: An object that contains the contact's profile information, such as, name, photo, and so on. properties: name: type: string description: The name of the contact. wa_id: type: string description: The WhatsApp ID of the contact. messages: type: array description: An array of message objects that contains information about the message and its parameters. items: type: object properties: button: type: object description: An object that represents the quick reply button with "text" field. properties: text: type: string description: The text that is displayed on the button. context: type: object description: An object that represents the context of the message. properties: from: type: string description: The WhatsApp ID of the contact. id: type: string description: The ID of the message. from: type: string description: The WhatsApp ID of the contact. id: type: string description: The ID of the message. timestamp: type: string description: The Unix timestamp of the message. type: type: string description: The type of the message, which is "button" for quick reply messages. brand_msisdn: type: string description: The phone number associated with the WhatsApp Business account in international format. request_id: type: string description: A unique ID for the callback request. CallbackIncomingQuickReply: type: object title: Incoming Session Quick Reply properties: contacts: type: array description: An array of contact objects that contains information about the sender of the message and its parameters. items: type: object properties: profile: type: object description: An object that contains the contact's profile information, such as, name, photo, and so on. properties: name: type: string description: The name of the contact. wa_id: type: string description: The WhatsApp ID of the contact. messages: type: array description: An array of message objects that contains information about the message and its parameters. items: type: object properties: context: type: object description: An object that represents the context of the message. properties: from: type: string description: The WhatsApp ID of the contact. id: type: string description: The ID of the message and the WhatsApp ID of the sender. from: type: string description: The WhatsApp ID of the contact. id: type: string description: The ID of the message. interactive: type: object description: A JSON object representing the interactive message, with a button_reply field containing the ID and title of the button that was clicked and a type field set to "button_reply". properties: button_reply: type: object description: The button reply text. properties: id: type: string description: The ID of the button. title: type: string description: The title of the button. type: type: string description: A string indicating the type of the message, which is set to "interactive" for an incoming session quick reply. timestamp: type: string description: A string indicating the type of the message, which is set to "interactive" for an incoming session quick reply. type: type: string description: The type of the message. CallbackBusinessSingleProduct: type: object title: Session Message Business for Single Product properties: contact_no: type: string description: The phone number of the WhatsApp user who sent the message. data: type: object description: A JSON object containing the message data. properties: contacts: type: array description: An array of contact objects that contains an array of WhatsApp contacts for whom the message is intended. items: type: object properties: profile: type: object description: An object that contains the contact's profile information, such as, name, photo, and so on. properties: name: type: string description: The name of the contact. wa_id: type: string description: The WhatsApp ID of the contact. messages: type: array description: An array of message objects that contains information about the incoming text message and its parameters. items: type: object properties: context: type: object description: An object that represents the context of the message; that is the information about the referred product. properties: referred_product: type: object description: An object that represents the referred product. properties: catalog_id: type: string description: The ID of the catalog the product belongs to. product_retailer_id: type: string description: The ID of the retailer selling the product. from: type: string description: The phone number of the sender. id: type: string description: A unique ID for the message. text: type: object description: An object that contains the text of the message. properties: body: type: string description: The text of the message. timestamp: type: string description: The Unix timestamp of the message. type: type: string description: The type of message, which is image. brand_msisdn: type: string description: The phone number associated with the WhatsApp Business account in international format. time: type: string description: The timestamp of the message in the format YYYY-MM-DD HH:MM:SS.mmmmmm. source: type: string description: The source of the message, which will be "FROM_CALLBACK" in this case. CallbackSingleProductCart: type: object title: Add Single Product to Cart properties: contact_no: type: string description: The phone number of the WhatsApp user who initiated the action. data: type: object description: A JSON object containing the message data. properties: contacts: type: array description: An array of JSON objects representing the contacts involved in the interaction. items: type: object properties: profile: type: object description: An object that contains the contact's profile information, such as, name, photo, and so on. properties: name: type: string description: The name of the contact. wa_id: type: string description: The WhatsApp ID of the contact. messages: type: array description: An array of JSON objects representing the messages sent during the interaction. items: type: object properties: from: type: string description: The phone number of the sender. id: type: string description: A unique ID for the message. order: type: object description: An object that contains the details of the product added to the cart by the user. properties: catalog_id: type: string description: The ID of the catalog the product belongs to. product_items: type: array description: An array of product item objects that contains the details of the product added to the cart. items: type: object properties: currency: type: string description: The currency of the product item. item_price: type: integer description: The price of the product item. product_retailer_id: type: string description: The ID of the retailer selling the product. quantity: type: integer description: The quantity of the product item being added to the cart. timestamp: type: string description: The Unix timestamp of the message. type: type: string description: The type of message, which is "order" in this case. brand_msisdn: type: string description: The phone number associated with the WhatsApp Business account in international format. time: type: string description: The timestamp of the message in the format YYYY-MM-DD HH:MM:SS.mmmmmm. source: type: string description: The source of the message, which will be "FROM_CALLBACK" in this case. CallbackMultiProductCart: type: object title: Add Multi Product to Cart properties: contact_no: type: string description: The phone number of the WhatsApp user who initiated the action. data: type: object description: A JSON object containing the message data. properties: contacts: type: array description: An array of JSON objects representing the contacts involved in the interaction. items: type: object properties: profile: type: object description: An object that contains the contact's profile information, such as, name, photo, and so on. properties: name: type: string description: The name of the contact. wa_id: type: string description: The WhatsApp ID of the contact. messages: type: array description: An array of JSON objects representing the messages sent during the interaction. items: type: object properties: from: type: string description: The phone number of the sender. id: type: string description: A unique ID for the message. order: type: object description: An object that contains the details of the product added to the cart by the user. properties: catalog_id: type: string description: The ID of the catalog the product belongs to. product_items: type: array description: An array of product item objects that contains the details of the product added to the cart. items: type: object properties: currency: type: string description: The currency of the product item. item_price: type: integer description: The price of the product item. product_retailer_id: type: string description: The ID of the retailer selling the product. quantity: type: integer description: The quantity of the product item being added to the cart. timestamp: type: string description: The Unix timestamp of the message. type: type: string description: The type of message, which is "order" in this case. brand_msisdn: type: string description: The phone number associated with the WhatsApp Business account in international format. time: type: string description: The timestamp of the message in the format YYYY-MM-DD HH:MM:SS.mmmmmm. source: type: string description: The source of the message, which will be "FROM_CALLBACK" in this case. CallbackSentDeliveryReport: type: object title: Sent/Delivery Report properties: statuses: type: array description: An array containing information about the message status. items: type: object properties: conversation: type: object description: Information about the conversation. properties: expiration_timestamp: type: integer description: The timestamp for when the conversation expires. id: type: string description: The ID of the conversation. For example, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" origin: type: object description: Information about the origin of the conversation. properties: type: type: string description: The type of origin. Possible values are "user_initiated", "business_initiated", or "referral_conversion". id: type: string description: A unique ID for the message. pricing: type: object description: Information about the pricing for the message. properties: billable: type: string description: A boolean value indicating whether the message is billable or not. category: type: string description: The category of the message. Possible values are "user_initiated", "business_initiated", or "referral_conversion". pricing_model: type: string description: The pricing model for the message. Possible values are "CBP" (conversation based pricing) or "FBP" (fixed billing period). recipient_id: type: string description: The ID of the recipient. status: type: string description: The status of the message. Possible values are "sent" or "delivered". timestamp: type: string description: The timestamp for the message. type: type: string description: The type of message. extra: type: string description: Any extra information about the message. message_id: type: string description: The ID of the message. brand_msisdn: type: string description: The phone number associated with the WhatsApp Business account in international format. CallbackReadReceipt: type: object title: Read Report properties: display_no: type: string description: The phone number of the WhatsApp Business Account in E.164 format. statuses: type: array description: An array of status objects representing the read status of the messages. items: type: object properties: id: type: string description: A unique identifier for the message. recipient_id: type: string description: The WhatsApp ID of the recipient who has read the message. status: type: string description: The status of the message, which is "read" in this case. timestamp: type: string description: The timestamp in seconds when the message was read. type: type: string description: The type of the message, which is "message" in this case. conversation: type: object description: An object containing information about the conversation where the message was read. properties: id: type: string description: A unique identifier for the conversation. origin: type: object description: An object representing the origin of the conversation. properties: type: type: string description: The type of the conversation origin, which can be "user_initiated", "business_initiated", or "referral_conversion". pricing: type: object description: An object representing the pricing information for the message. properties: billable: type: string description: A boolean value indicating whether the message is billable or not. pricing_model: type: string description: The pricing model for the message, which is "CBP" in this case. category: type: string description: The category of the conversation origin, which can be "user_initiated", "business_initiated", or "referral_conversion". extra: type: string description: A string containing additional metadata for the message. brand_msisdn: type: string description: The phone number associated with the WhatsApp Business account in international format. CallbackFailedDeliveryReport: type: object title: Failed Delivery Report properties: statuses: type: array description: An array of JSON objects that represent the status of the messages sent. items: type: object properties: errors: type: array description: An array of JSON objects that represent the errors that occurred during the message delivery process. items: type: object properties: code: type: integer description: A numeric error code that indicates the type of error that occurred. title: type: string description: A human-readable description of the error that occurred. id: type: string description: A unique identifier for the message that was sent. recipient_id: type: string description: The WhatsApp ID of the recipient who failed to receive the message. status: type: string description: A string that indicates the status of the message delivery. For Failed Delivery Report, the status is "failed". timestamp: type: string description: The Unix timestamp (in seconds) when the message delivery failed. extra: type: string description: An optional field for adding custom data. CreateTemplateRequest: type: object title: Create Template properties: components: $ref: '#/components/schemas/TemplateComponents' language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string example: '{lang code}' example: - '{lang code}' template_category: type: string description: The best notification category that fits your WhatsApp template. For example, MARKETING, AUTHENTICATION, UTILITY. example: MARKETING, AUTHENTICATION, UTILITY template_name: type: string description: Unique name of the WhatsApp message template that has only lowercase alphanumeric characters. example: '{template name}' template_type: type: string description: The type of media template that WhatsApp allows. example: media template TemplateComponents: type: object description: The message components describe the template contents and include placeholders for dynamic variables. properties: body: $ref: '#/components/schemas/TemplateComponentBody' buttons: $ref: '#/components/schemas/TemplateComponentButtons' footer: $ref: '#/components/schemas/TemplateComponentFooter' header: $ref: '#/components/schemas/TemplateComponentHeader' TemplateComponentBody: type: object description: WhatsApp message body. properties: text: type: string description: The text of the WhatsApp message that you want to send. example: '{body text}' TemplateComponentButtons: type: object description: One-tap button usage in your WhatsApp message. properties: elements: type: array items: $ref: '#/components/schemas/TemplateButtonElement' example: - contact_no: '{phone number with + and country code}' label: '{phone number label}' - label: '{url label}' type: static/dynamic website: '{url with https}' type: type: string description: One-tap button for a Call to action that triggers a phone call or opens a website when tapped. example: call_to_action TemplateButtonElement: type: object properties: contact_no: type: string description: The user's phone number of the user in full international format includes a plus sign (+) followed by the country code. example: '{phone number with + and country code}' label: type: string description: The phone number label that you want to use on the WhatsApp business app. example: '{phone number label}' type: type: string description: Type of a website. example: static/dynamic website: type: string description: The website address with https:// example: '{url with https}' TemplateComponentFooter: type: object description: Footer element. properties: text: type: string description: Footer text of your WhatsApp message. example: '{footer text}' TemplateComponentHeader: type: object description: The header section of a template is a JSON string consisting of a set of mandatory keys that define text or multimedia messages. properties: example: type: string description: Example of header message URL. example: '{sample media url}' type: type: string description: Type set to header message format. example: image/video/document CreateTemplateCallToAction: type: object title: Call to Action properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. example: media template template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: header: type: object description: The header component of the template. properties: type: type: string description: Type of media in the header, which can be image, video, or document. example: type: string description: Sample URL of the media in the header. body: type: object description: The body component of the template. properties: text: type: string description: Text content of the body. footer: type: object description: The footer component of the template. properties: text: type: string description: Text content of the footer. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button, which should be "call_to_action". elements: type: array description: List of button elements, each containing the parameters. items: type: object properties: label: type: string description: Label for the button. contact_no: type: string description: Phone number with country code for the button, in the format "+". type: type: string description: Type of button, which can be "static" or "dynamic". website: type: string description: URL for the button, with "https://" prefix. CreateTemplateQuickReply: type: object title: Quick Reply properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: header: type: object description: The header component of the template. properties: type: type: string description: Type of media in the header, which can be image, video, or document. example: type: string description: Sample URL of the media in the header. body: type: object description: The body component of the template. properties: text: type: string description: Text content of the body. footer: type: object description: The footer component of the template. properties: text: type: string description: Text content of the footer. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button, which should be "quick reply". elements: type: array description: List of button elements. items: type: object properties: label: type: string description: Label for the button. CreateTemplateMedia: type: object title: Media Template properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: header: type: object description: The header component of the template. properties: type: type: string description: Type of media in the header, which can be image, video, or document. example: type: string description: Sample URL of the media in the header. body: type: object description: The body component of the template. properties: text: type: string description: Text content of the body. footer: type: object description: The footer component of the template. properties: text: type: string description: Text content of the footer. CreateTemplateText: type: object title: Text Template properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: body: type: object description: The body component of the template. properties: text: type: string description: Text content of the body. footer: type: object description: The footer component of the template. properties: text: type: string description: Text content of the footer. CreateTemplateAuthCopyCode: type: object title: Auth Copycode properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: body: type: object description: The body component of the template. properties: add_security_recommendation: type: string description: A boolean value (true/false) indicating whether to include a security recommendation in the body of the template. footer: type: object description: The footer component of the template. properties: code_expiration_minutes: type: object description: The duration in minutes until the code provided in the template expires. properties: code expiry upto 90mins: nullable: true description: The default is 90 minutes. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button, which should be "OTP". otp_type: type: string description: The behavior of the OTP (One-Time Password) button. In this example, it is set to "COPY_CODE". text: type: string description: The text that appears on the button. In this example, it is set to "Copy Code". CreateTemplateAuthAutofill: type: object title: Auth Autofill properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: body: type: object description: The body component of the template. properties: add_security_recommendation: type: string description: A boolean value (true/false) indicating whether to include a security recommendation in the body of the template. footer: type: object description: The footer component of the template. properties: code_expiration_minutes: type: object description: The duration in minutes until the code provided in the template expires. properties: upto 90 mins possible: nullable: true description: The default is 90 minutes. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button, which should be "OTP". otp_type: type: string description: The behavior of the OTP (One-Time Password) button. In this example, it is set to "ONE_TAP". text: type: string description: The text that appears on the button. In this example, it is set to "Copy Code". autofill_text: type: string description: The text that appears on the autofill button. In this example, it is set to "Autofill". package_name: type: string description: The package name of the app associated with the template. signature_hash: type: string description: The signature hash of the app associated with the template. CreateTemplateCatalog: type: object title: Catalog Template properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: body: type: object description: The body component of the template. properties: text: type: string description: Plain text describing body of the catalog template. example: type: string description: Example of text written in body for catalog template. footer: type: object description: The footer component of the template. properties: code_expiration_minutes: type: object description: The duration in minutes until the code provided in the template expires. properties: upto 90 mins possible: nullable: true description: The default is 90 minutes. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button, which should be "call_to_action". elements: type: string description: The elements of a button to be added for button type "call_to_action". properties: type: type: string description: The text that appears on the button. In this example, it is set to "view_catalog". CreateTemplateCopyCode: type: object title: Copy Code Template properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: body: type: object description: The body component of the template. properties: text: type: string description: Plain text describing body of the catalog template. example: type: string description: Example of text written in body for catalog template. footer: type: object description: The footer component of the template. properties: code_expiration_minutes: type: object description: The duration in minutes until the code provided in the template expires. properties: upto 90 mins possible: nullable: true description: The default is 90 minutes. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button, which should be "call_to_action". elements: type: string description: The elements of a button to be added for button type "call_to_action". properties: text: type: string description: The text that appears on the button. In this example, it is set to "view_catalog". example: type: string description: Example for text appearing as Copy Code label: type: string description: The label of button associated and in this example value is "action" website: type: string description: The website url associated with the button . CreateTemplateCarousel: type: object title: Carousel Template properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: body: type: object description: The body component of the template. properties: text: type: string description: Plain text describing body of the catalog template. example: type: string description: Example of text written in body for catalog template. footer: type: object description: The footer component of the template. properties: code_expiration_minutes: type: object description: The duration in minutes until the code provided in the template expires. properties: upto 90 mins possible: nullable: true description: The default is 90 minutes. cards: type: object description: The card component of the carousel template. properties: header_type: type: object description: The type of header used in cards which can be text or image header_example: type: string description: The example of header to be used either in form of text or image url provided for same button_types: type: array description: Array storing the type of buttons which can be used among which iunclude url and quick reply items: type: object elements: type: string description: The elements of a button to be added for button type "call_to_action". properties: body: type: object description: The body component of the template. properties: text: type: string description: Plain text describing body of the catalog template. example: type: string description: Example of text written in body for catalog template. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button to be used . In this example, it is set to "quick_reply" or "dynamic" . text: type: string description: The text that appears on the button. In this example, it is set to "view_more". label: type: string description: The label of button associated and in this example value is "action" website: type: string description: The website url associated with the button . website_example: type: string description: The example of website url to check on button . CreateTemplateLimitedTimeOffer: type: object title: Limited Time Offer Template properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: body: type: object description: The body component of the template. properties: text: type: string description: Plain text describing body of the lto template. limited_time_offer: type: object description: The limited time offer component of the template. properties: has_expiration: type: object description: The boolean value (True/False) used to explain if limited time offer has an expiration time. text: type: string description: The default value is limited offer which is usually used for same. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button, which should be "limited_time_offer". elements: type: string description: The elements of a button to be added for button type "limited_time_offer". properties: type: type: string description: The text that appears on the button. In this example, it is set to "Copy Code". or it could be set to "static" example: type: string description: Example for text appearing as Copy Code label: type: string description: The label of button associated and in this example value is "action" website: type: string description: The website url associated with the button . website_example: type: string description: The example of website url to check on button . CreateTemplateMultiProduct: type: object title: Multi Product Message Template properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: header: type: object description: The header component of the template. properties: type: type: string description: Type of media in the header, which can be image, video, or document. text: type: string description: The text related to the header. body: type: object description: The body component of the template. properties: text: type: string description: The value for body text for multi_poroduct. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button, which should be "mpm". elements: type: string description: The elements of a button to be added for button type "multi_product". properties: text: type: string description: The text that appears on the button. In this example, it is set to "View Items". or it could be set to "static" CreateTemplatePaymentOrder: type: object title: Payment Order details properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: header: type: object description: The header component of the template. properties: type: type: string description: Type of media in the header, which can be image, video, or document. text: type: string description: The text related to the header. body: type: object description: The body component of the template. properties: text: type: string description: The value for body text for multi_poroduct. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button, which should be "mpm". elements: type: string description: The elements of a button to be added for button type "multi_product". properties: text: type: string description: The text that appears on the button. In this example, it is set to "View Items". or it could be set to "static" CreateTemplateFlow: type: object title: Flow creation properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: header: type: object description: The header component of the template. properties: type: type: string description: Type of media in the header, which can be image, video, or document. text: type: string description: The text related to the header. body: type: object description: The body component of the template. properties: text: type: string description: The value for body text for multi_poroduct. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button, which should be "mpm". elements: type: string description: The elements of a button to be added for button type "multi_product". properties: text: type: string description: The text that appears on the button. In this example, it is set to "View Items". or it could be set to "static" flow_id: type: string description: Flow Id that has to be given wile creating the template flow navigation_screen: type: string description: Flow Json screen name given while creating the template flow flow_action: type: string description: specifies that flow action of the template SendTemplateText: type: object title: Text properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. extra: type: string description: Additional information to include in the message. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. media: type: object description: An object containing the details of the message to be sent. properties: type: type: string description: The type of message template. For sending a media template message, set to "media_template". template_name: type: string description: The name of the template to use. lang_code: type: string description: Language code of language in which message text is written, such as "en" for English. body: type: array description: An array of objects representing the body of the template. items: type: object properties: text: type: string description: The text to include in the message. The actual values are replaced with variables. required: - text button: type: array description: The button section specifies the details of the call-to-action buttons that can be added to the message. items: type: object properties: button_no: type: string description: The button number; the value is either "0" or "1". url: type: string description: The URL to include in the button. The key can be a static or dynamic URL variable. required: - button_no - url required: - type - template_name - lang_code required: - phone - media SendTemplateTextWithHeader: type: object title: Text with Text Header properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. extra: type: string description: Additional information to include in the message. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. media: type: object description: An object containing the message template details. properties: type: type: string description: The type of message template. For sending a media template message, set to "media_template". lang_code: type: string description: Language code of language in which message text is written, such as "en" for English. template_name: type: string description: The name of the template to use. header: type: array description: The header section of the message template. items: type: object properties: text: type: string description: The header text to include in the message. The actual values are replaced with variables. required: - text body: type: array description: An array of objects representing the body of the template. items: type: object properties: text: type: string description: The text to include in the message. The actual values are replaced with variables. required: - text button: type: array description: The button section of the message template. items: type: object properties: button_no: type: string description: The button number; the value is either "0" or "1". url: type: string description: The URL to include in the button. The key can be a static or dynamic URL variable. required: - button_no - url required: - type - lang_code - template_name required: - phone - media SendTemplateMediaImage: type: object title: Media Image properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. extra: type: string description: Additional information to include in the message. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. media: type: object description: An object containing the message template details. properties: type: type: string description: The type of message template. For sending a media template message, set to "media_template". lang_code: type: string description: Language code of language in which message text is written, such as "en" for English. template_name: type: string description: The name of the template to use. header: type: array description: The header section of the message template. items: type: object properties: image: type: object description: An object representing the image to include in the header. This object includes 'link' and 'file_name'. properties: link: type: string description: The URL of the image file, hosted publicly and starting with "https://" and ending with the file extension, such as ".png". file_name: type: string description: The file name of the image. body: type: array description: An array of objects representing the body of the template. items: type: object properties: text: type: string description: The text to include in the message. The actual values are replaced with variables. required: - text button: type: array description: The button section of the message template. items: type: object properties: button_no: type: string description: The button number; the value is either "0" or "1". url: type: string description: The URL to include in the button. The key can be a static or dynamic URL variable. required: - button_no - url required: - type - lang_code - template_name required: - phone - media SendTemplateMediaDocument: type: object title: Media Document properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. extra: type: string description: Additional information to include in the message. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. media: type: object description: An object containing the message template details. properties: type: type: string description: The type of message template. For sending a media template message, set to "media_template". lang_code: type: string description: Language code of language in which message text is written, such as "en" for English. template_name: type: string description: The name of the template to use. header: type: array description: The header section of the message template. items: type: object properties: document: type: object description: An object representing the document to include in the header. This object includes 'link' and 'file_name'. properties: link: type: string description: The URL of the image file, hosted publicly and starting with "https://" and ending with the file extension, such as ".png". file_name: type: string description: The file name of the image. body: type: array description: An array of objects representing the body of the template. items: type: object properties: text: type: string description: The text to include in the message. The actual values are replaced with variables. required: - text button: type: array description: The button section of the message template. items: type: object properties: button_no: type: string description: The button number; the value is either "0" or "1". url: type: string description: The URL to include in the button. The key can be a static or dynamic URL variable. required: - button_no - url required: - type - lang_code - template_name required: - phone - media SendTemplateMediaVideo: type: object title: Media Video properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. extra: type: string description: Additional information to include in the message. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. media: type: object description: An object containing the message template details. properties: type: type: string description: The type of message template. For sending a media template message, set to "media_template". lang_code: type: string description: Language code of language in which message text is written, such as "en" for English. template_name: type: string description: The name of the template to use. header: type: array description: The header section of the message template. items: type: object properties: video: type: object description: An object representing the video to include in the header. This object includes 'link' and 'file_name'. properties: link: type: string description: The URL of the image file, hosted publicly and starting with "https://" and ending with the file extension, such as ".png". file_name: type: string description: The file name of the image. body: type: array description: An array of objects representing the body of the template. items: type: object properties: text: type: string description: The text to include in the message. required: - text button: type: array description: The button section of the message template. items: type: object properties: button_no: type: string description: The button number; the value is either "0" or "1". url: type: string description: The URL to include in the button. The key can be a static or dynamic URL variable. required: - button_no - url required: - type - lang_code - template_name required: - phone - media SendTemplateAuthCopyCode: type: object title: Authorization Copy Code properties: phone: type: string description: The phone number of the recipient. media: type: object description: An object that represents the media template itself. properties: type: type: string description: The type of the template. template_name: type: string description: The name of the template. lang_code: type: string description: Language code of language in which message text is written, such as "en" for English. body: type: array description: An array of objects representing the body of the template. items: type: object properties: text: type: string description: The text content within the template body. required: - text button: type: array description: An array of objects representing the buttons in the template. items: type: object properties: button_type: type: string description: The type of button. button_no: type: string description: The order of the button within the template. text: type: string description: The text that appears on the button. required: - button_type - button_no - text required: - type - template_name - lang_code required: - phone - media SendTemplateAuthAutofill: type: object title: Authorization Autofill properties: phone: type: string description: The phone number of the recipient. media: type: object description: An object that represents the media template itself. properties: type: type: string description: The type of the template. template_name: type: string description: The name of the template. lang_code: type: string description: Language code of language in which message text is written, such as "en" for English. body: type: array description: An array of objects representing the body of the template. items: type: object properties: text: type: string description: The text content within the template body. required: - text button: type: array description: An array of objects representing the buttons in the template. items: type: object properties: button_type: type: string description: The type of button. button_no: type: string description: The order of the button within the template. text: type: string description: The text that appears on the button. required: - button_type - button_no - text required: - type - template_name - lang_code required: - phone - media SendTemplateQuickReply: type: object title: Quick Reply With ID properties: phone: type: string description: The phone number of the recipient. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. extra: type: string description: Additional information to include in the message. media: type: object description: An object containing the message template details. properties: type: type: string description: The type of message template. For sending a media template message, set to "media_template". lang_code: type: string description: Language code of language in which message text is written, such as "en" for English. template_name: type: string description: The name of the template to use. header: type: array description: The header section of the message template. items: type: object properties: image: type: object description: An object representing the image to include in the header. This object includes 'link' and 'file_name'. properties: link: type: string description: The URL of the image file, hosted publicly and starting with "https://" and ending with the file extension, such as ".png". button: type: array description: The button section of the message template. items: type: object properties: button_no: type: string description: The button number; the value is either "0" or "1". payload: type: string description: An object representing the message to be sent. required: - button_no - payload required: - type - lang_code - template_name - header - button required: - phone - media SendTemplateCarousel: type: object title: Carousel properties: phone: type: string description: The phone number of the recipient. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. extra: type: string description: Additional information to include in the message. media: type: object description: An object containing the message template details. properties: type: type: string description: The type of message template. Set to 'media_template' for a media template message. lang_code: type: string description: Language code of the language in which message text is written (e.g., 'en' for English). template_name: type: string description: The name of the template to use. header: type: array description: The header section of the message template. items: type: object properties: image: type: object description: An object representing the image to include in the header. properties: link: type: string description: The URL of the image file (e.g., 'https://example.com/image.png'). body: type: array description: The body section of the message template. items: type: object properties: text: type: object description: An object representing the plain text to be included in the body. carousel: type: array description: The carousel section of the message template, a list of items with images and text. items: type: object properties: type: type: object description: An object representing the type of carousel. url: type: string description: The URL of the image file (e.g., 'https://example.com/image.png'). body: type: array description: The body section of the message template. items: type: object properties: text: type: object description: An object representing the plain text to be included in the body. button: type: array description: The button section of the message template. items: type: object properties: button_no: type: string description: The button number; the value is either '0' or '1'. payload: type: string description: An object representing the message to be sent. required: - phone - media SendTemplateCouponCode: type: object title: Copy Code properties: phone: type: string description: The phone number of the recipient. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. extra: type: string description: Additional information to include in the message. media: type: object description: An object containing the message template details. properties: type: type: string description: The type of message template. For sending a media template message, set to "media_template". lang_code: type: string description: Language code of language in which message text is written, such as "en" for English. template_name: type: string description: The name of the template to use. header: type: array description: The header section of the message template. items: type: object properties: image: type: object description: An object representing the image to include in the header. This object includes 'link' and 'file_name'. properties: link: type: string description: The URL of the image file, hosted publicly and starting with "https://" and ending with the file extension, such as ".png". body: type: array description: The body section of the message template. items: type: object properties: text: type: object description: An object representing the plain text to be included in the body'. button: type: array description: The button section of the message template. items: type: object properties: button_no: type: string description: The button number; the value is either "0" or "1". payload: type: string description: An object representing the message to be sent required: - phone - media SendTemplateCatalogThumbnail: type: object title: Catalog Thumbnail properties: phone: type: string description: The phone number of the recipient. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. extra: type: string description: Additional information to include in the message. media: type: object description: An object containing the message template details. properties: type: type: string description: The type of message template. For sending a media template message, set to "media_template". lang_code: type: string description: Language code of language in which message text is written, such as "en" for English. template_name: type: string description: The name of the template to use. header: type: array description: The header section of the message template. items: type: object properties: image: type: object description: An object representing the image to include in the header. This object includes 'link' and 'file_name'. properties: link: type: string description: The URL of the image file, hosted publicly and starting with "https://" and ending with the file extension, such as ".png". body: type: array description: The body section of the message template. items: type: object properties: text: type: object description: An object representing the plain text to be included in the body'. button: type: array description: The button section of the message template. items: type: object properties: button_no: type: string description: The button number; the value is either "0" or "1". thumbnail_product_retailer_id: type: string description: An object representing the thumbnail product retailer id of product required: - phone - media SendTemplateMultiProduct: type: object title: Multi Product Template Messages properties: phone: type: string description: The phone number of the recipient. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. extra: type: string description: Additional information to include in the message. media: type: object description: An object containing the message template details. properties: type: type: string description: The type of message template. For sending a media template message, set to "media_template". lang_code: type: string description: Language code of language in which message text is written, such as "en" for English. template_name: type: string description: The name of the template to use. header: type: array description: The header section of the message template. items: type: object properties: image: type: object description: An object representing the image to include in the header. This object includes 'link' and 'file_name'. properties: link: type: string description: The URL of the image file, hosted publicly and starting with "https://" and ending with the file extension, such as ".png". multi_product: type: array description: The multi product section of the message template, a list of products with image and text. items: type: object properties: product_thumbnail: type: object description: An object representing the product thumbnail which is common for all listed products. title: type: string description: The title of list of products to be displayed product_retailer_ids: type: array description: The array or list of product retailer ids for the products registered items: type: object required: - phone - media SendTemplateLimitedTimeOffer: type: object title: Limited Time Offer properties: phone: type: string description: The phone number of the recipient. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. extra: type: string description: Additional information to include in the message. media: type: object description: An object containing the message template details. properties: type: type: string description: The type of message template. For sending a media template message, set to "media_template". lang_code: type: string description: Language code of language in which message text is written, such as "en" for English. template_name: type: string description: The name of the template to use. header: type: array description: The header section of the message template. items: type: object properties: image: type: object description: An object representing the image to include in the header. This object includes 'link' and 'file_name'. properties: link: type: string description: The URL of the image file, hosted publicly and starting with "https://" and ending with the file extension, such as ".png". body: type: array description: The body section of the message template. items: type: object properties: text: type: object description: An object representing the plain text to be included in the body'. limited_time: type: array description: The limited time section of the message template, expiration and a list items: type: object properties: product_thumbnail: type: object description: An object representing the product thumbnail which is common for all listed products. title: type: string description: The title of list of products to be displayed product_retailer_ids: type: array description: The array or list of product retailer ids for the products registered items: type: object required: - phone - media SendTemplatePayment: type: object title: Payment template messages properties: phone: type: string description: The phone number of the recipient. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. extra: type: string description: Additional information to include in the message. media: type: object description: An object containing the message template details. properties: type: type: string description: The type of message template. For sending a media template message, set to "media_template". lang_code: type: string description: Language code of language in which message text is written, such as "en" for English. template_name: type: string description: The name of the template to use. header: type: array description: The header section of the message template. items: type: object properties: image: type: object description: An object representing the image to include in the header. This object includes 'link' and 'file_name'. properties: link: type: string description: The URL of the image file, hosted publicly and starting with "https://" and ending with the file extension, such as ".png". multi_product: type: array description: The multi product section of the message template, a list of products with image and text. items: type: object properties: product_thumbnail: type: object description: An object representing the product thumbnail which is common for all listed products. title: type: string description: The title of list of products to be displayed product_retailer_ids: type: array description: The array or list of product retailer ids for the products registered items: type: object required: - phone - media SendTemplateFlow: type: object title: Flow Template Messages properties: phone: type: string description: The phone number of the recipient. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. extra: type: string description: Additional information to include in the message. media: type: object description: An object containing the message template details. properties: type: type: string description: The type of message template. For sending a media template message, set to "media_template". lang_code: type: string description: Language code of language in which message text is written, such as "en" for English. template_name: type: string description: The name of the template to use. header: type: array description: The header section of the message template. items: type: object properties: image: type: object description: An object representing the image to include in the header. This object includes 'link' and 'file_name'. properties: link: type: string description: The URL of the image file, hosted publicly and starting with "https://" and ending with the file extension, such as ".png". multi_product: type: array description: The multi product section of the message template, a list of products with image and text. items: type: object properties: product_thumbnail: type: object description: An object representing the product thumbnail which is common for all listed products. title: type: string description: The title of list of products to be displayed product_retailer_ids: type: array description: The array or list of product retailer ids for the products registered items: type: object required: - phone - media SendSessionText: type: object title: Session Text properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. text: type: string description: The text to include in the message. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. extra: type: string description: Additional information to include in the message. required: - phone - text SendSessionTextReplyTo: type: object title: Session Text Reply To properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. text: type: string description: The text to include in the message. reply_to: type: string description: The unique identifier of the message to which the business is replying. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. extra: type: string description: Additional information to include in the message. required: - phone - text - reply_to SendSessionTextPreviewUrl: type: object title: Send Text with Preview URL properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. text: type: string description: The text to include in the message. preview_url: type: boolean description: A boolean value indicating whether to include a preview of the URL in the message. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. extra: type: string description: Additional information to include in the message. required: - phone - text SendSessionDocument: type: object title: Session Document properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. media: type: object description: An object containing the details of the document to be sent. properties: type: type: string description: The type of media to be sent. url: type: string description: The URL of the document, starting with "https://" and ending with the file extension, such as ".pdf". file: type: string description: The file name of the document. caption: type: string description: The caption or description of the document. required: - type - url - file extra: type: string description: Additional information to include in the message. required: - phone - media SendSessionAudio: type: object title: Session Audio properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. media: type: object description: An object containing the details of the audio to be sent. properties: type: type: string description: The type of media to be sent. url: type: string description: The URL of the audio file, starting with "https://" and ending with the file extension. file: type: string description: The name of the audio file. caption: type: string description: The caption or description of the audio file. required: - type - url - file extra: type: string description: Additional information to include in the message. required: - phone - media SendSessionImage: type: object title: Session Image properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. media: type: object description: An object containing the details of the image to be sent. properties: type: type: string description: The type of media to be sent. url: type: string description: The URL of the image file, starting with "https://" and ending with the file extension, such as ".png". file: type: string description: The name of the image file. caption: type: string description: The caption or description of the image file. required: - type - url - file extra: type: string description: Additional information to include in the message. required: - phone - media SendSessionVideo: type: object title: Session Video properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. media: type: object description: An object containing the details of the video to be sent. properties: type: type: string description: The type of media to be sent. url: type: string description: The URL of the video file, starting with "https://" and ending with the file extension. file: type: string description: The name of the video file. caption: type: string description: The caption or description of the video file. required: - type - url - file extra: type: string description: Additional information to include in the message. required: - phone - media SendSessionLocation: type: object title: Session Location properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. media: type: object description: An object containing the location details of the user device. properties: type: type: string description: The type of media to be sent. longitude: type: string description: The longitude of the location to be sent. latitude: type: string description: The latitude of the location to be sent. name: type: string description: The name of the location. address: type: string description: The address of the location. required: - type - longitude - latitude - name - address extra: type: string description: Additional information to include in the message. required: - phone - media SendSessionInteractiveList: type: object title: Session Interactive List properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. extra: type: string description: Additional information to include in the message. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. media: type: object description: An object containing the details of the interactive list to be sent. properties: type: type: string description: The type of media to be sent. header: type: object description: An object containing the text for the header of the list. properties: text: type: string description: The text for the header. required: - text body: type: string description: The main body text of the message. footer_text: type: string description: The text for the footer of the list. button_text: type: string description: The text for the button that the user click to select an item from the list. button: type: array description: An array of objects representing the sections of the list. items: type: object properties: section_title: type: string description: The title of the section. row: type: array description: An array of objects representing the items in the section. items: type: object properties: id: type: string description: A unique ID for the item. title: type: string description: The title of the item. description: type: string description: A description of the item. required: - id - title - description required: - section_title - row required: - type - button_text - button required: - phone - media SendSessionQuickReplyMedia: type: object title: Session Quick Reply with Media properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. extra: type: string description: Additional information to include in the message. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. media: type: object description: An object containing the details of the interactive reply be sent. properties: type: type: string description: A string that specifies the type of media. header: type: object description: An object containing the text for the header of the list. properties: type: type: string description: The type of media to be sent. For example, Document, Image, Audio, or Video. url: type: string description: The URL of the media file that you want to send. file: type: string description: The name of the file that you want to send, including the file extension. caption: type: string description: The caption or description for the media file. required: - type - url - file - caption body: type: string description: The main body text of the message. footer_text: type: string description: The text to be displayed in the footer of the message. button: type: array description: An array of JSON objects that describe the quick reply buttons that you want to include. items: type: object properties: id: type: string description: The unique identifier for the button. title: type: string description: The label text displayed on the button. required: - id - title required: - type - header - body - footer_text required: - phone - media SendSessionQuickReplyText: type: object title: Session Quick Reply with Text properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. extra: type: string description: Additional information to include in the message. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. media: type: object description: A JSON object that describes the media file and quick reply options. properties: type: type: string description: A string that specifies the type of media. header: type: object description: An object that contains the header of the message template. properties: text: type: string description: The text to include in the message. required: - text body: type: string description: The main body text of the message. footer_text: type: string description: The text to be displayed in the footer of the message. button: type: array description: An array of JSON objects that describe the quick reply buttons that you want to include. items: type: object properties: id: type: string description: The unique identifier for the button. title: type: string description: The label text displayed on the button. required: - id - title required: - type - body - footer_text required: - phone - media SendSessionSingleProduct: type: object title: Session Single Product properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. extra: type: string description: Additional information to include in the message. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. catalog: type: object description: The catalog object containing information about the product list. properties: type: type: string description: The type of catalog, in this case "Product". body: type: object description: An object containing the "text" parameter. properties: text: type: string description: A string that describes the product. required: - text action: type: object description: The action object containing information about the products. properties: catalog_id: type: string description: The unique ID of the catalog that contains the product. product_retailer_id: type: string description: The ID of the product within the catalog. required: - catalog_id - product_retailer_id required: - type - body - action required: - phone - catalog SendSessionMultiProduct: type: object title: Session Multi Product properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. extra: type: string description: Additional information to include in the message. catalog: type: object description: The catalog object containing information about the product list. properties: type: type: string description: The type of catalog, in this case "product_list". header: type: object description: The header information for the product list. properties: type: type: string description: The type of header, which can be image. text: type: string description: The text to display in the header. This can also contain links. body: type: object description: The body text for the product list. properties: text: type: string description: The text to display in the body. action: type: object description: The action object containing information about the products. properties: catalog_id: type: string description: The unique ID of the catalog that contains the product. sections: type: array description: An array of section objects containing information about the products. items: type: object properties: title: type: string description: The title of the section. product_items: type: array description: An array of product objects containing information about the products in the section. items: type: object properties: product_retailer_id: type: string description: The retailer ID of the product. required: - type - header - body - action required: - phone - catalog SendSessionFlow: type: object title: Flow Message properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. type: type: string description: The type of message, in this case "flow". header: type: object description: The header information for the flow message. properties: image: type: string description: The URL of the image to display in the header. footer: type: string description: Text to display in the footer. body: type: string description: The URL of the image to display in the body. flow: type: object description: The flow object containing information about the flow message. properties: flow_mode: type: string description: The mode of the flow, e.g., "draft". flow_token: type: string description: The token associated with the flow. flow_id: type: string description: The unique ID of the flow. flow_cta: type: string description: The call to action text for the flow. flow_action: type: string description: The action to perform for the flow, e.g., "navigate". flow_action_payload: type: object description: The payload for the action to perform in the flow, containing screen and data information. properties: screen: type: string description: The screen to navigate to. data: type: object description: Additional data to pass along with the action. properties: hi: type: string description: Example data field. required: - phone - type - header - footer - body - flow SendSessionPaymentWithCatalog: type: object title: Payment Message with catalog ID properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. body: type: string description: The body text of the message. footer: type: string description: The text to display in the footer. image: type: object description: The image object containing the URL of the image. properties: url: type: string description: The URL of the image to display. payment: type: object description: The payment object containing information about the payment details. properties: reference_id: type: string description: The reference ID for the payment. order_type: type: string description: The type of order, e.g., "order_details". product_type: type: string description: The type of product, e.g., "digital-goods". payment_configuration: type: string description: The payment configuration ID. address: type: object description: The address object containing recipient's address details. properties: first_name: type: string description: The first name of the recipient. address_line1: type: string description: The first line of the address. address_line2: type: string description: The second line of the address. city: type: string description: The city of the recipient. state: type: string description: The state of the recipient. country: type: string description: The country of the recipient. postal_code: type: string description: The postal code of the recipient. items: type: array description: An array of item objects containing details about the items in the order. items: type: object properties: retailer_id: type: string description: The retailer ID for the item. catalog_id: type: string description: The catalog ID containing the product. product_name: type: string description: The name of the product. amount: type: number description: The amount for the product. quantity: type: string description: The quantity of the product. expiration_timestamp: type: string description: The expiration timestamp for the product. expiration_description: type: string description: The description of the product's expiration. subtotal_amount: type: number description: The subtotal amount for the order. discount_amount: type: number description: The discount amount for the order. discount_description: type: string description: The description of the discount. shipping_amount: type: number description: The shipping amount for the order. shipping_description: type: string description: The description of the shipping. total_amount: type: number description: The total amount for the order. tax_amount: type: number description: The tax amount for the order. tax_description: type: string description: The description of the tax. extra: type: string description: Additional information to include in the message. required: - phone - body - footer - image - payment - extra SendSessionPaymentWithoutCatalog: type: object title: Payment Message Without Catalog ID properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. body: type: string description: The body text of the message. footer: type: string description: The text to display in the footer. payment: type: object description: The payment object containing information about the payment details. properties: reference_id: type: string description: The reference ID for the payment. order_type: type: string description: The type of order, e.g., "order_details". product_type: type: string description: The type of product, e.g., "digital-goods". payment_configuration: type: string description: The payment configuration ID. address: type: object description: The address object containing recipient's address details. properties: first_name: type: string description: The first name of the recipient. address_line1: type: string description: The first line of the address. address_line2: type: string description: The second line of the address. city: type: string description: The city of the recipient. state: type: string description: The state of the recipient. country: type: string description: The country of the recipient. postal_code: type: string description: The postal code of the recipient. items: type: array description: An array of item objects containing details about the items in the order. items: type: object properties: image: type: object description: The image object containing the URL of the image. properties: url: type: string description: The URL of the image to display. product_name: type: string description: The name of the product. amount: type: number description: The amount for the product. quantity: type: string description: The quantity of the product. expiration_timestamp: type: string description: The expiration timestamp for the product. expiration_description: type: string description: The description of the product's expiration. subtotal_amount: type: number description: The subtotal amount for the order. discount_amount: type: number description: The discount amount for the order. discount_description: type: string description: The description of the discount. shipping_amount: type: number description: The shipping amount for the order. shipping_description: type: string description: The description of the shipping. total_amount: type: number description: The total amount for the order. tax_amount: type: number description: The tax amount for the order. tax_description: type: string description: The description of the tax. extra: type: string description: Additional information to include in the message. required: - phone - body - footer - payment - extra SendSessionPaymentPayU: type: object title: Payment Message with Payu Gateway properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. body: type: string description: The body text of the message. footer: type: string description: The text to display in the footer. image: type: object description: The image object containing the URL of the image. properties: url: type: string description: The URL of the image to display. payment: type: object description: The payment object containing information about the payment details. properties: reference_id: type: string description: The reference ID for the payment. order_type: type: string description: The type of order, e.g., "order_details". product_type: type: string description: The type of product, e.g., "digital-goods". payment_gateway: type: object description: The payment gateway details. properties: type: type: string description: The type of payment gateway, e.g., "payu". configuration_name: type: string description: The configuration name for the payment gateway. notes: type: object description: Additional notes for the payment gateway. properties: udf1: type: string description: User-defined field 1. udf2: type: string description: User-defined field 2. udf3: type: string description: User-defined field 3. address: type: object description: The address object containing recipient's address details. properties: first_name: type: string description: The first name of the recipient. address_line1: type: string description: The first line of the address. address_line2: type: string description: The second line of the address. city: type: string description: The city of the recipient. state: type: string description: The state of the recipient. country: type: string description: The country of the recipient. postal_code: type: string description: The postal code of the recipient. items: type: array description: An array of item objects containing details about the items in the order. items: type: object properties: retailer_id: type: string description: The retailer ID for the item. catalog_id: type: string description: The catalog ID containing the product. product_name: type: string description: The name of the product. amount: type: number description: The amount for the product. quantity: type: string description: The quantity of the product. expiration_timestamp: type: string description: The expiration timestamp for the product. expiration_description: type: string description: The description of the product's expiration. subtotal_amount: type: number description: The subtotal amount for the order. discount_amount: type: number description: The discount amount for the order. discount_description: type: string description: The description of the discount. shipping_amount: type: number description: The shipping amount for the order. shipping_description: type: string description: The description of the shipping. total_amount: type: number description: The total amount for the order. tax_amount: type: number description: The tax amount for the order. tax_description: type: string description: The description of the tax. extra: type: string description: Additional information to include in the message. required: - phone - body - footer - image - payment - extra SendSessionPaymentRazorpay: type: object title: Payment Message with Razorpay Gateway properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. body: type: string description: The body text of the message. footer: type: string description: The text to display in the footer. image: type: object description: The image object containing the URL of the image. properties: url: type: string description: The URL of the image to display. payment: type: object description: The payment object containing information about the payment details. properties: reference_id: type: string description: The reference ID for the payment. order_type: type: string description: The type of order, e.g., "order_details". product_type: type: string description: The type of product, e.g., "digital-goods". payment_gateway: type: object description: The payment gateway details. properties: type: type: string description: The type of payment gateway, e.g., "razorpay". configuration_name: type: string description: The configuration name for the payment gateway. notes: type: object description: Additional notes for the payment gateway. properties: udf1: type: string description: User-defined field 1. udf2: type: string description: User-defined field 2. udf3: type: string description: User-defined field 3. address: type: object description: The address object containing recipient's address details. properties: first_name: type: string description: The first name of the recipient. address_line1: type: string description: The first line of the address. address_line2: type: string description: The second line of the address. city: type: string description: The city of the recipient. state: type: string description: The state of the recipient. country: type: string description: The country of the recipient. postal_code: type: string description: The postal code of the recipient. items: type: array description: An array of item objects containing details about the items in the order. items: type: object properties: retailer_id: type: string description: The retailer ID for the item. catalog_id: type: string description: The catalog ID containing the product. product_name: type: string description: The name of the product. amount: type: number description: The amount for the product. quantity: type: string description: The quantity of the product. expiration_timestamp: type: string description: The expiration timestamp for the product. expiration_description: type: string description: The description of the product's expiration. subtotal_amount: type: number description: The subtotal amount for the order. discount_amount: type: number description: The discount amount for the order. discount_description: type: string description: The description of the discount. shipping_amount: type: number description: The shipping amount for the order. shipping_description: type: string description: The description of the shipping. total_amount: type: number description: The total amount for the order. tax_amount: type: number description: The tax amount for the order. tax_description: type: string description: The description of the tax. extra: type: string description: Additional information to include in the message. required: - phone - body - footer - image - payment - extra SendSessionPaymentUPI: type: object title: Payment Message with UPI properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. enable_acculync: type: string description: A string indicating whether or not to enable Acculync. (Note- It is a string here, but it should ideally be a boolean.) body: type: string description: The body text of the message. footer: type: string description: The text to display in the footer. image: type: object description: The image object containing the URL of the image. properties: url: type: string description: The URL of the image to display. payment: type: object description: The payment object containing information about the payment details. properties: reference_id: type: string description: The reference ID for the payment. order_type: type: string description: The type of order, e.g., "order_details". product_type: type: string description: The type of product, e.g., "digital-goods". payment_configuration: type: string description: The payment configuration name. address: type: object description: The address object containing recipient's address details. properties: first_name: type: string description: The first name of the recipient. address_line1: type: string description: The first line of the address. city: type: string description: The city of the recipient. state: type: string description: The state of the recipient. country: type: string description: The country of the recipient. postal_code: type: string description: The postal code of the recipient. items: type: array description: An array of item objects containing details about the items in the order. items: type: object properties: retailer_id: type: string description: The retailer ID for the item. product_name: type: string description: The name of the product. amount: type: number description: The amount for the product. quantity: type: string description: The quantity of the product. expiration_timestamp: type: string description: The expiration timestamp for the product. expiration_description: type: string description: The description of the product's expiration. subtotal_amount: type: number description: The subtotal amount for the order. discount_description: type: string description: The description of the discount. shipping_amount: type: number description: The shipping amount for the order. shipping_description: type: string description: The description of the shipping. total_amount: type: number description: The total amount for the order. tax_amount: type: number description: The tax amount for the order. tax_description: type: string description: The description of the tax. extra: type: string description: Additional information to include in the message. required: - phone - body - footer - image - payment - extra SendSessionPaymentLink: type: object title: Payment Message with Payment Link properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. body: type: string description: The body text of the message. footer: type: string description: The text to display in the footer. image: type: object description: The image object containing the URL of the image. properties: url: type: string description: The URL of the image to display. payment: type: object description: The payment object containing information about the payment details. properties: reference_id: type: string description: The reference ID for the payment. order_type: type: string description: The type of order, e.g., "order_details". product_type: type: string description: The type of product, e.g., "digital-goods". payment_link: type: object description: The payment link object containing the URI of the payment link. properties: uri: type: string description: The URI of the payment link. address: type: object description: The address object containing recipient's address details. properties: first_name: type: string description: The first name of the recipient. address_line1: type: string description: The first line of the address. address_line2: type: string description: The second line of the address. city: type: string description: The city of the recipient. state: type: string description: The state of the recipient. country: type: string description: The country of the recipient. postal_code: type: string description: The postal code of the recipient. items: type: array description: An array of item objects containing details about the items in the order. items: type: object properties: retailer_id: type: string description: The retailer ID for the item. catalog_id: type: string description: The catalog ID containing the product. product_name: type: string description: The name of the product. amount: type: number description: The amount for the product. quantity: type: string description: The quantity of the product. expiration_timestamp: type: string description: The expiration timestamp for the product. expiration_description: type: string description: The description of the product's expiration. subtotal_amount: type: number description: The subtotal amount for the order. discount_amount: type: number description: The discount amount for the order. discount_description: type: string description: The description of the discount. shipping_amount: type: number description: The shipping amount for the order. shipping_description: type: string description: The description of the shipping. total_amount: type: number description: The total amount for the order. tax_amount: type: number description: The tax amount for the order. tax_description: type: string description: The description of the tax. extra: type: string description: Additional information to include in the message. required: - phone - body - footer - image - payment - extra SendSessionOrderStatus: type: object title: Payment Order Status properties: phone: type: string description: The mobile number of the recipient in full international format includes a plus sign (+) followed by the country code. enable_acculync: type: boolean description: A boolean indicating whether or not to enable Acculync. body: type: string description: The body text of the message. payment: type: object description: The payment object containing information about the order status. properties: product_type: type: string description: The type of product, e.g., "digital-goods". order_type: type: string description: The type of order, e.g., "order_status". reference_id: type: string description: The reference ID for the payment or order. order_status: type: string description: The status of the order, e.g., "processing". order_status_description: type: string description: The description of the order status. extra: type: string description: Additional information to include in the message. required: - phone - body - payment - extra MessageAcceptedResponse: type: object description: Every SUCCESS request sends a JSON response with the key as status, message, and request_id. properties: message: type: string description: The response message. status: type: string description: The status of the message delivery. request_id: type: string description: The request ID of the message. MessageBadRequestError: type: object description: Every failed request sends a JSON response with the key as status, message, and reason. properties: message: type: string description: The message response. status: type: string description: The status of the message delivery. reason: type: string description: The reason for not processing message. MessageAuthError: type: object description: Every failed request sends a JSON response with the key as status, message, and reason. properties: message: type: string description: The message response. status: type: string description: The status of message delivery. reason: type: string description: The reason for not processing message. MessageNotFoundError: type: object properties: message: type: string description: The response message. LoginRequest: type: object properties: password: type: string description: The secret code that users provide to the application during the login process. example: password username: type: string description: Unique identifier that users provide to the application during the login process. Usernames can be any string of characters. example: username required: - password - username LoginResponse: type: object properties: JWTAUTH: type: string description: JSON Web Token Authentication user_data: $ref: '#/components/schemas/LoginUserData' LoginUserData: type: object properties: username: type: string description: The name of the user. first_name: type: string description: The first name of the user. last_name: type: string description: The last name of the user. email: type: string description: The email address of the user. phone_number: type: string description: The user phone number in international format. password_reset: type: boolean description: Indicates whether the password reset. is_active: type: boolean description: Checks if the user is active. is_staff: type: boolean description: Checks if the user is a staff. ip: type: string description: The IP address of the user. child_user: type: boolean description: Indicates if user is a child. parent_username: type: string description: The user of child's parent. UpdateTemplateExample: type: object title: Example For Template Update properties: template_name: type: string description: The name of the template you want to edit. components: type: object description: An object containing the components of the template. properties: body: type: object description: The body component of the template. properties: text: type: string description: The updated text for the body of the template. required: - text required: - body required: - template_name - components UpdateTemplateLimitedTimeOffer: type: object title: Limited Time Offer Template properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: body: type: object description: The body component of the template. properties: text: type: string description: Plain text describing body of the lto template. limited_time_offer: type: object description: The limited time offer component of the template. properties: has_expiration: type: object description: The boolean value (True/False) used to explain if limited time offer has an expiration time. text: type: string description: The default value is limited offer which is usually used for same. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button, which should be "limited_time_offer". elements: type: string description: The elements of a button to be added for button type "limited_time_offer". properties: type: type: string description: The text that appears on the button. In this example, it is set to "Copy Code". or it could be set to "static" example: type: string description: Example for text appearing as Copy Code label: type: string description: The label of button associated and in this example value is "action" website: type: string description: The website url associated with the button . website_example: type: string description: The example of website url to check on button . UpdateTemplateMultiProduct: type: object title: Multi Product Message Template properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: header: type: object description: The header component of the template. properties: type: type: string description: Type of media in the header, which can be image, video, or document. text: type: string description: The text related to the header. body: type: object description: The body component of the template. properties: text: type: string description: The value for body text for multi_poroduct. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button, which should be "mpm". elements: type: string description: The elements of a button to be added for button type "multi_product". properties: text: type: string description: The text that appears on the button. In this example, it is set to "View Items". or it could be set to "static" UpdateTemplateAuthAutofill: type: object title: Auth Autofill properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: body: type: object description: The body component of the template. properties: add_security_recommendation: type: string description: A boolean value (true/false) indicating whether to include a security recommendation in the body of the template. footer: type: object description: The footer component of the template. properties: code_expiration_minutes: type: object description: The duration in minutes until the code provided in the template expires. properties: upto 90 mins possible: nullable: true description: The default is 90 minutes. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button, which should be "OTP". otp_type: type: string description: The behavior of the OTP (One-Time Password) button. In this example, it is set to "ONE_TAP". text: type: string description: The text that appears on the button. In this example, it is set to "Copy Code". autofill_text: type: string description: The text that appears on the autofill button. In this example, it is set to "Autofill". package_name: type: string description: The package name of the app associated with the template. signature_hash: type: string description: The signature hash of the app associated with the template. UpdateTemplateCatalog: type: object title: Catalog Template properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: body: type: object description: The body component of the template. properties: text: type: string description: Plain text describing body of the catalog template. example: type: string description: Example of text written in body for catalog template. footer: type: object description: The footer component of the template. properties: code_expiration_minutes: type: object description: The duration in minutes until the code provided in the template expires. properties: upto 90 mins possible: nullable: true description: The default is 90 minutes. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button, which should be "call_to_action". elements: type: string description: The elements of a button to be added for button type "call_to_action". properties: type: type: string description: The text that appears on the button. In this example, it is set to "view_catalog". UpdateTemplateCopyCode: type: object title: Copy Code Template properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: body: type: object description: The body component of the template. properties: text: type: string description: Plain text describing body of the catalog template. example: type: string description: Example of text written in body for catalog template. footer: type: object description: The footer component of the template. properties: code_expiration_minutes: type: object description: The duration in minutes until the code provided in the template expires. properties: upto 90 mins possible: nullable: true description: The default is 90 minutes. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button, which should be "call_to_action". elements: type: string description: The elements of a button to be added for button type "call_to_action". properties: text: type: string description: The text that appears on the button. In this example, it is set to "view_catalog". example: type: string description: Example for text appearing as Copy Code label: type: string description: The label of button associated and in this example value is "action" website: type: string description: The website url associated with the button . UpdateTemplateCarousel: type: object title: Carousel Template properties: template_name: type: string description: Name of the template. language: type: array description: Language code of language in which message text is written, such as "en" for English. items: type: string template_type: type: string description: The type of media template that WhatsApp allows. template_category: type: string description: 'The category of the template. Must be one of: MARKETING, UTILITY, AUTHENTICATION.' components: type: object description: Object containing the components of the template. properties: body: type: object description: The body component of the template. properties: text: type: string description: Plain text describing body of the catalog template. example: type: string description: Example of text written in body for catalog template. footer: type: object description: The footer component of the template. properties: code_expiration_minutes: type: object description: The duration in minutes until the code provided in the template expires. properties: upto 90 mins possible: nullable: true description: The default is 90 minutes. cards: type: object description: The card component of the carousel template. properties: header_type: type: object description: The type of header used in cards which can be text or image header_example: type: string description: The example of header to be used either in form of text or image url provided for same button_types: type: array description: Array storing the type of buttons which can be used among which iunclude url and quick reply items: type: object elements: type: string description: The elements of a button to be added for button type "call_to_action". properties: body: type: object description: The body component of the template. properties: text: type: string description: Plain text describing body of the catalog template. example: type: string description: Example of text written in body for catalog template. buttons: type: object description: The buttons component of the template. properties: type: type: string description: Type of button to be used . In this example, it is set to "quick_reply" or "dynamic" . text: type: string description: The text that appears on the button. In this example, it is set to "view_more". label: type: string description: The label of button associated and in this example value is "action" website: type: string description: The website url associated with the button . website_example: type: string description: The example of website url to check on button . ProfilePhotoRequest: type: object properties: file: type: string description: This Paramter contains Profile Photo which has image file which can be uploaded with the formats as mentioned in facebook documentation example: ABC.jpeg, ABC.jpg, ABC.png required: - file