openapi: 3.1.0
info:
  title: JSON API
  description: >
    API pro odesílání zpráv přes SMS, Viber, WhatsApp a další komunikační
    kanály.


    ## JSON API v2


    API klíč je vyžadován pro všechny požadavky. Svůj API klíč naleznete v
    [nastavení účtu](https://app.smsmanager.com/api-cloud).


    Verze API (http-api a xml-api) jsou také zastaralé a měli byste místo nich
    používat toto JSON API v2.
  version: v2
  contact:
    url: https://smsmanager.cz
    email: cc@smsmanager.cz
servers:
  - url: https://api.smsmngr.com/v2
    description: Odpoví s daty vašeho požadavku
components:
  schemas:
    Message:
      type: object
      required:
        - body
        - to
      properties:
        body:
          type: string
          maxLength: 1000
          description: Tělo zprávy (pokud není definováno v toku).
        to:
          type: array
          minItems: 1
          maxItems: 10
          description: Seznam příjemců.
          items:
            type: object
            properties:
              phone_number:
                type: string
                description: >-
                  Telefonní číslo příjemce. Doporučuje se mezinárodní formát
                  (E.164, bez úvodního `+` nebo `00`), ale je akceptován i jiný
                  formát (před přijetím požadavku jej převedeme na mezinárodní
                  formát).
                example: '420777123456'
            required:
              - phone_number
        callback:
          type: string
          format: uri
          description: >-
            URL pro zpětné volání pro příjem oznámení o doručení (Webhook, viz
            [Webhooks](#tag/Webhooks)).
        tag:
          type: string
          default: promotional
          description: >-
            Tag pro zprávu. Můžete jej použít k seskupování zpráv (např. podle
            ID kampaně). Existují také speciální tagy, které můžete použít:
            `priority` (pro prioritní zprávy), `transactional` (pro transakční
            zprávy).
        params:
          type: object
          description: >-
            Poskytnutím tohoto objektu můžete zprávě předat speciální parametry.
            Zeptejte se nás, jak tento parametr použít pro zkracování odkazů
            nebo jiné funkce.
        datetime:
          type: string
          format: date-time
          description: Naplánovaný čas odeslání zprávy. Vždy v časovém pásmu UTC.
          example: '2025-01-11T10:00:00Z'
        delivery_time:
          type: object
          properties:
            days:
              type: array
              items:
                type: string
                enum:
                  - monday
                  - tuesday
                  - wednesday
                  - thursday
                  - friday
                  - saturday
                  - sunday
              description: Dny v týdnu pro naplánovaný čas.
            start:
              type: string
              description: Počáteční čas pro naplánovaný čas.
              example: '08:00'
            end:
              type: string
              description: Koncový čas pro naplánovaný čas.
              example: '21:00'
            tz:
              type: string
              description: Časové pásmo pro naplánovaný čas.
              example: Europe/Prague, Europe/London, Europe/Berlin, America/New_York
              default: UTC
        flow:
          type: array
          description: >-
            Seznam komunikačních kanálů pro tok zprávy. Pokud je definován,
            nesmí být prázdný. Můžete použít více kanálů, pořadí kanálů je
            důležité (první kanál se použije jako první, pokud první kanál není
            dostupný nebo jej příjemce nepřijme, použije se druhý kanál atd.).
          items:
            type: object
            additionalProperties: false
            minProperties: 1
            maxProperties: 1
            properties:
              sms:
                type: object
                properties:
                  body:
                    type: string
                    maxLength: 1000
                    description: >-
                      Tato definice těla zprávy zde má vyšší prioritu než ta
                      definovaná v kořenovém objektu.
                  sender:
                    type: string
                    description: >-
                      Alfanumerické jméno odesílatele (max. 11 znaků, může být
                      vyžadována předběžná registrace) nebo vyhrazené virtuální
                      číslo (bez `+`).
                    examples:
                      - Mojefirma
                      - 420777123456
                  gateway:
                    type: string
                    enum:
                      - high
                      - direct
                      - custom
                    default: high
                    description: >-
                      Použijte `direct`, pokud používáte vyhrazené virtuální
                      číslo. Použijte `custom`, pokud používáte SIM hosting.
                  ttl:
                    type: integer
                    description: Doba života v minutách.
                  type:
                    type: string
                    enum:
                      - sms
                      - utf
                    default: utf
                    description: >-
                      Nastavte `utf`, pokud chcete zachovat unicode znaky ve
                      zprávě. Nastavte `sms`, pokud chcete převést nebo odebrat
                      unicode ze zprávy, abyste zachovali maximální kapacitu v
                      SMS.
                required:
                  - body
              viber:
                type: object
                properties:
                  body:
                    type: string
                    maxLength: 1000
                    description: >-
                      Tato definice těla zprávy zde má vyšší prioritu než ta
                      definovaná v kořenovém objektu.
                  sender:
                    type: string
                    description: >-
                      Použijte jméno odesílatele, které jste předregistrovali
                      pro svou Viber Business zprávu.
                  buttons:
                    type: array
                    maxItems: 1
                    items:
                      type: object
                      required:
                        - title
                        - url
                      properties:
                        title:
                          type: string
                        url:
                          type: string
                          format: uri
                  ttl:
                    type: integer
                    description: Doba života v minutách.
                required:
                  - body
                  - sender
              whatsapp_text:
                type: object
                properties:
                  body:
                    type: string
                    description: >-
                      Tato definice těla zprávy zde má vyšší prioritu než ta
                      definovaná v kořenovém objektu. Vlastní tělo zprávy můžete
                      použít pouze tehdy, když příjemce již odpověděl na vaši
                      šablonovou zprávu nebo vám poslal zprávu jako první.
                    maxLength: 1000
                  sender:
                    type: string
                    description: >-
                      ID telefonního čísla registrovaného čísla WhatsApp.
                      Naleznete ho v [nastavení
                      WhatsApp](https://app.smsmanager.com/whatsapp).
                    examples:
                      - '514578330250514'
                required:
                  - body
                  - sender
              whatsapp_template:
                type: object
                properties:
                  template_name:
                    type: string
                    description: >-
                      Název šablony, kterou jste předregistrovali a schválili
                      před použitím.
                    maxLength: 100
                  sender:
                    type: string
                    description: >-
                      ID telefonního čísla registrovaného čísla WhatsApp.
                      Naleznete ho v [nastavení
                      WhatsApp](https://app.smsmanager.com/whatsapp).
                    examples:
                      - '514578330250514'
                  params:
                    type: array
                    items:
                      type: string
                    description: >-
                      Pokud má vaše šablona parametry, musíte zde pro ně předat
                      hodnoty.
                  params_header:
                    type: array
                    items:
                      type: string
                    description: >-
                      Pokud má vaše šablona hlavičku s parametrem, musíte zde
                      pro něj předat hodnotu.
                  params_buttons:
                    type: array
                    items:
                      type: string
                    description: >-
                      Pokud mají tlačítka vaší šablony parametry, musíte zde pro
                      ně předat hodnoty.
                  language:
                    type: string
                    examples:
                      - en
                      - cs
                    description: >-
                      Jazyk šablony (pro stejnou šablonu můžete mít více
                      jazyků).
                  ttl:
                    type: integer
                    description: Doba života v minutách.
                required:
                  - template_name
                  - language
                  - sender
        payload:
          type: object
          description: >
            Můžete dokonce vytvořit pro zprávu payload, kde můžete definovat
            jakékoli parametry pro zprávu. Tento objekt je vrácen v oznámení o
            doručení a odpovědích.
          example:
            user_id: '123456'
    MessagesResponse:
      type: object
      properties:
        request_id:
          type: string
          description: Jedinečný identifikátor požadavku.
        accepted:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                description: Index původního požadavku z pole těla.
              message_id:
                type: string
                description: >-
                  Jedinečný identifikátor zprávy pro každý požadavek v poli
                  těla.
        rejected:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                description: Index původního požadavku z pole těla.
    MessageResponse:
      type: object
      properties:
        request_id:
          type: string
          description: Jedinečný identifikátor požadavku.
        accepted:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                description: Index původního příjemce z pole `to`.
              message_id:
                type: string
                description: Jedinečný identifikátor zprávy pro přijatou zprávu.
        rejected:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                description: Index původního příjemce z pole `to`.
    MessageSimpleResponse:
      type: object
      properties:
        request_id:
          type: string
          description: Jedinečný identifikátor požadavku.
          example: bc36f3d1-d284-463a-921b-a3560c154649
        message_id:
          type: string
          description: Jedinečný identifikátor zprávy.
          example: bc36f3d1-d284-463a-921b-a3560c154649
        accepted:
          type: boolean
          description: True, pokud byla zpráva přijata, false, pokud byla zamítnuta.
          example: true
  securitySchemes:
    x-api-key:
      type: apiKey
      in: header
      name: x-api-key
    apikey:
      type: apiKey
      in: query
      name: apikey
paths:
  /message:
    post:
      security:
        - x-api-key: []
      tags:
        - sending
      summary: Odeslat zprávu
      description: >
        Použijte tento koncový bod k odeslání zprávy jednomu nebo více příjemcům
        (až 10 příjemců). Pokud chcete použít jiné kanály než SMS (Viber,
        WhatsApp atd.), musíte použít vlastnost `flow`.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Message'
            examples:
              Simple message:
                value:
                  body: Test message
                  to:
                    - phone_number: '420777123456'
              Message with flow:
                value:
                  body: Test message
                  to:
                    - phone_number: '420777123456'
                  flow:
                    - sms:
                        sender: SmsManager
                        gateway: high
                        ttl: 10
              Scheduled message:
                value:
                  body: Meeting reminder
                  to:
                    - phone_number: '420777123456'
                  datetime: '2025-01-11T10:00:00Z'
              Message with callback and payload:
                value:
                  body: Order shipped
                  to:
                    - phone_number: '420777123456'
                  callback: https://example.com/delivery
                  payload:
                    order_id: ORD-1001
              Unicode SMS with custom TTL:
                value:
                  body: 'Привет, Ваш код: 1234'
                  to:
                    - phone_number: '420777123456'
                  tag: transactional
                  flow:
                    - sms:
                        sender: SmsManager
                        type: utf
                        ttl: 5
      responses:
        '200':
          description: Zprávy úspěšně odeslány
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '400':
          description: Špatný požadavek
          content:
            application/json:
              schema:
                type: object
                properties:
                  Message:
                    type: string
                    description: Chybová zpráva.
                    example: >-
                      Uživatel není oprávněn přistupovat k tomuto zdroji s
                      explicitním zamítnutím
  /messages:
    post:
      security:
        - x-api-key: []
      tags:
        - sending
      summary: Odeslat více zpráv
      description: >
        Tento endpoint slouží k hromadnému odeslání identických zpráv více
        příjemcům (můžete nastavit až 10 příjemců na jeden požadavek a až 10
        požadavků na jedno volání API). To znamená, že můžete odeslat až 100
        příjemcům v rámci jednoho volání HTTP API. Pokud chcete použít jiné
        kanály než SMS (Viber, WhatsApp atd.), musíte použít vlastnost `flow`.
        Při použití tohoto endpointu obdržíte `message_id` pro každý z požadavků
        (nikoli pro každého příjemce). Chcete-li získat `message_id` pro každého
        příjemce, musíte k `message_id` připojit `-<index_příjemce>`. Více
        informací o `message_id` naleznete v
        [dokumentaci](#sending/paths/~1messages/post/response&c=200).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              minItems: 1
              maxItems: 10
              items:
                $ref: '#/components/schemas/Message'
            examples:
              Two requests with multiple recipients:
                value:
                  - body: Hello John
                    to:
                      - phone_number: '420777123456'
                      - phone_number: '420777654321'
                  - body: Hello Jane
                    to:
                      - phone_number: '420777115577'
                      - phone_number: '420777223344'
              Mixed channels:
                value:
                  - body: Promo SMS
                    to:
                      - phone_number: '420777111111'
                    flow:
                      - sms:
                          sender: PromoSMS
                          gateway: high
                  - body: Promo Viber
                    to:
                      - phone_number: '420777222222'
                    flow:
                      - viber:
                          sender: PromoViber
                          ttl: 2
              Scheduled batch:
                value:
                  - body: Scheduled greetings
                    to:
                      - phone_number: '420777333333'
                    datetime: '2025-01-11T10:00:00Z'
                  - body: Another scheduled
                    to:
                      - phone_number: '420777444444'
                    datetime: '2025-01-11T10:05:00Z'
              WhatsApp templates:
                value:
                  - to:
                      - phone_number: '420777555555'
                    flow:
                      - whatsapp_template:
                          template_name: order_update
                          sender: '447700900123'
                          params:
                            - John
                            - '12345'
                  - to:
                      - phone_number: '420777666666'
                    flow:
                      - whatsapp_template:
                          template_name: order_update
                          sender: '447700900123'
                          params:
                            - Jane
                            - '54321'
              Messages with payload and callback:
                value:
                  - body: Your package is on the way
                    to:
                      - phone_number: '420777777777'
                    callback: https://example.com/delivery
                    payload:
                      order_id: ORD-42
                  - body: We received your inquiry
                    to:
                      - phone_number: '420777888888'
                    payload:
                      ticket_id: TCK-99
      responses:
        '200':
          description: Zprávy úspěšně odeslány
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessagesResponse'
              examples:
                Accepted two requests with multiple recipients:
                  description: >-
                    Dva požadavky s více příjemci. Buďte opatrní, když používáte
                    koncový bod `messages`, obdržíte `message_id` pro každý z
                    požadavků (ne pro každého příjemce). Pro získání message_id
                    pro každého příjemce musíte k `message_id` připojit
                    `-<index_příjemce>`. Například, pokud máte dva příjemce pro
                    první požadavek, první příjemce bude mít `message_id`
                    `pppppppp-qqqq-rrrr-ssss-tttttttttttt-0` a druhý příjemce
                    bude mít `message_id`
                    `pppppppp-qqqq-rrrr-ssss-tttttttttttt-1`.
                  value:
                    request_id: 66666666-6666-6666-6666-666666666666
                    accepted:
                      - key: '0'
                        message_id: pppppppp-qqqq-rrrr-ssss-tttttttttttt
                      - key: '1'
                        message_id: uuuuuuuu-vvvv-wwww-xxxx-yyyyyyyyyyyy
                    rejected: []
        '400':
          description: Špatný požadavek
          content:
            application/json:
              schema:
                type: object
                properties:
                  Message:
                    type: string
                    description: Chybová zpráva.
                    example: >-
                      Uživatel není oprávněn přistupovat k tomuto zdroji s
                      explicitním zamítnutím
  /simple/message:
    get:
      security:
        - apikey: []
      tags:
        - sending
      summary: Odeslat jednoduchou zprávu (GET požadavek)
      parameters:
        - name: apikey
          in: query
          required: true
          schema:
            type: string
        - name: phone_number
          in: query
          required: true
          schema:
            type: string
        - name: message
          in: query
          required: true
          schema:
            type: string
        - name: sender
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Jednoduchá zpráva úspěšně odeslána
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageSimpleResponse'
              examples:
                Accepted message:
                  value:
                    request_id: 66666666-6666-6666-6666-666666666666
                    message_id: pppppppp-qqqq-rrrr-ssss-tttttttttttt
                    accepted: true
                Rejected invalid sender:
                  value:
                    request_id: 77777777-7777-7777-7777-777777777777
                    accepted: false
                Rejected missing parameter:
                  value:
                    request_id: 88888888-8888-8888-8888-888888888888
                    accepted: false
                Accepted message with accents:
                  value:
                    request_id: 99999999-9999-9999-9999-999999999999
                    message_id: uuuuuuuu-vvvv-wwww-xxxx-yyyyyyyyyyyy
                    accepted: true
                Accepted high priority:
                  value:
                    request_id: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
                    message_id: zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz
                    accepted: true
        '400':
          description: Neplatný požadavek
    post:
      security:
        - x-api-key: []
      tags:
        - sending
      summary: Odeslat jednoduchou zprávu (POST požadavek)
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
                - phone_number
                - message
                - sender
              properties:
                phone_number:
                  type: string
                message:
                  type: string
                sender:
                  type: string
      responses:
        '200':
          description: Jednoduchá zpráva úspěšně odeslána
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageSimpleResponse'
              examples:
                Accepted message:
                  value:
                    request_id: 11111111-1111-1111-1111-111111111111
                    message_id: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
                    accepted: true
                Rejected invalid number:
                  value:
                    request_id: 22222222-2222-2222-2222-222222222222
                    accepted: false
                Rejected insufficient credit:
                  value:
                    request_id: 33333333-3333-3333-3333-333333333333
                    accepted: false
                Accepted promo message:
                  value:
                    request_id: 44444444-4444-4444-4444-444444444444
                    message_id: ffffffff-gggg-hhhh-iiii-jjjjjjjjjjjj
                    accepted: true
                Accepted transactional message:
                  value:
                    request_id: 55555555-5555-5555-5555-555555555555
                    message_id: kkkkkkkk-llll-mmmm-nnnn-oooooooooooo
                    accepted: true
        '400':
          description: Neplatný požadavek
          content:
            application/json:
              schema:
                type: object
                properties:
                  request_id:
                    type: string
                    description: Jedinečný identifikátor požadavku.
                    example: bc36f3d1-d284-463a-921b-a3560c154649
                  accepted:
                    type: boolean
                    description: >-
                      True, pokud byla zpráva přijata, false, pokud byla
                      zamítnuta.
                    example: false
        '415':
          description: Špatný Content-Type
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: >-
                      Je podporován pouze
                      Content-Type:application/x-www-form-urlencoded
                    example: Nepodporovaný typ média
x-webhooks:
  sentMessage:
    post:
      tags:
        - Webhooks
      summary: Webhook odeslané zprávy
      description: >
        Tento webhook vám zasílá informace o odeslaných zprávách. Tento webhook
        můžete použít k ukládání informací o odeslaných zprávách, jako jsou
        message_id, gateway, timestamp, payload atd.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  request_id:
                    type: string
                    example: bc36f3d1-d284-463a-921b-a3560c154649
                  message_id:
                    type: string
                    description: >-
                      Unikátní identifikátor zprávy. (Pokud použijete endpoint
                      `/messages`, obdržíte `message_id` s připojeným
                      `-<index_příjemce>` k `message_id`).
                    example: e27ff0ac-87b5-4e1d-b644-5fc6029e2a11
                  gateway:
                    description: Použitý `flow` pro zprávu.
                    type: string
                    enum:
                      - sms
                      - viber
                      - whatsapp_text
                      - whatsapp_template
                    example: sms
                  timestamp:
                    type: integer
                    example: 1700000000
                  payload:
                    type: object
                    example:
                      campaign_id: winter-sale
                  type:
                    type: string
                    default: outgoing
                  to:
                    type: object
                    properties:
                      phone_number:
                        type: string
                        example: '420777123456'
                  result:
                    description: >-
                      Výsledek odeslání zprávy. Nejprve obdržíte stav `sent`,
                      poté budou následovat další stavy. Pokud je zpráva
                      zamítnuta (`rejected`), znamená to, že zpráva nebyla ani
                      odeslána (typickým důvodem je nedostatečný kredit nebo
                      neplatné telefonní číslo).
                    type: string
                    enum:
                      - delivered
                      - undelivered
                      - rejected
                      - failed
                      - sending
                      - sent
                      - seen
                  result_info:
                    type: string
                    description: >-
                      Další kód výsledku pro zprávu ve formátu "[kód] Popis".
                      Kód je volitelný, popis je také volitelný. Informace o
                      výsledku může také obsahovat pouze kód v hranatých
                      závorkách nebo pouze popis bez kódu.
                    examples:
                      - '[307] Insufficient credit'
                      - >-
                        [131042] There was an error related to your payment
                        method
                      - Unauthorized error
                      - '[368]'
                  sms:
                    type: object
                    properties:
                      gateway:
                        description: Použité specifické nastavení brány pro zprávu.
                        type: string
                      sender:
                        description: Použitý odesílatel pro zprávu.
                        type: string
                      country:
                        description: Použitá země pro zprávu (oficiální `MCC` kód).
                        type: integer
                      operator:
                        description: >-
                          Použitý operátor pro zprávu (oficiální `MNC` kód nebo
                          `0` pro neznámého/obecného operátora).
                        type: integer
                      price_czk:
                        description: Cena zprávy v CZK.
                        type: number
                      price_eur:
                        description: Cena zprávy v EUR.
                        type: number
                      count:
                        description: Počet částí (kolik zpoplatněných zpráv bylo odesláno).
                        type: integer
                  whatsapp_template:
                    type: object
                    properties:
                      sender:
                        description: Použitý odesílatel pro zprávu.
                        type: string
                      country:
                        description: Použitá země pro zprávu (oficiální `MCC` kód).
                        type: integer
                      operator:
                        description: >-
                          Použitý operátor pro zprávu (oficiální `MNC` kód nebo
                          `0` pro neznámého/obecného operátora).
                        type: integer
                      price_czk:
                        description: Cena zprávy v CZK.
                        type: number
                      price_eur:
                        description: Cena zprávy v EUR.
                        type: number
                      count:
                        description: Počet částí (kolik zpoplatněných zpráv bylo odesláno).
                        type: integer
                  viber:
                    type: object
                    properties:
                      sender:
                        description: Použitý odesílatel pro zprávu.
                        type: string
                      country:
                        description: Použitá země pro zprávu (oficiální `MCC` kód).
                        type: integer
                      operator:
                        description: >-
                          Použitý operátor pro zprávu (oficiální `MNC` kód nebo
                          `0` pro neznámého/obecného operátora).
                        type: integer
                      price_czk:
                        description: Cena zprávy v CZK.
                        type: number
                      price_eur:
                        description: Cena zprávy v EUR.
                        type: number
                      count:
                        description: Počet částí (kolik zpoplatněných zpráv bylo odesláno).
                        type: integer
                  whatsapp_body:
                    type: object
                    properties:
                      sender:
                        description: Použitý odesílatel pro zprávu.
                        type: string
                      country:
                        description: Použitá země pro zprávu (oficiální `MCC` kód).
                        type: integer
                      operator:
                        description: >-
                          Použitý operátor pro zprávu (oficiální `MNC` kód nebo
                          `0` pro neznámého/obecného operátora).
                        type: integer
                      price_czk:
                        description: Cena zprávy v CZK.
                        type: number
                      price_eur:
                        description: Cena zprávy v EUR.
                        type: number
                      count:
                        description: Počet částí (kolik zpráv bylo odesláno).
                        type: integer
            examples:
              Message delivered:
                value:
                  - request_id: bc36f3d1-d284-463a-921b-a3560c154649
                    message_id: e27ff0ac-87b5-4e1d-b644-5fc6029e2a11
                    gateway: sms
                    timestamp: 1700000000
                    payload:
                      campaign_id: winter-sale
                    type: outgoing
                    to:
                      phone_number: '420777123456'
                    result: delivered
                    result_info: '[0] Delivered'
  incomingReplyMessage:
    post:
      tags:
        - Webhooks
      summary: Webhook příchozí odpovědní zprávy
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  request_id:
                    type: string
                    description: >-
                      Unikátní identifikátor požadavku použitý pro odeslanou
                      zprávu příjemci.
                    example: bc36f3d1-d284-463a-921b-a3560c154649
                  message_id:
                    description: >-
                      Unikátní identifikátor zprávy použitý pro odeslanou zprávu
                      příjemci.
                    type: string
                    example: e27ff0ac-87b5-4e1d-b644-5fc6029e2a11
                  payload:
                    type: object
                    example:
                      campaign_id: winter-sale
                  gateway:
                    description: >-
                      Použitý `flow` pro zprávu. Info: pro `whatsapp_body` a
                      `whatsapp_template` obdržíte pouze `whatsapp` (příchozí
                      zprávy nejsou rozděleny na `whatsapp_body` nebo
                      `whatsapp_template`).
                    type: string
                    enum:
                      - sms
                      - viber
                      - whatsapp
                  timestamp:
                    description: >-
                      Čas odeslání zprávy ve formátu Unix timestamp. Jedná se o
                      časové razítko odeslání zprávy odesílatelem (pokud tato
                      informace není k dispozici, timestamp odpovídající přijetí
                      zprávy naším systémem).
                    type: integer
                    example: 1700000000
                  type:
                    description: Typ zprávy.
                    type: string
                    default: incoming
                  sender:
                    description: >-
                      Odesílatel zprávy. V některých zemích nebo u některých
                      operátorů není alfanumerický odesílatel plně podporován.
                    type: string
                    example: '420777123456'
                  recipient:
                    description: Příjemce zprávy.
                    type: string
                    example: '420777654321'
                  body:
                    description: Tělo zprávy.
                    type: string
                    example: Thank you!
            examples:
              Incoming reply message:
                value:
                  - request_id: bc36f3d1-d284-463a-921b-a3560c154649
                    message_id: e27ff0ac-87b5-4e1d-b644-5fc6029e2a11
                    payload:
                      campaign_id: winter-sale
                    gateway: sms
                    timestamp: 1700000000
                    type: incoming
                    sender: '420777123456'
                    recipient: '420777654321'
                    body: Thank you!
  incomingMessage:
    post:
      tags:
        - Webhooks
      summary: Webhook příchozí zprávy
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  gateway:
                    description: Použitý `flow` pro zprávu.
                    type: string
                    enum:
                      - sms
                      - viber
                      - whatsapp
                  timestamp:
                    description: >-
                      Čas odeslání zprávy ve formátu Unix timestamp. Jedná se o
                      časové razítko odeslání zprávy odesílatelem (pokud tato
                      informace není k dispozici, timestamp odpovídající přijetí
                      zprávy naším systémem).
                    type: integer
                    example: 1700000000
                  type:
                    description: Typ zprávy.
                    type: string
                    default: incoming
                  sender:
                    description: >-
                      Odesílatel zprávy. V některých zemích nebo u některých
                      operátorů není alfanumerický odesílatel plně podporován.
                    type: string
                    example: '420777123456'
                  recipient:
                    description: Příjemce zprávy.
                    type: string
                    example: '420777654321'
                  body:
                    type: string
            examples:
              Incoming message:
                value:
                  - gateway: whatsapp
                    timestamp: 1700000000
                    type: incoming
                    sender: '420777123456'
                    recipient: '420777654321'
                    body: Hello, I have a question.
tags:
  - name: sending
    x-displayName: Odesílání
    description: >
      Pro odesílání zpráv použijte jeden z následujících koncových bodů.

      - `/message` pro odeslání zprávy až 10 příjemcům

      - `/messages` pro odeslání více zpráv (až 10 zpráv najednou, každá až s 10
      příjemci)

      - `/simple/message` pro odeslání jednoduché zprávy (GET a POST)
