Ziņapmaiņas vārtejas API
Viens API visiem ziņapmaiņas kanāliem
Sūtiet WhatsApp Business, SMS, Telegram, Messenger, Instagram un TikTok ziņas caur vienu REST galapunktu. Priekšapmaksa, maksa par katru izejošo ziņu, piegādes tīmekļa aizķeres un testa režīms.
- No
- 0,0003 $
- par izejošo ziņu
- Reģistrējoties
- 100
- bezmaksas ziņu
- Saistības
- Nav
- priekšapmaksa, bez līguma
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"
}'{
"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
}Kanāli
Septiņi kanālu veidi, viena pieprasījuma forma
Pievienojiet sūtītājus, kas jums jau pieder. Katrs no tiem kļūst par kanāla ID, ko nododat vienam un tam pašam galapunktam, un katrs ziņo par vieniem un tiem pašiem statusiem.
- 0,001 $WhatsApp BusinessVeidnes, interaktīvas ziņas un multivide jūsu pašu Cloud API numurā.Teksts · Pielikumi · Veidne · Atbildes pogas · Saraksts · URL poga · Atrašanās vieta · Kontaktpersonas
- 0,0005 $SMSTeksta un multivides ziņas no jūsu pašu Twilio numura.Teksts · Pielikumi
- 0,0005 $SMS OTPTikai tekstam paredzēts maršruts vienreizējām parolēm.Teksts
- 0,0003 $TelegramBota ziņas ar pogām, aptaujām, atrašanās vietām un multividi.Teksts · Pielikumi · Atbildes pogas · Atrašanās vieta · Kontaktpersonas · Aptauja
- 0,0005 $MessengerSarunas ar cilvēkiem, kas raksta jūsu Facebook lapai.Teksts · Pielikumi · Atbildes pogas
- 0,0005 $InstagramTiešās ziņas Instagram profesionālajam kontam.Teksts · Pielikumi · Atbildes pogas
- 0,0005 $TikTokTiešās ziņas TikTok uzņēmuma kontam.Teksts · Pielikumi · Atbildes pogas
- Jūsu pašu kanāliJūsu numuri un boti paliek jūsuSkatiet, kas vajadzīgs katram kanālam
Kā tas darbojas
No reģistrācijas līdz piegādātai ziņai četros soļos
Nav ne pārdošanas zvanu, ne minimālo saistību. Pirmo API izsaukumu testa režīmā varat veikt minūti pēc konta izveides.
- 01. solis
Izveidojiet kontu
Reģistrējieties, apstipriniet savu e-pastu un konsolē izveidojiet API atslēgu. Testa atslēgas darbojas uzreiz, vēl pirms pievienots kaut viens kanāls.
- 02. solis
Pievienojiet kanālu
Lai pievienotu WhatsApp numuru, lapu vai uzņēmuma kontu, konsolē pierakstieties ar Facebook vai TikTok. Telegram botu vai Twilio numuru pievienojiet ar tā akreditācijas datiem – konsolē vai ar
POST /v1/channels. - 03. solis
Sūtiet caur vienu galapunktu
POST /v1/messagessaņem kanāla ID, saņēmēju un tipizētu satura objektu. Pieprasījuma forma visos kanālos ir vienāda. - 04. solis
Izsekojiet katru piegādi
Parakstītas tīmekļa aizķeres ziņo par statusiem – nosūtīta, piegādāta, izlasīta un neizdevās. Tā pati vēsture ir pieejama konsolē un ar
GET /v1/messages.
Ziņu veidi
Ko nosūtāt, to saņēmējs arī redz
Katrai ziņai ir veids un satura objekts zem šī veida atslēgas. Izvēlieties kādu, lai redzētu pieprasījuma pamattekstu līdzās ziņai, ko tas izveido.
{
"channel": "ch_7Hq2mN5vB8cX1zL0pK3j",
"to": "+971501234567",
"type": "text",
"text": {
"body": "Jūsu pasūtījums #1042 ir izsūtīts. Sekojiet tam šeit: https://example.com/t/1042",
"preview_url": true
},
"reference": "order-1042"
}Vienkāršs teksts, ko pieņem visi kanālu veidi. Iestatiet preview_url, lai kanāls attēlotu saites priekšskatījumu.
KanāliWhatsApp Business, SMS, SMS OTP, Telegram, Messenger, Instagram un TikTok
Konsole
Konsole visam, kas nav kods
Veidojiet atslēgas, pievienojiet kanālus, meklējiet ziņu žurnālā, atkārtojiet tīmekļa aizķeru piegādes un pārvaldiet norēķinus. Viss, ko rāda konsole, ir pieejams arī ar API.
Cenas
Maksājiet par katru ziņu vai pērciet ziņas vairumā
Papildiniet priekšapmaksas maku, sākot no 10 $, un maksājiet katra kanāla cenu par ziņu vai pērciet ziņu kredītu paketi lielam apjomam savos dārgākajos kanālos.
10 tūkst. ziņu
8 $
0,0008 $ par ziņu
- Izejošās ziņas: 10 000
- Derīga 3 mēnešus no iegādes brīža
- Derīga visos kanālu veidos
100 tūkst. ziņu
Ieteicamā60 $
0,0006 $ par ziņu
- Izejošās ziņas: 100 000
- Derīga 6 mēnešus no iegādes brīža
- Derīga visos kanālu veidos
1 milj. ziņu
400 $
0,0004 $ par ziņu
- Izejošās ziņas: 1 000 000
- Derīga 12 mēnešu no iegādes brīža
- Derīga visos kanālu veidos
Maksa pēc patēriņa
| Kanāls | Par ziņu |
|---|---|
| WhatsApp Business | 0,001 $ |
| SMS | 0,0005 $ |
| SMS OTP | 0,0005 $ |
| Telegram | 0,0003 $ |
| Messenger | 0,0005 $ |
| 0,0005 $ | |
| TikTok | 0,0005 $ |
Kas iekļauts cenā
- Par maksuIzejošās ziņas, ko API pieņēmis, – brīdī, kad tās tiek pieņemtas.
- Bez maksasIenākošās ziņas, testa režīma ziņas, tīmekļa aizķeres un konsole.
- Tiek atmaksātsJebkura ziņa, kuras galīgais statuss ir „neizdevās”, – atpakaļ paketē vai makā, no kura par to samaksāts.
- AtsevišķiMaksas, ko par pašu kanālu iekasē Meta, operatori vai citi pakalpojumu sniedzēji.
Izstrādātāju pieredze
Veidots, lai integrētu vienreiz un par to vairs nedomātu
Parakstītas tīmekļa aizķeres, droši atkārtoti mēģinājumi, smilškaste, kas uzvedas kā produkcijas vide, un kļūdas, pēc kurām var sazarot kodu.
Pārbaudāmas tīmekļa aizķeres
Katra piegāde ir parakstīta ar HMAC-SHA256 no laikspiedola un neapstrādāta pamatteksta; paraksts ir galvenē OmniMessage-Signature. Atbildiet ar jebkuru 2xx kodu 10 sekunžu laikā. Neizdevušās piegādes tiek atkārtotas astoņas reizes ar pieaugošu intervālu – no 30 sekundēm līdz 24 stundām.
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;
}{
"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"
}
}
}Testa režīms, kas neko nemaksā
Testa atslēgas izmanto iebūvētus smilškastes kanālus, tāpēc nekas nav jāpievieno. Saņēmēja pēdējie cipari nosaka simulēto iznākumu, un jūsu tīmekļa aizķeres tiek izsauktas tāpat kā produkcijas vidē.
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" }
}'Kļūdas ar tipu un kodu
Katrai atbildei, kas nav 2xx, ir vienāds pamatteksts: type – kļūmes klase, stabils code, pēc kura sazarot kodu, kļūdainais param, ja tāds ir, un request_id atbalsta dienestam.
{
"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"
}
}Idempotenti POST pieprasījumi
Nosūtiet galveni
Idempotency-Key, un atkārtots mēģinājums 24 stundu laikā atgriezīs saglabāto atbildi arIdempotent-Replayed: true– ziņa netiks ne nosūtīta, ne apmaksāta divreiz.Paredzami limiti
100 pieprasījumi sekundē katrai atslēgai galapunktā
POST /v1/messages, 20 – pārējos. Katrā atbildē irRateLimit-Remaining, un atbildē ar kodu 429 –Retry-After.Pakešsūtīšana
POST /v1/messages/batchpieņem līdz 100 ziņām. Katrs vienums tiek pieņemts, noraidīts un apmaksāts atsevišķi, un atbilde ar kodu 207 par tiem ziņo pēc indeksa.Atslēgas ar tvērumiem
Piešķiriet katrai atslēgai tikai tai vajadzīgos tvērumus, piemēram,
messages:writevaibilling:read, un ierobežojiet to ar atļauto IP adrešu sarakstu.
Jautājumi
Pirms integrācijas
Īsās atbildes. Garās ir dokumentācijā.
Vai man vajadzīgs savs WhatsApp numurs, bots vai SMS numurs?
Jā. OmniMessage ir vārteja, kurā izmantojat paši savus kanālus: jūs pievienojat savu WhatsApp Cloud API numuru, Telegram botu, Twilio numuru vai sociālā tīkla kontu, un tas joprojām pieder jums. Kanālu lapā ir norādīts, kas vajadzīgs katram veidam.
Par ko tieši man jāmaksā?
Viena maksa par katru izejošo ziņu, ko API pieņem: paketes kredīts, ja jums tāds ir, citādi – kanāla veida cena par ziņu no jūsu maka. Ienākošās ziņas un testa režīma ziņas ir bez maksas, un par ziņu, kuras galīgais statuss ir „neizdevās”, maksa tiek atmaksāta automātiski.
Vai Meta, operatoru vai pakalpojumu sniedzēju maksas ir iekļautas?
Nē. Vārtejas maksa sedz API, piegādes izsekošanu, tīmekļa aizķeres un konsoli. Maksas, ko par pašu kanālu iekasē Meta, Twilio vai cits pakalpojumu sniedzējs, paliek starp jums un šo pakalpojumu sniedzēju.
Kā testēt, nesūtot īstas ziņas?
Izmantojiet atslēgu, kas sākas ar om_test_. Katram kontam ir pa vienam smilškastes kanālam katram veidam, piemēram, ch_test_whatsapp. Nekas netiek piegādāts, par to nav jāmaksā, un statusi tiek simulēti: ziņa saņēmējam, kura numurs beidzas ar 0000, neizdodas, ar 0001 – paliek statusā „nosūtīta”, ar 0002 – tiek arī izlasīta, bet visas pārējās tiek piegādātas aptuveni divu sekunžu laikā.
Kas notiek, kad mans atlikums ir iztērēts?
API atbild ar 402 insufficient_balance, un nekas netiek ievietots rindā, tāpēc jums nekad neveidojas parāds. Varat abonēt notikumu balance.low vai ieslēgt automātisko papildināšanu, lai maks tiktu papildināts, kad atlikums nokrītas zem jūsu izvēlēta sliekšņa.
Vai man vajadzīgs SDK?
Nē. API ir JSON, izmantojot HTTPS, ar „bearer” autentifikāciju, tāpēc der jebkurš HTTP klients. Dokumentācijā ir piemēri cURL, Node, Python un PHP.
Nosūtiet pirmo ziņu testa režīmā jau šodien
Izveidojiet kontu, nokopējiet testa atslēgu un izsauciet API, vēl pirms esat pievienojis kaut vienu kanālu. Katrs jauns konts sākumā saņem 100 bezmaksas ziņu.