Документация Whatsapp Business API (2.39)

Download OpenAPI specification:Download

E-mail: hello@1msg.io

1MSG.IO идеальный инструмент для управления WhatsApp аккаунтом вашего бизнеса. С нами вы получаете полный доступ к официальному Whatsapp API/webhooks.

Каждый API запрос должен содержать Authorize HTTP header с токеном. Токен вашего канала можно найти в проекте канала на странице вашего профиля. Пожалуйста, не передавайте токен никому и не публикуйте его.

Токен авторизации должен добавляться к каждому запросу в GET параметре ‘token’ и всегда передаваться в query string (?token={your_token}). Параметры в GET запросах передавайте через query string. Параметры в POST запросах — через через JSON-encoded тело запроса.

Все ‘send’ методы (кроме /sendTemplate) работают только тогда, когда открыта диалоговая сессия с пользователем. Некоторые наши решения помогают упростить и избежать таких ограничений. Пожалуйста, будьте внимательны к этому нюансу.

Обновления от 20 мая 2024 (все изменения актуальны для версии Cloud API):

  • добавлена ссылка на цитируемое сообщение (quotedMsgId) в методы: sendMessage, sendButton, sendLocation, sendFile, sendLocation, sendContact.
  • добавлено описание на создание новых шаблонов Карусель и Каталог в метод /addTemplate.
  • добавлено описание на отправку новых шаблонов Карусель и Каталог в метод /sendTemplate.

-

-

Реферальная программа:

Реферальная программа для сервисов, разработчиков и интеграторов. Подробности и условия участия в программе можно узнать здесь.

Канал

Управляйте своим каналом WhatsApp Business API.

Получение информации о профиле

Используйте этот метод, чтобы получить информацию о вашем профиле

Authorizations:
token

Responses

Response samples

Content type
application/json
{
  • "about": "Some about info",
  • "address": "Neverland, Unexpected st.",
  • "description": "Some company description",
  • "email": "john@neverland.play",
  • "phone": "78005553535",
  • "vertical": "Other",
}

Изменить данные о пользователе

Изменить данные о пользователе

Authorizations:
token
Request Body schema:
about
string

Раздел Описание.

address
string

Адрес компании

description
string

Описание. Максимум 256 символов

email
string

Email

phone
string

Связанный номер телефона

vertical
string
Enum: "Automotive" "Beauty, Spa and Salon" "Clothing and Apparel" "Education" "Entertainment" "Event Planning and Service" "Finance and Banking" "Food and Grocery" "Public Service" "Hotel and Lodging" "Medical and Health" "Non-profit" "Professional Services" "Shopping and Retail" "Travel and Transportation" "Restaurant" "Other"

Industry of the business

photo
string

Ссылка на файл, например https://...

Или файл в base64, например data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ...

Или файл в поле формы

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "result": "success"
}

Получить статистику Канала

Получить статистику использования Канала

Authorizations:
token
query Parameters
date
string
Example: date=03.2023

Дата и год в формате mm.YYYY.

Responses

Response samples

Content type
application/json
{
  • "date": "03.2022",
  • "templates_cost": 400.0313
}

Получить расширенную статистику Канала

Получить расширенную статистику использования Канала

Authorizations:
token

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Получить Статус

Возвращает статус вашего клиента WhatsApp Business API. Статусы Каналов:

connected/connecting - все в порядке.

disconnected - Coreapp не подключен к серверам WhatsApp.

uninitialized - возможно, приложение находится в процессе обновления или инициализации схемы базы данных. Повторите попытку через несколько минут и обратитесь в службу поддержки, если вы по-прежнему видите этот статус.

unregistered - вам необходимо зарегистрировать клиент WhatsApp Business API. Либо вы были заблокированы, и вам необходимо предпринять какие-либо действия (Обратиться в Службу поддержки)

Authorizations:
token

Responses

Response samples

Content type
application/json
{
  • "status": "connected"
}

Получить Настройки

webhookUrl - http или https URL для получения оповещений.

Authorizations:
token

Responses

Response samples

Content type
application/json

Установить настройки

webhookUrl - http или https URL для получения уведомлений.

Authorizations:
token
Request Body schema:
webhookUrl
string or null

Responses

Request samples

Content type
{ }

