Zpracování doručenek při hromadném odesílání zpráv
Intro
Narozdíl od párování ID zprávy na přijatou doručenku u běžného odesílání zpráv, kde přímo v odpovědi získáváte ID zprávy, které je shodné s ID zprávy v odpovědi na požadavek, u zpracování doručenek při hromadném odesílání zpráv tento proces složitější.
Pokud odešlete na endpoint /messages
pole objektů, tak odpovědí je vždy status jednotlivého objektu, nikoliv všech příjemců v celém požadavku.
Pokud např. odešlete požadavek na /messages
s polem dvou objektů, kde každý objekt obsahuje dále 2 příjemce, tak odpověď bude pole obsahující ID pouze 2 požadavků (nikoliv 4 pro všechny zprávy).
Protože je tento způsob zasílání zpráv složitější na rekonstrukci výsledku odesílání, doporučujeme jej využít pouze v případě, že nedostačuje rychlost a propustnost běžného řešení.
Příklad požadavku
[
{
"body": "Text zprávy",
"to": [
{
"phone_number": "420777777771"
},
{
"phone_number": "420777777772"
}
]
},
{
"body": "Text zprávy2",
"to": [
{
"phone_number": "420777777773"
},
{
"phone_number": "420777777774"
}
]
}
]
Příklad odpovědi
{
"request_id": "db013db1-d1e7-47e6-92d1-0f894a6ba9d5",
"accepted": [
{
"key": "0",
"message_id": "bbc1d463-8a68-4215-89ea-643344fb7ee1"
},
{
"key": "1",
"message_id": "f364c170-6aae-411e-9f3d-1713b14eb2d8"
}
],
"rejected": []
}
Vysvětlení
Součástí odpovědi již není identifikátor odpovídající každé z až 100 zpráv (v tomto příkladu 4).
Hodnota message_id
a odpovídá jednomu celému požadavku, který byl v tomto příkladě celý správně přijat ke zpracování.
Nicméně doručenky budou na nastavenou adresu callback URL odesílány po jednotlivých příjemcích.
Generování ID zprávy
Proto, abyste byli schopni správě spárovat doručenky s původním požadavkem, je nutné si na své straně zaznamenat původní pořadí příjemců v poli to
a přiřadit tento klíč (ve smyslu indexu, tedy číslo od nuly) k message_id
v rámci konkrétního objektu odděleného pomocí -
a tím si toto ID sestavit.
Doručenky pro tyto 4 příjemce z příkladu budou tedy obsahovat následující identifikátory:
bbc1d463-8a68-4215-89ea-643344fb7ee1-0
bbc1d463-8a68-4215-89ea-643344fb7ee1-1
f364c170-6aae-411e-9f3d-1713b14eb2d8-0
f364c170-6aae-411e-9f3d-1713b14eb2d8-1