Перейти к содержанию

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.

* Для шаблона категории AUTHENTICATION не является обязательным.
При отсутствии поля в запросе автоматически будет применено значение Ваш код подтверждения: *{{1}}*
header string Нет Заголовок шаблона.
Применимо для templateType = Text.
Лимит символов: 60.
exampleHeader string Нет* Пример текста заголовка шаблона.
Неприменимо для типа шаблона: CATALOG.
Используйте в exampleHeader только строчные буквы, так как использование заглавных букв приводит к ошибке.

* При использовании поля header в запросе поле является обязательным
footer string Нет Нижний колонтитул шаблона. Лимит символов: 60.
buttons array Нет* Кнопки сообщения

* Для шаблона категории AUTHENTICATION обязательно наличие минимум одной кнопки типа OTP.
Пример параметра запроса: "buttons": "[{'type':'OTP','otp_type':'COPY_CODE'}]"
example string Да* Ваш текст с подставленными примерами значений переменных вместо параметров в методе SendTemplates

* Для шаблона категории AUTHENTICATION не является обязательным.
При отсутствии поля в запросе автоматически будет применено значение Ваш код подтверждения: *1234*
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

Поля массива buttons#

Параметр Тип Обязательный Описание
type string Да Тип отправляемой кнопки.
Возможные типы:
- QUICK_REPLY - позволяет отправить ответ нажатием кнопки с заготовленным текстом.
- URL - позволяет по нажатию кнопки открыть ссылку.
- PHONE_NUMBER - позволяет нажатием кнопки начать звонок.
text string Да Текст на кнопке.
Для типов QUICK_REPLY и URL максимальная длина составляет 25 символов.
Для типа PHONE_NUMBER максимальная длина составляет 20 символов.
phone_number string Нет Поле для кнопки с типом PHONE_NUMBER. Номер телефона, на который будет осуществляться звонок при нажатии на кнопку
url string Нет Поле для кнопки с типом URL. Ссылка, на которую будет осуществляться переход при нажатии на кнопку

Пример тела запроса#

Пример тела запроса создания шаблона категории MARKETING

{
    "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
}

Пример тела запроса создания шаблона категории AUTHENTICATION

{
    "elementName": "ticket_check_url_4245343",
    "languageCode": "en_US",
    "category": "AUTHENTICATION",
    "templateType": "TEXT",
    "vertical": "TEXT",
    "content": "*{{1}}* is your verification code.",
    "buttons": "buttons": "[{'type':'OTP','otp_type':'COPY_CODE'}]",
    "example": "*1234* is your verification code.",
    "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'