Хабарлама шаблондары
Gateway API арқылы ресми WABA шаблонын құру: POST /templates/. name тек кіші латын әріптері, цифрлар және астыңғы сызықтан тұрады [a-z0-9_]. body_text міндетті, header_text және footer_text міндетті емес; channel_id сұрау денесінде беріледі. Жауапта PENDING күйі қайтады. Meta шешімі (APPROVED немесе REJECTED) кейін templates ағынымен не келесі GET /templates/ сұрауымен келеді:
curl -X POST https://dialogs.tehprof.kz/api/v1/gw/templates/ \
-H "Authorization: Bearer gw_xxx" \
-H "Content-Type: application/json" \
-d '{
"channel_id": 32,
"name": "order_shipped",
"language": "ru",
"category": "UTILITY",
"body_text": "Заказ {{1}} отправлен, курьер {{2}}.",
"footer_text": "TehProf.kz"
}'
201 { "template_id": "123", "status": "PENDING" }Шаблондар тізімі: GET /templates/?channel_id=. Тізім синхрондалған деректерден беріледі, Meta-ға тікелей сұрау жасалмайды. status мәндері: APPROVED, PENDING, REJECTED, PAUSED немесе DISABLED. template арқылы тек APPROVED шаблонын жіберуге болады:
curl "https://dialogs.tehprof.kz/api/v1/gw/templates/?channel_id=32" \
-H "Authorization: Bearer gw_xxx"
{
"templates": [
{
"template_id": "123",
"name": "order_shipped",
"language": "ru",
"status": "APPROVED",
"category": "UTILITY",
"rejection_reason": "",
"quality_rating": "GREEN",
"components": [ { "type": "BODY", "text": "Заказ {{1}} отправлен, курьер {{2}}." } ]
}
]
}Шаблонды өзгерту: PATCH /templates/<id>/. Meta components құрамын толық ауыстырады. body_text берілмей, тек header_text немесе footer_text берілсе, мәтін өзгермейді. body_text беріліп, header_text пен footer_text берілмесе, бұрынғы HEADER және FOOTER өшеді. Сондықтан мәтінді өзгерткенде үш өрісті де бірге жіберіңіз. name және language өзгертілмейді. Өзгеріс қайта тексеруге жіберіледі; шешімі templates ағынымен келеді. channel_id сұрау денесінде беріледі:
curl -X PATCH https://dialogs.tehprof.kz/api/v1/gw/templates/123/ \
-H "Authorization: Bearer gw_xxx" \
-H "Content-Type: application/json" \
-d '{
"channel_id": 32,
"body_text": "Заказ {{1}} доставлен.",
"header_text": "TehProf.kz",
"footer_text": "Спасибо"
}'
200 { "template_id": "123", "status": "APPROVED" }Шаблонды жою: DELETE /templates/<id>/?channel_id=. Мұнда channel_id сұрау денесінде емес, URL параметрінде беріледі. Жауап — денесіз 204. Жойылған APPROVED шаблонының атауы 30 күн босамайды. Мәтінін өзгерту үшін жойып қайта құрмай, PATCH пайдаланыңыз:
curl -X DELETE "https://dialogs.tehprof.kz/api/v1/gw/templates/123/?channel_id=32" \
-H "Authorization: Bearer gw_xxx"
204 No ContentШаблонның жіберуге жарамдылығы: GET /templates/<id>/health/?channel_id=. Бұл сұрау Meta-дағы ағымдағы жағдайды тексереді. 201 жауабынан кейін де жіберу сәтсіз болуы мүмкін, мысалы WABA төлемі жоқ болса. Сондықтан жіберер алдында жарамдылығын тексеріңіз. can_send мәндері: available, limited немесе blocked. available болмаса, reasons өрісінде нөмір, WABA, бизнес, қолданба немесе шаблон бойынша қате мен шешім көрсетіледі:
curl "https://dialogs.tehprof.kz/api/v1/gw/templates/123/health/?channel_id=32" \
-H "Authorization: Bearer gw_xxx"
200 {
"can_send": "blocked",
"reasons": [
{
"code": "141006",
"description": "There is an error with the payment method...",
"solution": "Add a new payment method to the account.",
"entity": "WABA"
}
]
}