Response samples

Content type
application/json
{}

Получить IP-адрес канала

Authorizations:
token

Responses

Response samples

Content type
application/json
{
  • "result": "213.74.84.72"
}

Webhooks

Как настроить webhooks для WhatsApp Business API

Установить Webhook

Устанавливает URL для получения webhook уведомлений о новых сообщениях и статусах доставки исходящих сообщений (ack).

**Описание ответов от API во вкладке "Callbacks" **

Authorizations:
token
Request Body schema:
webhookUrl
required
string

http или https URL для получения оповещений. Для тестирования рекомендуем использовать наш RequestBin.

Responses

Callbacks

Request samples

Content type
No sample

Response samples

Content type
application/json
{}

Callback payload samples

Callback
Content type
application/json
{
  • "messages": [
    ]
}

Проверка полученных ACKs

Authorizations:
token
query Parameters
messageId
required
string
Example: messageId=0XzkmGNn4prUAQlzsHApGNRXQ0U

Идентификатор Сообщения. Пример: 0XzkmGNn4prUAQlzsHApGNRXQ0U

Responses

Response samples

Content type
application/json
{
  • "hooks": [
    ]
}

Обмен сообщениями

Как отправлять и принимать сообщения с помощью WhatsApp Business API

Отправить Список сообщений

Отправка списка опций в существующий чат (только с открытым диалоговым окном). Нужен только один из двух параметров для определения адресата - chatId или phone.

Authorizations:
token
Request Body schema:
body
required
string

Основной текст сообщения

header
string

Текст, который будет расположен над текстом сообщения

footer
string

Текст, который будет расположен под текстом сообщения

action
required
string

Подпись кнопки раскрытия списка

required
Array of objects

Массив с разделами доступных для выбора опций Не более 10.

Каждый раздел - это объект, содержащий следующие поля:

title - Заголовок раздела, не более 24 символов. Обязателен, если указано более 1 раздела

rows - доступные для выбора опции. Обязателен

Каждая опция - это объект, содержащий следующие поля:

id - Уникальный идентификатор, не более 200 символов. Обязателен

title - Заголовок опции, не более 24 символов. Обязателен

description - Описание опции, не более 72 символов

Пример:

[{"title":"Section 1","rows":[{"id":"1","title":"Option 1","description":"Description 1"}]},{"title":"Section 2","rows":[{"id":"2","title":"Option 2","description":"Description 2"}]}]

chatId
string

Обязателен если не указан phone

ID чата из списка сообщений. Пример: 12020721369@c.us . Используется вместо параметра phone.

phone
integer

Обязателен если не указан chatId

Номер телефона, начинающийся с кода страны. Для России и Казахстана это всегда 7, затем 10 цифр. Сообщения на номера телефона с 8 не будут доставлены.

Пример: "79995253422".

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "sent": true,
  • "id": "gBGGeRhGZTEfAgkJCh2wAz4ZH-8",
  • "message": "Sent to 556123122026@c.us",
  • "description": "Message has been sent to the provider"
}

Отправить Кнопки Ответа

Отправка кнопок ответа в существующий чат (только с открытым диалоговым окном). Нужен только один из двух параметров для определения адресата - chatId или phone.

Authorizations:
token
Request Body schema:
body
required
string

Основной текст сообщения

object or object or object or object
footer
string

Нижний колонтитул будет размещен под текстом сообщения.

required
Array of objects

До 3-х разделов включительно.

Каждый раздел представляет собой объект с полями:

type - всегда "reply" Обязателен

reply – объекты кнопки ответа Обязателен

Каждый ответ кнопки представляет собой объект с полями:

id - уникальный идентификатор кнопки, до 200 символов. Обязателен

title — Название кнопки, до 20 символов. Обязателен

Пример:

"sections": [{"type": "reply","reply": {"id ": "1","title": "1 Button's Title"}},{"type": "reply", "reply": {"id": "2", "title": "2 Button's Title"}}]

quotedMsgId
string

Идентификатор цитируемого сообщения (Cloud API)

chatId
string

Обязателен если не указан phone

ID чата из списка сообщений. Пример: 12020721369@c.us . Используется вместо параметра phone.

phone
integer

Обязателен если не указан chatId

