Preskočiť na obsah

API brány na posielanie správ

Jedno API pre všetky kanály správ

Posielajte správy cez WhatsApp Business, SMS, Telegram, Messenger, Instagram a TikTok jediným endpointom REST. Predplatené, s účtovaním za odchádzajúcu správu, s webhookmi o doručení a testovacím režimom.

Od
0,0003 $
za odchádzajúcu správu
Pri registrácii
100
správ zadarmo
Záväzok
Žiadny
predplatené, bez zmluvy
curl https://api.omnimessage.co/v1/messages \
  -H "Authorization: Bearer om_live_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-1042-shipped" \
  -d '{
    "channel": "ch_7Hq2mN5vB8cX1zL0pK3j",
    "to": "+971501234567",
    "type": "text",
    "text": { "body": "Your order #1042 has shipped." },
    "reference": "order-1042"
  }'
202 Accepted
{
  "id": "msg_2b1Xw9aQ3rT8yU0pL4kZ",
  "object": "message",
  "mode": "live",
  "channel_id": "ch_7Hq2mN5vB8cX1zL0pK3j",
  "channel_type": "whatsapp",
  "direction": "outbound",
  "to": "+971501234567",
  "from": "+971800123456",
  "type": "text",
  "content": {
    "text": { "body": "Your order #1042 has shipped." }
  },
  "status": "queued",
  "error": null,
  "reference": "order-1042",
  "metadata": {},
  "billing": {
    "source": "wallet",
    "amount_micros": 1000,
    "package_grant_id": null,
    "refunded": false
  },
  "created_at": "2026-10-05T09:30:00.000Z",
  "sent_at": null,
  "delivered_at": null,
  "read_at": null,
  "failed_at": null
}
  • Typy kanálov7 za jedným endpointom
  • Typy správ9, od textu po interaktívne zoznamy
  • Cena od0,0003 $ za odchádzajúcu správu
  • Limit požiadaviek100 požiadaviek za sekundu na kľúč
  • Veľkosť dávkyAž 100 správ v jednej požiadavke
  • Opakovania webhookov8, s odstupom od 30 sekúnd do 24 hodín
  • Okno idempotencie24 hodín
  • Testovací režimZadarmo, bez potreby kanála
  • Neúspešné správyVracajú sa automaticky
  • Prichádzajúce správyZadarmo

Ako to funguje

Od registrácie po doručenú správu v štyroch krokoch

Žiadny hovor s obchodníkom ani minimálny záväzok. Prvé volanie API v testovacom režime môžete urobiť minútu po vytvorení účtu.

  1. Krok 01

    Vytvorte si účet

    Zaregistrujte sa, overte svoj e-mail a v konzole vytvorte kľúč API. Testovacie kľúče fungujú okamžite, ešte pred pripojením akéhokoľvek kanála.

  2. Krok 02

    Pripojte kanál

    V konzole sa prihláste cez Facebook alebo TikTok a pripojte číslo WhatsApp, stránku alebo firemný účet. Bota Telegramu alebo číslo Twilio pridajte pomocou prístupových údajov, v konzole alebo volaním POST /v1/channels.

  3. Krok 03

    Odosielajte cez jeden endpoint

    POST /v1/messages prijíma ID kanála, príjemcu a typovaný objekt s obsahom. Tvar požiadavky je na každom kanáli rovnaký.

  4. Krok 04

    Sledujte každé doručenie

    Podpísané webhooky hlásia stavy odoslaná, doručená, prečítaná a neúspešná. Rovnakú históriu nájdete v konzole aj cez GET /v1/messages.

Typy správ

Čo pošlete, to príjemca uvidí

Každá správa má typ a objekt s obsahom pod kľúčom daného typu. Vyberte si niektorý a uvidíte telo požiadavky vedľa správy, ktorú vytvorí.

POST /v1/messages
{
  "channel": "ch_7Hq2mN5vB8cX1zL0pK3j",
  "to": "+971501234567",
  "type": "text",
  "text": {
    "body": "Vaša objednávka #1042 bola odoslaná. Sledujte ju na https://example.com/t/1042",
    "preview_url": true
  },
  "reference": "order-1042"
}

Obyčajný text, ktorý prijíma každý typ kanála. Ak má kanál vykresliť náhľad odkazu, nastavte preview_url.

KanályWhatsApp Business, SMS, SMS OTP, Telegram, Messenger, Instagram a TikTok

Konzola

Konzola na všetko, čo nie je kód

Vytvárajte kľúče, pripájajte kanály, prehľadávajte záznam správ, opakujte doručenia webhookov a spravujte fakturáciu. Všetko, čo zobrazuje konzola, je dostupné aj cez API.

