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

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'