Номер телефона, начинающийся с кода страны. Для России и Казахстана это всегда 7, затем 10 цифр. Сообщения на номера телефона с 8 не будут доставлены.

Пример: "79995253422".

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "sent": true,
  • "id": "gBGGeRhGZTEfAgkJCh2wAz4ZH-8",
  • "message": "Sent to 556123122026@c.us",
  • "description": "Message has been sent to the provider"
}

Отправить Запрос Локации

Отправкас сообщения запрос локации в существующий чат (только с открытым диалоговым окном). Нужен только один из двух параметров для определения адресата - chatId или phone.

Authorizations:
token
Request Body schema:
body
required
string

Текст сообщения, любая строка включая emoji 🍏. Может использоваться с "mentionedPhones", пример: "Этот текст для @78005553535"

quotedMsgId
string

Идентификатор цитируемого сообщения (Cloud API)

chatId
string

Обязателен если не указан phone

ID чата из списка сообщений. Пример: 12020721369@c.us . Используется вместо параметра phone.

phone
integer

Обязателен если не указан chatId

Номер телефона, начинающийся с кода страны. Для России и Казахстана это всегда 7, затем 10 цифр. Сообщения на номера телефона с 8 не будут доставлены.

Пример: "79995253422".

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "sent": true,
  • "id": "gBGGeRhGZTEfAgkJCh2wAz4ZH-8",
  • "message": "Sent to 556123122026@c.us",
  • "description": "Message has been sent to the provider"
}

Отправить Файл

Отправка файла в существующий чат (только с открытым диалоговым окном). Нужен только один из двух параметров для определения адресата - chatId или phone.

Кириллические символы в URL файла не поддерживаются. Чтобы корректно передать и обработать ссылку с русским текстом, следует применять кодировку URL.

Authorizations:
token
Request Body schema:
body
required
string

Ссылка на файл, например https://...

Или файл в base64, например data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ...

Или файл в поле формы

filename
required
string

Имя отправляемого файла, например 1.jpg или hello.xlsx

caption
string

Текст под файлом. При отправке изображения может использоваться с "mentionedPhones", Пример: "Изображение для @78005553535"

quotedMsgId
string

Идентификатор цитируемого сообщения (Cloud API)

chatId
string

Обязателен если не указан phone

ID чата из списка сообщений. Пример: 12020721369@c.us . Используется вместо параметра phone.

phone
integer

Обязателен если не указан chatId

Номер телефона, начинающийся с кода страны. Для России и Казахстана это всегда 7, затем 10 цифр. Сообщения на номера телефона с 8 не будут доставлены.

Пример: "79995253422".

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "sent": true,
  • "id": "gBGGeRhGZTEfAgkJCh2wAz4ZH-8",
  • "message": "Sent to 556123122026@c.us",
  • "description": "Message has been sent to the provider"
}

Отправить Сообщение

Отправка сообщения в существующий чат (только с открытым диалоговым окном). Сообщение будет добавлено в очередь на отправку и доставлено, даже если телефон отключен от интернета или не пройдена авторизация.

Нужен только один из двух параметров для определения адресата - chatId или phone.

Authorizations:
token
Request Body schema:
body
required
string

Текст сообщения, любая строка включая emoji 🍏. Может использоваться с "mentionedPhones", пример: "Этот текст для @78005553535"

quotedMsgId
string

Идентификатор цитируемого сообщения (Cloud API)

chatId
string

Обязателен если не указан phone

ID чата из списка сообщений. Пример: 12020721369@c.us . Используется вместо параметра phone.

phone
integer

Обязателен если не указан chatId

Номер телефона, начинающийся с кода страны. Для России и Казахстана это всегда 7, затем 10 цифр. Сообщения на номера телефона с 8 не будут доставлены.

Пример: "79995253422".

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "sent": true,
  • "id": "gBGGeRhGZTEfAgkJCh2wAz4ZH-8",
  • "message": "Sent to 556123122026@c.us",
  • "description": "Message has been sent to the provider"
}

Отправить Локацию

Отправка локации в существующий чат (только с открытым диалоговым окном). Нужен только один из двух параметров для определения адресата - chatId или phone.

Authorizations:
token
Request Body schema:
lat
required
string

Широта локации. Пример: 45.018337