Prehľad. Zostatok v peňaženke, zostávajúce kredity z balíkov a objem odchádzajúcich správ za posledných 30 dní, podľa účtu a režimu. Obrazovky na tejto stránke sú vykreslené s ukážkovými údajmi.
Záznam správ. Filtrujte podľa kanála, stavu, príjemcu alebo vlastnej referencie a otvorte ľubovoľnú správu, aby ste videli históriu jej stavov a to, čo sa za ňu účtovalo.
Fakturácia. Dobíjajte peňaženku, kupujte balíky, nastavte automatické dobíjanie a sťahujte potvrdenia o platbe. Pri kreditoch z balíkov vidíte, koľko zostáva a dokedy platia.

Cenník

Plaťte za správu alebo kupujte správy vo veľkom

Dobite si predplatenú peňaženku od 10 $ a plaťte cenu za správu podľa kanála, alebo si kúpte balík kreditov na správy pre väčšie objemy na kanáloch s najvyššou cenou.

10 tis. správ

8 $

0,0008 $ za správu

  • 10 000 odchádzajúcich správ
  • Platí 3 mesiace od nákupu
  • Platí pre každý typ kanála
Začať s balíkom 10 tis.

100 tis. správ

Odporúčaný

60 $

0,0006 $ za správu

  • 100 000 odchádzajúcich správ
  • Platí 6 mesiacov od nákupu
  • Platí pre každý typ kanála
Začať s balíkom 100 tis.

1 mil. správ

400 $

0,0004 $ za správu

  • 1 000 000 odchádzajúcich správ
  • Platí 12 mesiacov od nákupu
  • Platí pre každý typ kanála
Začať s balíkom 1 mil.

Priebežná platba

Cena priebežnej platby za odchádzajúcu správu podľa typu kanála, v amerických dolároch
KanálZa správu
WhatsApp Business0,001 $
Telegram0,0003 $
SMS0,0005 $
SMS OTP0,0005 $
Messenger0,0005 $
Instagram0,0005 $
TikTok0,0005 $

Čo cena zahŕňa

  • Účtuje saOdchádzajúce správy prijaté rozhraním API, v okamihu ich prijatia.
  • ZadarmoPrichádzajúce správy, správy v testovacom režime, webhooky a konzola.
  • Vracia saKaždá správa, ktorá skončí ako neúspešná, späť do balíka alebo peňaženky, z ktorých bola uhradená.
  • OsobitnePoplatky, ktoré si za samotný kanál účtuje Meta, operátori alebo iní poskytovatelia.

Pre vývojárov

Navrhnuté tak, aby ste integrovali raz a viac to neriešili

Podpísané webhooky, bezpečné opakovania, sandbox, ktorý sa správa ako produkcia, a chyby, podľa ktorých sa dá vetviť kód.

Webhooky, ktoré si overíte

Každé doručenie je podpísané algoritmom HMAC-SHA256 nad časovou pečiatkou a surovým telom, v hlavičke OmniMessage-Signature. Odpovedzte ľubovoľným stavom 2xx do 10 sekúnd. Neúspešné doručenia sa opakujú osemkrát s narastajúcim odstupom, od 30 sekúnd do 24 hodín.

verify-signature.js
import { createHmac, timingSafeEqual } from 'node:crypto';

// header is "t=<unix seconds>,v1=<hex hmac-sha256>"
export function verifySignature(rawBody, header, secret) {
  const parts = header.split(',').map((part) => part.split('='));
  const { t, v1 = '' } = Object.fromEntries(parts);

  const expected = createHmac('sha256', secret)
    .update(`${t}.${rawBody}`)
    .digest('hex');

  const fresh = Math.abs(Date.now() / 1000 - Number(t)) < 300;
  const matches =
    v1.length === expected.length &&
    timingSafeEqual(Buffer.from(v1), Buffer.from(expected));

  return fresh && matches;
}
Udalosť message.delivered
{
  "id": "evt_8Kd2pQ7wN4xB1zR6mT3c",
  "object": "event",
  "type": "message.delivered",
  "mode": "live",
  "created_at": "2026-10-05T09:30:02.900Z",
  "data": {
    "object": {
      "id": "msg_2b1Xw9aQ3rT8yU0pL4kZ",
      "object": "message",
      "status": "delivered",
      "reference": "order-1042",
      "delivered_at": "2026-10-05T09:30:02.871Z"
    }
  }
}

Testovací režim, ktorý nič nestojí

