EditTemplate#
Используйте этот метод для редактирования шаблона, используя идентификатор существующего шаблона.
Запрос#
Для для редактирования шаблона, используя идентификатор существующего шаблона требуется выполнить запрос по адресу:
POST {{apiUrl}}/waInstance{{idInstance}}/editTemplate/{{apiTokenInstance}}
Для получения параметров запроса idInstance
, apiTokenInstance
и apiUrl
обратитесь к разделу Перед началом работы.
Параметры запроса#
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
templateId | string | Да | Индетификатор ранее созданного, существующего шаблона. Используйте метод GetTemplates чтобы узнать id |
templateParams | object | Да | Объект со списком параметров, которые следует изменить |
Параметры объекта templateParams
#
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
content | string | Да* | Тело шаблона. Лимит символов 1028. * Для шаблона категории AUTHENTICATION не является обязательным. При отсутствии поля в запросе автоматически будет применено значение Ваш код подтверждения: *{{1}}* |
templateType | string | Нет | Тип шаблона: TEXT , IMAGE , VIDEO , DOCUMENT |
example | string | Да* | Ваш текст с подставленными примерами значений переменных вместо параметров в методе SendTemplates * Для шаблона категории AUTHENTICATION не является обязательным. При отсутствии поля в запросе автоматически будет применено значение Ваш код подтверждения: *1234* |
enableSample | boolean | Нет | Параметр, который требуется для создания всех типов шаблонов. |
header | string | Нет | Заголовок шаблона. Применимо для templateType = Text . Лимит символов: 60. |
exampleHeader | string | Нет* | Пример текста заголовка шаблона. Неприменимо для типа шаблона: CATALOG . Используйте в exampleHeader только строчные буквы, так как использование заглавных букв приводит к ошибке. * При использовании поля header в запросе поле является обязательным |
footer | string | Нет | Нижний колонтитул шаблона. Лимит символов: 60 |
buttons | array | Нет* | Кнопки сообщения * Для шаблона категории AUTHENTICATION обязательно наличие минимум одной кнопки типа OTP . Пример параметра запроса: "buttons": "[{'type':'OTP','otp_type':'COPY_CODE'}]" |
exampleMedia | string | Нет | Используя handleId, вы можете создать и отправить шаблон вместе с образцом носителя. HandleId передается в параметре exampleMedia приложения Apply для шаблонов с примером API мультимедиа. |
mediaId | string | Нет | Media ID |
mediaUrl | string | Нет | Media URL |
category | string | Нет | Используйте в описании категорию из этих опций AUTHENTICATION , MARKETING , UTILITY . |
Поля массива 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 . Ссылка, на которую будет осуществляться переход при нажатии на кнопку |
Пример тела запроса#
{
"templateId": "f******b-6**5-4**2-b**2-5**********7",
"templateParams": {
"content": "your second 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 second ticket has been confirmed for 4 persons on date 2020-05-04.",
"enableSample": true,
"allowTemplateCategoryChange": false
}
}
Ответ#
Поля ответа#
Поле | Тип | Описание |
---|---|---|
status | string | Статус отправленного запроса |
reason | string | Причина неудачного редактирования шаблона (необязательное поле) |
Пример тела ответа#
Код успешного состояния: 200 OK.
{
"status": "success"
}
Ошибки EditTemplate#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки.
После редактирования шаблон переходит в статус Pending
и становится недоступным для редактирования до смены статуса. Шаблоны можно редактировать только в статусах Rejected
, Approved
, или Paused
.
{
"status": "failed",
"reason": "Only Rejected, Approved and Paused templates can be edited"
}
Пример кода на curl#
curl --location '{{apiUrl}}/waInstance{{idInstance}}/editTemplate/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data 'content=your ticket has been confirmed for {{1}} persons on date {{2}}.' \
--data templateType=TEXT \
--data 'example=your ticket has been confirmed for 4 persons on date 2020-05-04' \
--data enableSample=true \
--data 'header=This is the header' \
--data 'footer=This is the footer' \
--data 'buttons=[{"type":"PHONE_NUMBER","text":"Call Us","phone_number":"+xxxxxxxxxxx"},{"type":"URL","text":"Book A Demo","url":"https://Greenwaba.io/{{1}}","example":["https://Greenwaba.io/abc"]}]' \
--data 'exampleMedia=4::aW1hZ2UvcadG5n:ARYaMMMA2QvIXuQZdPjWVXTOqfoBU3n0L1Ftyg4w57yxi9nD105yQDvW2nu3-HNo9HGefxZ-Ig-HAi3YSsckwIsOEUwxSPatsxT0Niob30E63A:e:1634884682:2281283925530161:100033655335566:ARaBAxW-1L-ZRu6SMSg' \
--data mediaId=TEXT \
--data mediaUrl=TEXT \
--data category=AUTHENTICATION