lng
required
string

Долгота локации. Пример: -73.968285

address
string

Адрес локации. Отображается, если указано поле name. Пример: 9766 Valley View St., New York, NY 10024

name
string

Имя локации. Пример: Facebook HQ

quotedMsgId
string

Идентификатор цитируемого сообщения (Cloud API)

chatId
string

Обязателен если не указан phone

ID чата из списка сообщений. Пример: 12020721369@c.us . Используется вместо параметра phone.

phone
integer

Обязателен если не указан chatId

Номер телефона, начинающийся с кода страны. Для России и Казахстана это всегда 7, затем 10 цифр. Сообщения на номера телефона с 8 не будут доставлены.

Пример: "79995253422".

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "sent": true,
  • "id": "gBGGeRhGZTEfAgkJCh2wAz4ZH-8",
  • "message": "Sent to 556123122026@c.us",
  • "description": "Message has been sent to the provider"
}

Отправить Контакт

Отправка контакта в существующий чат (только с открытым диалоговым окном). Нужен только один из двух параметров для определения адресата - chatId или phone.

Authorizations:
token
Request Body schema:
contacts
Array of objects

Массив, содержащий объекты контактов.

Параметры объекта контакта:

name - Имя контакта. Обязательное поле. Объект с параметрами:

  • formatted_name - Полное имя, как должно отображаться. Пример: Lord Adam John Smith Junior. Вы также должны указать хотя бы один дополнительный параметр (first_name, last_name, middle_name, suffix, prefix)

  • first_name - Имя. Пример: Adam

  • last_name - Фамилия. Пример: Smith

  • middle_name - Отчество. Пример: John

  • suffix - Суффикс имени. Пример: Junior

  • prefix - Префик имени. Пример: Lord

birthday - Строка в формате YYYY-MM-DD. Пример: 2012-08-18

addresses - Массив, содержащий объекты с параметрами:

  • street - Номер и название улицы. Пример: 1 Hacker Way

  • city - Город. Пример: Menlo Park

  • state - Аббревиатура региона. Пример: CA

  • zip - Почтовый индекс. Пример: 94025

  • country - Полное название страны. Пример: United States

  • country_code - Двухбуквенный код страны. Пример: us

  • type - Одно из стандартных значений: HOME, WORK. Пример: HOME

emails - массив, содержащий объекты с параметрами:

  • email - Email адрес. Пример: test@fb.com

  • type - Одно из стандартных значений: HOME, WORK. Пример: WORK

org - объект, содержащий параметры:

  • company - Название компании контакта. Пример: WhatsApp

  • department - Название отдела контакта. Пример: Design

  • title - Должность контакта. Пример: Manager

phones - массив, содержащий объекты с параметрами:

  • phone - Автоматически заполняется значением wa_id в виде форматированного телефона. Пример: +1 (940) 555-1234

  • type - Одно из стандартных значений: CELL, MAIN, IPHONE, HOME, WORK. Пример: HOME

  • wa_id - WhatsApp ID. Пример: 19405551234

urls - массив, содержащий объекты с параметрами:

  • url - URL. Пример: https://www.facebook.com

  • type - Одно из стандартных значений: HOME, WORK. Пример: WORK

Общий пример: [{"addresses":[{"city":"Menlo Park","country":"United States","country_code":"us","state":"CA","street":"1 Hacker Way","type":"HOME","zip":"94025"},{"city":"Menlo Park","country":"United States","country_code":"us","state":"CA","street":"200 Jefferson Dr","type":"WORK","zip":"94025"}],"birthday":"2012-08-18","emails":[{"email":"test@fb.com","type":"WORK"},{"email":"test@whatsapp.com","type":"WORK"}],"name":{"first_name":"John","formatted_name":"John Smith","last_name":"Smith"},"org":{"company":"WhatsApp","department":"Design","title":"Manager"},"phones":[{"phone":"+1 (940) 555-1234","type":"HOME"},{"phone":"+1 (650) 555-1234","type":"WORK","wa_id":"16505551234"}],"urls":[{"url":"https://www.facebook.com","type":"WORK"}]}]

quotedMsgId
string

Идентификатор цитируемого сообщения (Cloud API)

chatId
string

Обязателен если не указан phone

