Messente Bulk Messaging API

Send an Omnimessage to many recipients in a single request.

OpenAPI Specification

messente-bulk-messaging-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Messente Account Balance Bulk Messaging API
  version: 2.1.0
  description: Messente is a global CPaaS provider of messaging and user verification services based in Estonia. Send and receive SMS, Viber, and WhatsApp messages through a single Omnimessage endpoint with an automatic fallback chain, manage contacts and groups in the Phonebook, look up phone number (HLR) information, run PIN-based number verification / 2FA, retrieve delivery reports, and pull messaging statistics. This is a faithful, representative OpenAPI description of the public Messente REST API; consult the official documentation for the authoritative contract.
  contact:
    name: Messente Support
    url: https://messente.com/documentation
    email: messente@messente.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://api.messente.com/v1
  description: Messente production API
security:
- basicAuth: []
tags:
- name: Bulk Messaging
  description: Send an Omnimessage to many recipients in a single request.
paths:
  /omnimessages:
    post:
      tags:
      - Bulk Messaging
      summary: Sends a bulk Omnimessage
      description: Sends an Omnimessage to multiple recipients in a single request.
      operationId: sendBulkOmnimessage
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkOmnimessage'
      responses:
        '202':
          description: Bulk Omnimessage accepted for sending
        '400':
          description: Invalid input
components:
  schemas:
    WhatsApp:
      type: object
      description: A WhatsApp channel message.
      properties:
        channel:
          type: string
          enum:
          - whatsapp
          default: whatsapp
        sender:
          type: string
        text:
          $ref: '#/components/schemas/WhatsAppText'
    SMS:
      type: object
      description: An SMS channel message.
      required:
      - text
      properties:
        channel:
          type: string
          enum:
          - sms
          default: sms
        sender:
          type: string
          description: Sender ID.
        text:
          type: string
        validity:
          type: integer
          description: Message validity period in minutes.
        autoconvert:
          type: string
          enum:
          - full
          - 'on'
          - 'off'
    BulkOmnimessage:
      type: object
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/Omnimessage'
    WhatsAppText:
      type: object
      properties:
        body:
          type: string
        preview_url:
          type: boolean
    Viber:
      type: object
      description: A Viber channel message.
      required:
      - text
      properties:
        channel:
          type: string
          enum:
          - viber
          default: viber
        sender:
          type: string
        text:
          type: string
        image_url:
          type: string
        button_url:
          type: string
        button_text:
          type: string
        validity:
          type: integer
    Omnimessage:
      type: object
      description: A message delivered over one or more channels. The messages array defines the fallback chain in priority order.
      required:
      - to
      - messages
      properties:
        to:
          type: string
          description: Recipient phone number in international E.164 format.
        messages:
          type: array
          description: Ordered list of channel-specific messages forming the fallback chain.
          items:
            oneOf:
            - $ref: '#/components/schemas/SMS'
            - $ref: '#/components/schemas/Viber'
            - $ref: '#/components/schemas/WhatsApp'
        text_store:
          type: string
          enum:
          - nostore
          - plaintext
          - sha256
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication using the API username and password from the Messente dashboard API settings.