Zubale External outbound API

The External outbound API from Zubale — 1 operation(s) for external outbound.

OpenAPI Specification

zubale-external-outbound-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Zubale API Documentation for External Notification Handler External outbound API
  version: v3
  description: 'Overview. This document is a developer’s guide and provides the necessary information to integrate your websites and mobile apps with our Zubale API endpoints. In this document some of our API endpoints are discussed, giving their business context and some examples on how to use specific features provided by the endpoints. Basic prior knowledge on JSON, HTTPS and an understanding of software programming is assumed. Integration It''s the process to unite with your service automatically in order to provide a connection between your services and Zubale''s system to create tasks and update its statuses. It is important to note that this API is serving different customers, thus modifications to it are not feasible. If you have special requirements or needs, please talk to your Sales Account Manager to explore a custom integration. How to start with Zubale? https://en.zubale.com/ Terminology Customer: This is the company that integrates with us Client: This is the person who make an order Zubalero: The person who runs Picking and deliveries Response The Zubale API uses HTTP status codes to indicate the status of the requests. This includes successful and error responses. Success Response Codes HTTP Status Code Description 200 Request successful. 200 User created. Error Response Codes HTTP Status Code Description 500 Internal server error. 409 Format not recognized. 409 Encoding format not recognized. 404 Content not found 401 Unauthorized/Invalid token 400 Bad request.'
  contact:
    name: Zubale
    url: https://developers.zubale.com/
  x-source: Derived from the public Zubale Postman collection (developers.zubale.com)
  x-apievangelist:
    generated: '2026-07-21'
    method: generated
    source: postman/zubale-collection.json
servers:
- url: https://api.zubale.com
  description: Production
- url: https://api-cencosandbox.zubale.com
  description: Sandbox host published in the collection
security:
- bearerAuth: []
tags:
- name: External outbound
paths:
  /hermes/integrations/{iINTEGRATION_NAME}/conversations/messages:
    post:
      operationId: multipleProductCampaignCatalog
      summary: Multiple product campaign - Catalog
      tags:
      - External outbound
      description: 'Send multiple product items as a WhatsApp catalog campaign message. Required headers: Content-Type: application/json Authorization: Bearer {{jwtToken}} Use to showcase multiple products in a single outbound campaign. Request body JSON structure: target (string, required): Recipient phone number, including country code. templateName (string, required): Name of the WhatsApp campaign/template for multiple products. languageCode (string, required): Language/locale code for the template (for example, es , en_US ). flow (string, optional): Static flow identifier provided by Zubale. payload (object, required): Template variables and catalog configuration. body (array, required): Template components for the message body and CTA button. Discount text component: parameters[].text contains values such as discount percentage. Catalog button component ( type: button , sub_type: mpm ): parameters[].action.sections[].title is the section title shown in the catalog. product_items[] is an array of catalog product entries. Each item has product_retailer_id (string, required): Identifier of the product in your catalog. metadata (object, required): Campaign and routing metadata. node (string, optional'
      parameters:
      - name: iINTEGRATION_NAME
        in: path
        required: true
        schema:
          type: string
      security:
      - bearerAuth: []
      requestBody:
        content:
          application/json:
            example:
              target: '+57301000000'
              templateName: example_multiple_products_template
              languageCode: es
              payload:
                body:
                - type: body
                  parameters:
                  - type: text
                    text: 30%
                - type: button
                  sub_type: mpm
                  index: 0
                  parameters:
                  - type: action
                    action:
                      sections:
                      - title: Productos encontrados
                        product_items:
                        - product_retailer_id: '22222'
                        - product_retailer_id: CVC
                        - product_retailer_id: ' 33333'
              metadata:
                promotionCode: PROMOTION000
      responses:
        '200':
          description: Successful response
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'OAuth2 client-credentials access token from POST /oauth2/token, sent as Authorization: Bearer <token>.'
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic (client_id:client_secret) used only against POST /oauth2/token.
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.zubale.com/oauth2/token
          scopes: {}