CreateTemplate#
Используйте этот метод для создания нового шаблона
Запрос#
Для создания нового шаблона требуется выполнить запрос по адресу:
POST {{apiUrl}}/waInstance{{idInstance}}/createTemplate/{{apiTokenInstance}}
Для получения параметров запроса idInstance
, apiTokenInstance
и apiUrl
обратитесь к разделу Перед началом работы.
Параметры запроса#
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
elementName | string | Да | Имя шаблона. Имя элемента уникально для пространства имен WABAs. |
languageCode | string | Да | Код языка для шаблона. Все коды языков смотрите в таблице ниже |
category | string | Да | Категория вашего шаблона. Введите одно из значений: AUTHENTICATION, MARKETING and UTILITY. При отправки другого значения вы получите сообщение об ошибке: failed. Invalid category provided, kindly use category from these options AUTHENTICATION,MARKETING,UTILITY . |
templateType | string | Да | Тип шаблона: TEXT , IMAGE , VIDEO , DOCUMENT . |
vertical | string | Да | Краткое описание шаблона для прохождения верификации Meta*. Лимит символов: 180 . |
content | string | Да | Тело шаблона, лимит символов 1028 . |
header | string | Нет | Заголовок шаблона. Применимо для templateType = Text. Максимальное количество символов: 60 . |
exampleHeader | string | Нет* | Неприменимо для типа шаблона: CATALOG . Используйте в exampleHeader только строчные буквы, так как использование заглавных букв приводит к ошибке. * Пример текста заголовка шаблона, обязателен при использовании поля header в запросе. |
footer | string | Нет | Нижний колонтитул шаблона. Лимит символов: 60 . |
buttons | string | Нет | Используется только в том случае, если в вашем шаблоне есть призыв к действию. Также представлен пример, если кнопка URL имеет переменный параметр. |
example | string | Да | Ваш текст с подставленными примерами значений переменных вместо параметров в методе SendTemplates |
enableSample | boolean | Нет | Параметр, который требуется для создания всех типов шаблонов. |
allowTemplateCategoryChange | boolean | Нет | Логическое значение. Если значение TRUE , WhatsApp автоматически обновит категорию шаблона в соответствии с содержимым шаблона. Значение по умолчанию — FALSE . Если категория обновляется, вы можете просмотреть old Category из GetTemplates. |
addSecurityRecommendation | boolean | Нет | Опция для категории AUTHENTICATION , к содержимому добавляет заявление об отказе от ответственности. В целях безопасности не передавайте этот код. |
codeExpirationMinutes | number | Нет | Опция для категории AUTHENTICATION , в нижний колонтитул добавляет следующий текст: Срок действия этого кода истекает через <NUM_MINUTES> минут. Срок действия кода должен составлять от 1 до 90 минут. |
Код поддерживаемых языков
Language | Code |
---|---|
Африкаанс | af |
Албанский | sq |
Арабский | ar |
Азербайджанский | az |
Бенгальский | bn |
Болгарский | bg |
Каталанский | ca |
Китайский (CHN) | zh_CN |
Китайский (HKG) | zh_HK |
Китайский (TAI) | zh_TW |
Хорватский | hr |
Чешский | cs |
Датский | da |
Голландский | nl |
Английский | en |
Английский (UK) | en_GB |
Английский (US) | en_US |
Эстонский | et |
Филиппинский | fil |
Финский | fi |
Французский | fr |
Грузинский | ka |
Немецкий | de |
греческий | el |
Гуджарати | gu |
Хауса | ha |
иврит | he |
Хинди | hi |
Венгерский | hu |
индонезийский | id |
ирландский | ga |
итальянский | it |
японский | ja |
Каннада | kn |
Казахский | kk |
Киньяруанда | rw_RW |
корейский | ko |
Кыргыз (Кыргызстан) | ky_KG |
Лаосский | lo |
латышский | lv |
Литовский | lt |
македонский | mk |
малайский | ms |
Малаялам | ml |
Маратхи | mr |
Норвежский | nb |
Персидский | fa |
польский | pl |
Португальский (BR) | pt_BR |
Португальский (POR) | pt_PT |
панджаби | pa |
Румынский | ro |
Русский | ru |
Сербский | sr |
словацкий | sk |
Словенский | sl |
испанский | es |
испанский (ARG) | es_AR |
испанский (SPA) | es_ES |
испанский (MEX) | es_MX |
Суахили | sw |
Шведский | sv |
Тамильский | ta |
Tтелугу | te |
тайский | th |
турецкий | tr |
украинский | uk |
Урду | ur |
Узбекский | uz |
вьетнамский | vi |
Зулу | zu |
Пример тела запроса#
{
"elementName": "ticket_check_url_4245343",
"languageCode": "en_US",
"category": "MARKETING",
"templateType": "TEXT",
"vertical": "TEXT",
"content": "your ticket has been confirmed for {{1}} persons on date {{2}}.",
"header": "This is the header",
"exampleHeader": "This is the header",
"footer": "This is the footer",
"buttons": "[{'type':'PHONE_NUMBER','text':'Call Us','phone_number':'+919872329959'},{'type':'URL','text':'Book A Demo','url':'https://Greenwaba.io/{{1}}','example':['https://Greenwaba.io/abc'], {'type':'QUICK_REPLY','text':'Demo Button'}]",
"example": "your ticket has been confirmed for 4 persons on date 2020-05-04.",
"enableSample": true,
"allowTemplateCategoryChange": false
}
Ответ#
Поля ответа#
Поле | Тип | Описание |
---|---|---|
template | object | Объект созданного шаблона |
Объект template#
Поле | Тип | Описание |
---|---|---|
buttonSupported | string | Типы кнопок, используемые в шаблоне. |
category | string | Категория шаблона. |
containerMeta | string | Полностью сформированный запрос, отправленный на верификацию в Meta*. |
createdOn | number | Timestamp создания шаблона (в миллисекундах). |
data | string | Поле data из шаблона, текстовое представление шаблона. |
elementName | string | Имя шаблона, заданное в теле запроса CreateTemplate . |
languageCode | string | Язык шаблона, заданный в теле запрсоа CreateTemplate . |
languagePolicy | string | Служебное поле определения языка для Meta*. |
meta | string | Поле, содержащее пример шаблона. |
modifiedOn | number | Timestamp редактирования шаблона (в миллисекундах). Равен createdOn при создании шаблона. |
namespace | string | Идентификатор аккаунта WABA. |
priority | number | Приоритет шаблону, задаваемый Meta*. |
quality | string | Служебное поле оценивания шаблона со стороны Meta*. |
retry | number | Количество повторной отправки шаблона на верификацию в Meta*. |
stage | string | Служебное поле стадии обработки запроса Meta*. |
status | string | Статус верификации Meta* по шаблону. Может принимать значения: PENDING (на рассмотрении), APPROVED (шаблон верифицирован и может быть отправлен), REJECTED (шаблон не прошел верификацию, Meta считает шаблон подозрительным), FAILED (шаблон не прошел верификацию, ошибка в теле запроса. Причина указана в дополнительном поле reason), PAUSED (работа шаблона приостановлена). |
templateType | string | Тип шаблона |
vertical | string | Краткое описание шаблона для прохождения верификации Meta*. |
templateId | string | ID созданного шаблона для взаимодействия с ним. |
Пример тела ответа#
Код успешного состояния: 200 OK.
{
"template": {
"appId": "****f7-***33-4**d-8f***-c***d*****",
"category": "MARKETING",
"createdOn": 1652768999707,
"data": "Hi, you Welcome to Header.\nHi, {{1}}. This is the template for header testing.\nHi, Welcome to Footer. | [call,917676767676] | [ur,https://www.fb.com]",
"elementName": "test_template12332",
"id": "f****a-f****-4**2-8***4-dc****ea",
"languageCode": "en",
"languagePolicy": "deterministic",
"master": true,
"meta": "{\"example\":\"Hi, [john]. This is the template for header testing.\"}",
"modifiedOn": 1652768999707,
"namespace": "e***3_e5**_**de_***3_20****1b",
"status": "PENDING",
"templateType": "TEXT",
"vertical": "Header",
"allowTemplateCategoryChange": "false"
}
}
Ошибки CreateTemplate#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки.
- Организация Meta, а также её продукты Instagram и Facebook, на которые мы ссылаемся в этой статье, признаны экстремистскими на территории РФ.
Пример кода на curl#
curl --location '{{apiUrl}}/waInstance{{idInstance}}/createTemplate/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data 'elementName=ticket_check_url_4245343' \
--data 'languageCode=en_US' \
--data 'category=MARKETING' \
--data 'templateType=TEXT' \
--data 'vertical=TEXT' \
--data 'content=your ticket has been confirmed for {{1}} persons on date {{2}}.' \
--data 'header=This is the header' \
--data 'exampleHeader=This is the header' \
--data 'footer=This is the footer' \
--data 'buttons=[{'type':'PHONE_NUMBER','text':'Call Us','phone_number':'+919872329959'},{'type':'URL','text':'Book A Demo','url':'https://Greenwaba.io/{{1}}','example':['https://Greenwaba.io/abc']}, {'type':'QUICK_REPLY','text':'Demo Button'}]' \
--data 'example=your ticket has been confirmed for 4 persons on date 2020-05-04.' \
--data 'enableSample=true' \
--data 'allowTemplateCategoryChange=false'