ID чата из списка сообщений. Пример: 12020721369@c.us . Используется вместо параметра phone.

phone
integer

Обязателен если не указан chatId

Номер телефона, начинающийся с кода страны. Для России и Казахстана это всегда 7, затем 10 цифр. Сообщения на номера телефона с 8 не будут доставлены.

Пример: "79995253422".

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "sent": true,
  • "id": "gBGGeRhGZTEfAgkJCh2wAz4ZH-8",
  • "message": "Sent to 556123122026@c.us",
  • "description": "Message has been sent to the provider"
}

Получить список сообщений

По умолчанию история сообщений не сохраняется для выдачи в методе. Для включения метода отпишите в тех поддержку

Authorizations:
token
query Parameters
last
boolean
Example: last=true

Отображает последние 100 сообщений. Если передан этот параметр, то lastMessageNumber игнорируется.

lastMessageNumber
integer
Example: lastMessageNumber=100

Параметр lastMessageNumber из предыдущего запроса. Пример: 100

firstMessageNumber
integer
Example: firstMessageNumber=1

Параметр lastMessageNumber из предыдущего запроса. Пример: 1

limit
integer
Example: limit=200

Устанавливает длину списка сообщений. По умолчанию 100. При значении 0 вернет все сообщения.

chatId
string
Example: chatId=556123122026@c.us

Filter messages by chatId

Chat ID from the message list. Example: 556123122026@c.us

min_time
integer
Example: min_time=1665396610

Фильтрует сообщения по chatId

Идентификатор чата из списка сообщений. Пример: 1665396610

max_time
integer
Example: max_time=1665396610

Фильтрует сообщения, полученные после указанного времени. Пример: 1665396610

msgId
string
Example: msgId=0XzkmGNn4prUAQlzsHApGNRXQ0U

Идентификатор Сообщения. Пример: 0XzkmGNn4prUAQlzsHApGNRXQ0U

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

Отметка о прочтении сообщения

Authorizations:
token
Request Body schema:
messageId
string

ID сообщения. Пример: 0XzkmGNn4prUAQlzsHApGNRXQ0U

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "result": "success"
}

Шаблоны

Шаблон сообщения через WhatsApp Business API

Отправить Шаблонное Сообщение

Отправка шаблона в новый или существующий чат. Нужен только один из двух параметров для определения адресата - chatId или phone.

Кириллические символы в URL файла не поддерживаются. Чтобы корректно передать и обработать ссылку с русским текстом, следует применять кодировку URL.

Пример №1:

{"template":"template_name","language":{"policy":"deterministic","code":"en"},"namespace":"namespace_id","params":[{"type":"header","parameters":[{"type":"image","image": {"link":"https://..."}}]},{"type":"body","parameters":[{"type":"text","text":"test"}]}],"phone":"556123122026"}

Пример №2 - отправка шаблона 'Карусель' (доступно только на версии Cloud API):

{"template": "test_carousel", "language": {"policy": "deterministic", "code": "en_US"}, "namespace": "41123797_o98r_4f06_fi44_443b27c6f5ec","params": [{"type": "body", "parameters": [{"type": "text", "text": "b1"}, {"type": "text", "text": "b2"}]}, {"type": "CAROUSEL", "cards": [{"card_index": 0, "components": [{"type": "header", "parameters": [{"type": "video", "video": {"link": "https://test.com/video.mp4"}}]}, {"type": "button", "sub_type": "url", "index": "0", "parameters": [{"type": "text", "text": "1"}]}, {"type": "button", "sub_type": "url", "index": "1", "parameters": [{"type": "text", "text": "2"}]}, {"type": "body", "parameters": [{"type": "text", "text": "b3"}, {"type": "text", "text": "b4"}]}]}]}], "phone": "556123122026"}

Пример №3 каталог

{ "token": "jxL4WBheceYEVvMd32Hwuk2h5Cvn1qpm", "namespace": "", "template": "catalog", "language": {"policy": "deterministic","code": "en_US" }, "params": [{ "type": "button", "sub_type": "CATALOG", "index": 0, "parameters": [ {"type": "action","action": { "thumbnail_product_retailer_id": "001"} } ]},{ "type": "body", "parameters": [ {"type": "text","text": "Ознакомьтесь с продукцией нашего магазина" } ]} ], "chatId": "" }

