> ## Documentation Index
> Fetch the complete documentation index at: https://developers.smsmanager.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Odeslat více zpráv

> 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).




## OpenAPI

````yaml /openapi/cs/json/jsonapi_v2.yaml post /messages
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
security: []
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)
paths:
  /messages:
    post:
      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
      security:
        - x-api-key: []
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.
  securitySchemes:
    x-api-key:
      type: apiKey
      in: header
      name: x-api-key

````