{
  "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.\n\n## JSON API v2\n\nAPI klíč je vyžadován pro všechny požadavky. Svůj API klíč naleznete v [nastavení účtu](https://app.smsmanager.com/api-cloud).\n\nVerze API (http-api a xml-api) jsou také zastaralé a měli byste místo nich používat toto JSON API v2.\n",
    "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.\n",
            "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`.\n",
        "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).\n",
        "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.\n",
        "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ů.\n- `/message` pro odeslání zprávy až 10 příjemcům\n- `/messages` pro odeslání více zpráv (až 10 zpráv najednou, každá až s 10 příjemci)\n- `/simple/message` pro odeslání jednoduché zprávy (GET a POST)\n"
    }
  ]
}