Authorizations:
token
Request Body schema:
namespace
required
string

Можно получить в методе /templates

template
required
string

Имя шаблона

required
object

Объект, содержащий поля "policy" и "code".

policy - сейчас поддерживается только значение "deterministic";

code - один из поддерживаемых языковых кодов

Array of objects

Массив локализируемых параметров, которые будут переданы в шаблон. Каждый параметр - это объект, который может содержать следующие поля:

type - раздел параметров - header, body, footer, button, carousel

parameters - переменные для раздела.

Каждая переменная - объект, который может осдержать следующие поля:

type - тип переменной: text, currency, date_time, image, document или video

video- нужно указать id (mediaId)

document

  • id (mediaId)

  • filename(необязательное поле)

image - объект, содержащий поле link (url изображения)

currency - объект, содержащий следующие поля: currency_code и amount_1000.

  • currency_code - Код валюты по классификации ISO 4217.

  • amount_1000 - Значение, умножаемое на 1000.

  • fallback_value - Текст по умолчанию, если не удалось осуществить перевод.

date_time - Если используется, то должен соответствовать следующему формату.

  • component - Даты формируется из компонентов (т.е., день недели, месяц, час и т.д.) Указанное время будет одинаковым, независимо от часового пояса, в котором находится клиент.

  • unix_epoch - Отображаемое время зависит от часового пояса клиента.

  • fallback_value - Текст по умолчанию, если не удалось осуществить перевод.

button - если в компоненте были параметры

  • sub_type подтип кнопки (url,catalog)

  • parameters - массив для заполнения параметров кнопки (например обычный текстовый параметр)

  • index - порядовый номер.

cards - заполняется, если необходимо отправить шаблон Карусель

  • card_index - номер карточки

  • components - массив данных о карточке

    type -  header, body, footer, button 
    
    parameters - переменные для раздела. 
    
    sub_type - подтип для кнопок 
    
    index - номер кнопки
    

Количество переданных параметров должно соответствовать количеству параметров шаблона

chatId
string

Обязателен если не указан phone

ID чата из списка сообщений. Пример: 12020721369@c.us . Используется вместо параметра phone.

phone
integer

Обязателен если не указан chatId

Номер телефона, начинающийся с кода страны. Для России и Казахстана это всегда 7, затем 10 цифр. Сообщения на номера телефона с 8 не будут доставлены.

Пример: "79995253422".

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "sent": true,
  • "id": "gBGGeRhGZTEfAgkJCh2wAz4ZH-8",
  • "message": "Sent to 556123122026@c.us",
  • "description": "Message has been sent to the provider"
}

Создать шаблон

Создать новый шаблон для отправки.

Пример №1:

     [{"type": "HEADER", "format": "IMAGE", "example": {"header_handle": ["https://test.net/v.jpg"]}}, {"text": "We remind you that you have an appointment at {{1}} with the dentist tomorrow. Are you confirming your appointment with the doctor?", "type": "BODY", "example": {"body_text": [["9:00"]]}}, {"text": "white", "type": "FOOTER"}, {"type": "BUTTONS", "buttons": [{"text": "Yes", "type": "QUICK_REPLY"}, {"text": "No", "type": "QUICK_REPLY"}]}]

Пример №2 - создать шаблон Карусель (доступно на Cloud API):

      [{"text": "Test body text","type": "BODY"},{"type": "CAROUSEL","cards":[{"components":[{"type": "HEADER","format": "VIDEO","example":{"header_handle":["4::aW..."]}},{"text": "Carousel body {{1}}","type": "BODY"},{"type": "BUTTONS","buttons":[{"text": "Send more like this","type": "QUICK_REPLY"},{"url": "https://www.test.com/shop?promo={{1}}","text": "Buy now","type": "URL","example": ["https://www.test.com/shop?promo=summer_lemons_2023"]}]}]}]}]
Authorizations:
token
Request Body schema:
name
string

Имя шаблона

category
string (TemplateCategoryProp)
Enum: "MARKETING" "UTILITY" "AUTHENTICATION"

Категория Шаблона

Array of objects (TemplateComponentsProp)

Массив компонентов Шаблона