Testovacie kľúče používajú vstavané sandboxové kanály, takže netreba nič pripájať. O simulovanom výsledku rozhodujú posledné číslice príjemcu a vaše webhooky sa spúšťajú rovnako ako v produkcii.

Požiadavka v sandboxe, skončí ako prečítaná
curl https://api.omnimessage.co/v1/messages \
  -H "Authorization: Bearer om_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "channel": "ch_test_whatsapp",
    "to": "+971501230002",
    "type": "text",
    "text": { "body": "Hello from the sandbox" }
  }'

Chyby s typom a kódom

Každá odpoveď mimo 2xx má rovnaké telo: type pre triedu zlyhania, stabilný code, podľa ktorého môžete vetviť kód, problematický param, ak existuje, a request_id pre podporu.

402 Payment Required
{
  "error": {
    "type": "billing_error",
    "code": "insufficient_balance",
    "message": "Not enough wallet balance or package credits.",
    "request_id": "req_5Vn1cH8jL3qW6yD9sF2k",
    "doc_url": "https://omnimessage.co/docs/errors#insufficient_balance"
  }
}
  • Idempotentné požiadavky POST

    Pošlite hlavičku Idempotency-Key a opakovaná požiadavka do 24 hodín vráti uloženú odpoveď s Idempotent-Replayed: true, bez dvojitého odoslania či účtovania.

  • Predvídateľné limity

    100 požiadaviek za sekundu na kľúč pri POST /v1/messages, inde 20. Každá odpoveď obsahuje RateLimit-Remaining a odpoveď 429 obsahuje Retry-After.

  • Dávkové odosielanie

    POST /v1/messages/batch prijíma až 100 správ. Každá položka sa prijíma, odmieta a účtuje samostatne a odpoveď 207 ich uvádza podľa indexu.

  • Kľúče s obmedzeným rozsahom

    Každému kľúču dajte iba rozsahy, ktoré potrebuje, napríklad messages:write alebo billing:read, a obmedzte ho zoznamom povolených adries IP.

Otázky

Skôr než začnete integrovať

Krátke odpovede. Tie dlhé nájdete v dokumentácii.

Potrebujem vlastné číslo WhatsApp, bota alebo číslo SMS?

Áno. OmniMessage je brána, do ktorej si prinášate vlastné kanály: pripojíte svoje číslo WhatsApp Cloud API, bota Telegramu, číslo Twilio alebo účet na sociálnej sieti a zostávate jeho vlastníkom. Na stránke o kanáloch nájdete, čo jednotlivé typy vyžadujú.

Za čo presne platím?

Jeden poplatok za každú odchádzajúcu správu, ktorú API prijme: kredit z balíka, ak ho máte, inak cena za správu pre daný typ kanála z vašej peňaženky. Prichádzajúce správy a správy v testovacom režime sú zadarmo a správa, ktorá skončí ako neúspešná, sa automaticky vracia.

Sú v cene poplatky spoločnosti Meta, operátorov alebo poskytovateľov?

Nie. Poplatok za bránu pokrýva API, sledovanie doručenia, webhooky a konzolu. Poplatky, ktoré si za samotný kanál účtuje Meta, Twilio alebo iný poskytovateľ, zostávajú medzi vami a týmto poskytovateľom.

Ako môžem testovať bez posielania skutočných správ?

Použite kľúč, ktorý sa začína na om_test_. Každý účet má pre každý typ jeden sandboxový kanál, napríklad ch_test_whatsapp. Nič sa nedoručuje ani neúčtuje a stavy sú simulované: príjemca končiaci na 0000 zlyhá, 0001 zostane v stave odoslaná, 0002 sa aj prečíta a všetko ostatné sa doručí približne do dvoch sekúnd.

Čo sa stane, keď sa mi minie zostatok?

API odpovie 402 insufficient_balance a nič sa nezaradí do frontu, takže vám nikdy dodatočne nevznikne dlh. Môžete sa prihlásiť na odber udalosti balance.low alebo zapnúť automatické dobíjanie, ktoré peňaženku dobije, keď zostatok klesne pod prahovú hodnotu, ktorú si zvolíte.

Potrebujem SDK?

Nie. API je JSON cez HTTPS s overovaním tokenom typu bearer, takže funguje ľubovoľný klient HTTP. V dokumentácii sú príklady pre cURL, Node, Python a PHP.

Pošlite prvú správu v testovacom režime ešte dnes

Vytvorte si účet, skopírujte testovací kľúč a zavolajte API skôr, než pripojíte čo i len jeden kanál. Každý nový účet získa na začiatok 100 správ zadarmo.