language
string (TemplateLanguageProp)
Enum: "af" "sq" "ar" "az" "bn" "bg" "ca" "zh_CN" "zh_HK" "zh_TW" "hr" "cs" "da" "nl" "en" "en_GB" "en_US" "et" "fil" "fi" "fr" "de" "el" "gu" "he" "hi" "hu" "id" "ga" "it" "ja" "kn" "kk" "ko" "lo" "lv" "lt" "mk" "ms" "mr" "nb" "fa" "pl" "pt_BR" "pt_PT" "pa" "ro" "ru" "sr" "sk" "sl" "es" "es_AR" "es_ES" "es_MX" "sw" "sv" "ta" "te" "th" "tr" "uk" "ur" "uz" "vi"

Язык шаблона

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{ }

Удалить шаблон

Удаленный шаблон не может быть восстановлен.

Authorizations:
token
Request Body schema:
name
string

Имя шаблона

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "result": "success"
}

Получить список шаблонов

Authorizations:
token

Responses

Response samples

Content type
application/json
{
  • "total": 3,
  • "templates": [
    ]
}

Продукты и Каталоги

Как создавать и отправлять сообщения с одним и несколькими продуктами

Получить Настройки Каталога

is_catalog_visible - true - показывать иконку каталога, false - скрыть. is_cart_enabled - true - включить корзину, false - открлючить.

Authorizations:
token

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Обновить Настройки Каталога

is_catalog_visible - true - показывать иконку каталога, false - скрыть. is_cart_enabled - true - включить корзину, false - открлючить.

Authorizations:
token
Request Body schema:
object

Responses

Request samples

Content type
{ }

Response samples

Content type
application/json
{
  • "success": true
}

Отправить Товар

Отправка товара или списка товаров в новый или существующий чат (Только с открытым диалоговым окном). Нужен только один из двух параметров для определения адресата - chatId или phone.

Сначала вам необходимо загрузить свой инвентарь в Facebook. Для этого вы можете использовать API или Facebook Commerce Manager. Если у вас уже настроен каталог Facebook, мы рекомендуем вам использовать этот каталог для коммерческих случаев использования WhatsApp.

Вы не можете отправлять товары клиентам Business WhatsApp.

Authorizations:
token
Request Body schema:
required
object

Объект, содержащий информацию о товаре или каталоге. Может иметь следующий параметры:

catalog_id - идентификатор каталога

product_retailer_id - идентификатор товара. Только для отправки одного товара.

sections - Используется для отправки нескольких товаров, массив, содержащий объекты с информацией о наборах товаров. См пример ниже.

Пример: {"catalog_id":"{{catalog_id}}","sections":[{"title":"the-section-title","product_items":[{"product_retailer_id":"{{SKU-1}}"},{"product_retailer_id":"{{SKU-2}}"}]},{"title":"the-section-title2","product_items":[{"product_retailer_id":"{{SKU-1}}"}]}]}

body
string

Текст сообщения. Пример: Some text.

footer
string

Располагается под текстом сообщения. Пример: Footer.

header
string

Заголовок каталога. Пример: Header.

Обязателен при отправке каталога (нескольких товаров).

chatId
string

Обязателен если не указан phone

ID чата из списка сообщений. Пример: 12020721369@c.us . Используется вместо параметра phone.

phone
integer

Обязателен если не указан chatId

Номер телефона, начинающийся с кода страны. Для России и Казахстана это всегда 7, затем 10 цифр. Сообщения на номера телефона с 8 не будут доставлены.

Пример: "79995253422".

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "sent": true,
  • "id": "gBGGeRhGZTEfAgkJCh2wAz4ZH-8",
  • "message": "Sent to 556123122026@c.us",
  • "description": "Message has been sent to the provider"
}

Медиа

Используйте медиа-узел для загрузки, извлечения или удаления медиафайлов

Используется для загрузки медиа и получения mediaId

Используется для загрузки медиа и полчения mediaId. Загруженные медиа могут быть отправлены в шаблонах

Authorizations:
token
Request Body schema:
body
required
string

Ссылка на файл, например https://...

Или файл в base64, например data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ...

Или файл в поле формы

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "mediaId": "ed2c7be7-b779-4ba8-a17c-6722f37be2a7"
}