Для интеграции с API Wazzup разработан набор методов для отправки сообщений, работы с сущностями пользователя, канала, контакта и сделки, получение событий веб-хуков.
API позволяет легко встроить дополнительный интерфейс с чатами Wazzup в любую CRM-систему, а также использовать счетчик неотвеченных.
В этой инструкции описаны все доступные методы для взаимодействия с Wazzup по API. Если в этой инструкции нет информации о какой-то функции, значит, она не реализована в Wazzup.
Оглавление
Счетчик неотвеченных и окно чатов
Получение API Key
- Зайдите в «Интеграции» в настройках личного кабинета.
- Нажмите
.
- Выберите «Интеграция по API».
- Готово — теперь вы можете скопировать свой ключ API.
Открытие окна чатов
Чтобы открыть окно чата, отправьте POST запрос на роут https://api.wazzup24.com/v2/iframe:
1. Укажите ключ API в заголовке запроса «Authorization».
Headers-example
Authorization: Basic 32a817cbc1594bd5885574d8f0290cd3
Параметры запроса
Параметр | Тип | Описание |
---|---|---|
user | Object | Объект, который содержит информацию о пользователе |
user.id | Integer/String | Id пользователя в crm-системе, открывающего окно с чатом |
user.name | String | Имя пользователя. В дальнейшем используется в качестве имени отправителя |
scope | String | Контекст, в котором открывается окно, где: "global" для общего чата "card" для чата в карточке сущности |
filter | Object (Array) | Массив объектов с чатами, которые нужно показать. Обязателен, когда scope = card |
filter.chatType | String | Тип чата мессенджера. Доступные значения "whatsapp", "instagram", "telegram", "vk" |
filter.chatId | String | Id чата (аккаунт контакта в мессенджере): для whatsapp — только цифры, без пробелов и спец. символов для instagram — аккаунт без "@" вначале |
filter.name | String | Необязательный параметр, который содержит имя контакта |
activeChat | Object | Чат, активный при открытии Iframe |
activeChat.chatType | String | Тип чата мессенджера. Доступные значения “whatsapp”, “instagram”, "telegram", "vk" |
activeChat.chatId | Integer/String | Id чата (аккаунт контакта в мессенджере): для whatsapp только цифры, без пробелов и спец. символов) для instagram аккаунт без “@” вначале |
Если контакта с указанными chatType и chatId нет в базе данных Wazzup — при открытии его в карточке контакта CRM-системы он будет создан. В качестве имени будет использовано значение name или chatId, если первое отсутствует.
Пример тела запроса
```json "user": { "id": "222555", "name": "User Name" }, "scope": "card", "filter": [ { "chatType": "whatsapp", "chatId": "79998887766" }, ], "activeChat": { "chatType": "whatsapp", "chatId": "79998887766" } ```
В ответе придет json с ссылкой для открытия окна чатов.
Пример успешного ответа
``` { "url": "https://12345678.wazzup24.com/chat/0e812899-e25b-4a18-a3e4-d1f5890f9de7?token=${token}" } ```
В случае ошибки в ответе поступит json, содержащий свойство error, или http-код 500.
Пример ответа с ошибкой
``` { "error": { "code": "NO_SUCH_ACCOUNT" } } ```
Счетчик неотвеченных
Для использования счётчика неотвеченных подключитесь к веб-сокету на https://api-ws.wazzup24.com.
При подключении сгенерируйте событие apiV2IframeConnecting и отправьте объект, содержащий API key и id пользователя:
``` "apiKey": "32a817cbc1594bd5885574d8f0290cd3", "userId": "2e0df379-0e3c-470f-9b36-06b9e34c3bdb" } ```
После этого при изменениях в количестве неотвеченных сообщений данные будут приходить в событии apiV2Notify в виде объекта:
`{ counter: number }`
Пример с использованием `socket.io`:
```js const socket = io.connect(`https://api-ws.wazzup24.com`); socket.on('connect', () => { socket.emit('apiV2IframeConnecting', { apiKey, userId }); }); socket.on('apiV2Notify', (data) => { console.log('apiV2Notify', data); count.innerHTML = data.counter; }); ```
Доступные методы для работы с API
Отправка сообщения
POST https://api.wazzup24.com/v2/send_message
Параметры запроса
Параметр | Тип | Описание |
---|---|---|
channelId | String | Id канала (uuidv4), через который нужно отправить сообщение |
chatType | String | Тип чата мессенджера-адресата. Доступные значения "whatsapp", "instagram", "telegram", "vk" |
chatId | String | Id чата (аккаунт контакта в мессенджере): для whatsapp — только цифры, без пробелов и спец. символов для instagram — аккаунт без "@" вначале |
text | String | Текст сообщения (до 10000 символов). Обязателен, если не указан content |
content | String | Ссылка на файл для отправки. Обязателен, если не указан text |
refMessageId | String | Id сообщения для цитирования. Необязательный параметр |
Пример тела запроса
```json { "channelId": "3376e1c3-26a6-478b-b964-72bf01cc22cb", "chatType": "whatsapp", "chatId": "79998887766", "content": "https://example.com/images/img_01.png" } ```
Результат запроса
HTTP/1.1 201 OK
```json { "messageId": "10d90130-38f6-421c-ada9-951f82884056" } ```
Пример отправки сообщения на PHP:
<?php $apiKey = '6073085ffa3f410d9e27fb2b6592d325'; // Ключ авторизации интеграции по API $defaultChannelId = '654bae5f-2981-41e1-8279-4cd6898511da'; $url = 'https://api.wazzup24.com/v2/send_message'; $curl = curl_init(); // Используем curl для запроса к Wazzup API // Если в теле запроса не указан канал, то используем дефолтный $channelId = (empty($_POST['channel'])) ? $defaultChannelId : $_POST['channel']; $channelId = $_POST['channel']; $chatId = $_POST['contact']; $chatType = $_POST['messenger_type']; $text = $_POST['text']; /** * Тут может быть код для записи сообщения в БД */ // Формируем тело запроса $post_data = json_encode(array( 'channelId'=>$channelId, 'chatId'=>$chatId, 'chatType'=>$chatType, 'text'=>$text )); // Отправляем запрос в Wazzup curl_setopt($curl, CURLOPT_HTTPHEADER, array( 'Authorization: Basic '. $apiKey, 'Content-Type:application/json' )); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS,$post_data); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $server_response = curl_exec($curl); $http_response_code = curl_getinfo($curl, CURLINFO_HTTP_CODE); // Парсим ответ $header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE); $header = substr($server_response, 0, $header_size); if ($http_response_code != 201) { error_log($header); } else { // Если все ок, то вернется guid отправленного сообщения $res = json_decode($header); $msg_guid = $res->messageId; } curl_close ($curl); ?>
Ошибки при отправке сообщений
Код ошибки | Описание |
---|---|
MESSAGE_WRONG_CONTENT_TYPE | Неверный тип контента. Возникает, если не удалось определить тип контента или он не поддерживается. |
MESSAGE_ONLY_TEXT_OR_CONTENT | В сообщении может быть текст или контент. Отправлять одновременно текст и контент в WhatsApp и Instagram нельзя. |
MESSAGE_NOTHING_TO_SEND | Текст сообщения не найден. |
MESSAGE_TEXT_TOO_LONG | Длина текстового сообщения превышает 10 000 символов. |
MESSAGE_CONTENT_CAN_NOT_BE_BLANK | Файл с контентом не может быть пустым. Возникает при отправке нетекстового сообщения, к которому не приложили контент. |
MESSAGE_CONTENT_SIZE_EXCEEDED | Контент превышает допустимый размер для WhatsApp. |
MESSAGE_TEXT_CAN_NOT_BE_BLANK | Текстовое сообщение не может быть пустым. |
CHANNEL_NOT_FOUND | Канал, через который отправляется сообщение, не найден в интеграции. |
CHANNEL_BLOCKED | Канал, через который отправляется сообщение, выключен. |
MESSAGE_DOWNLOAD_CONTENT_ERROR | Не удалось скачать контент по указанной ссылке. |
MESSAGES_NOT_TEXT_FIRST | На тарифе «Старт» нельзя написать первым. |
MESSAGES_IS_SPAM | Wazzup оценил это сообщение, как спам. |
CHAT_WRONG_CHAT_TYPE | Неверный тип чата. Возникает в случае, если вы отправляете исходящее сообщение в мессенджер, не входящий в список [INSTAGRAM, WHATSAPP, VK, TELEGRAM]. |
CHAT_MISSING_CHAT_TYPE | chatType не передан. Выберете тип чата из списка [INSTAGRAM, WHATSAPP, VK, TELEGRAM]. |
CHAT_INCORRECT_CHAT_ID_WHATSAPP | Некорректный номер WhatsApp. Номер телефона должен быть в международном формате: содержать от 9 до 16 цифр, для российских номеро начинаться с 7. |
CHAT_MISSING_CHAT_ID | chatId не передан. |
VALIDATION_ERROR | Валидационная ошибка параметра, переданного в запрос. |
ACCOUNT_NOT_FOUND | Аккаунт не найден в интеграции. |
CONTACT_NOT_FOUND | Контакт не найден среди контактов аккаунта — чат с таким номером телефона отсутствует. |
CHANNEL_NO_MONEY | Канал не оплачен и имеет статус «Не оплачен». |
MESSAGE_CHANNEL_UNAVAILABLE | Канал, с которого отправляется сообщение, недоступен. У канала статус «Телефон недоступен» или «Подождите минутку». |
CONTACT_DETAIL_NOT_FOUND | Информация о контакте отсутствует. |
MESSAGES_ABNORMAL_SEND | Тип чата не соответствует источнику контакта. Например, такая ошибка может возникнуть, если вы пытаетесь отправить сообщение с канала WhatsApp на канал Instagram. |
MESSAGES_INVALID_CONTACT_TYPE | Тип чата не соответствует источнику контакта Instagram. Например, такая ошибка может возникнуть, если вы пытаетесь отправить сообщение с канала Instagram на канал WhatsApp. |
MESSAGES_CAN_NOT_ADD | Сообщение не было отправлено. Возникла непредвиденная серверная ошибка. |
REFERENCE_MESSAGE_NOT_FOUND | Ошибка возникает при цитировании, если не удалось найти сообщение, к которому прикрепляется цитата. Проверьте, что в качестве refId передан идентификатор сообщения, полученный от Wazzup. |
UNKNOWN_ERROR | Неизвестная ошибка. Обратитесь в поддержку. |
Получение списка каналов
GET https://api.wazzup24.com/v2/channels
Результат запроса
В ответе придет массив с информацией о каналах, указанных в настройках личного кабинета Wazzup в разделе «Интеграции»:
HTTP/1.1 200 OK
``` [ { "channelId": string, "transport": "whatsapp", "plainId": "79865784457", "state": "active" } ] ```
Данные результата запроса
Параметр | Тип | Описание |
---|---|---|
channelId | String | Id канала (uuidv4) |
transport | String | Тип канала (мессенджер). Доступные значения: |
plainId | String | Номер телефона или аккаунт instagram-канала |
state | String | Состояние канала: active — канал активен, все нормально disabled — канал выключен phoneUnavailable — нет связи с телефоном qr — необходимо отсканировать qr-код openElsewhere — приложение открыли в другом месте notEnoughMoney — канал не оплачен |
Подключение веб-хуков и получение текущего значения url
PUT https://api.wazzup24.com/v2/webhooks
Пример тела запроса
```json { "url": "https://example.com/webhooks" } ```
В значении url укажите адрес для получения веб-хуков или null для отключения веб-хуков.
При подключении на указанный url будет отправлен тестовый запрос. Сервер должен вернуть 200 при успешном подключении веб-хуков.
В ответе придет вновь установленный адрес для веб-хуков и информация о том, отличался ли предыдущий url от переданного (в значении ключа webhooksUrlChanged).
HTTP/1.1 200 OK
```json { "webhooksUrl": "https://example.com/webhooks", "webhooksUrlChanged": true } ```
Проверка адреса для получения веб-хуков
GET https://api.wazzup24.com/v2/webhooks
HTTP/1.1 200 OK
```json { "webhooksUrl": "https://example.com/webhooks" } ```
Веб-хуки
Wazzup присылает веб-хуки трех типов.
Новые сообщения
Веб-хук пришлет JSON-объект с ключом messages, в значении которого лежит массив объектов со следующими параметрами:
Параметр | Тип | Описание |
---|---|---|
messageId | String | UUID сообщения |
channelId | String | Id канала |
chatType | String | Тип чата мессенджера-адресата. Доступные значения "whatsapp", "instagram", "telegram", "vk" |
chatId | String | Id чата (аккаунт контакта в мессенджере): для whatsapp только цифры, без пробелов и спец. символов, например “79124698489” для instagram аккаунт без "@" вначале, например “wazzuptest” |
dateTime | Number | Время сообщения (unix time milliseconds) |
type | Number | Тип сообщения: 0 — сообщение неподдерживоемого типа 1 — текст 2 — изображение 3 — аудио 4 — видео 5 — документ 21 — Пропущенный звонок от клиента |
status | Number | Статус успешной отправки сообщения или ошибки: 1 — отправлено (аналог одной серой галки) 2 — доставлено (аналог двух серых галок) 3 — прочитано (аналог двух голубых галок) 13 — для whatsapp: клиент, которому адресовано сообщение, не установил приложение или привязал его к другому номеру 13 — для instagram: такой аккаунт Instagram не существует. Возможно, клиент изменил имя профиля 14 — слишком длинный текст сообщения 15 — фильтры Instagram не пропускают сообщение из-за ссылки 17 — размер файла не должен превышать 50 Mb 18 — сообщение не отправлено из-за подозрения на спам 19 — отправка прервана. С аккаунта поступило слишком много сообщений 21 — контент файла не подходит под параметры Instagram 66 — произошла ошибка. Информация уже направлена разработчикам Wazzup 99 — входящее сообщение |
text | String | Текст сообщения |
content | String | Ссылка на контент сообщения (может отсутствовать) |
authorType | Number | Тип отправителя: 0 — телефон 1 — интерфейс Wazzup 3 — amoCRM 4 — planfix 5 — bitrix24 6 — Zoho CRM 7 — Salesforce 8 — Hubspot 9 — API Wazzup 99 — Входящее сообщение от клиента |
authorName | String | Имя отправителя в whatsapp, если оно есть |
instPost | Object | Объект с информацией о посте Instagram |
imageSrc | String | Ссылка на полноразмерное изображение |
previewSrc | String | Ссылка на превью изображения |
Вид объекта с информацией о посте Instagram:
``` { id: '2430659146657243411_41370968890', src: 'https://www.instagram.com/p/CG7b52ejyET', sha1: 'dc8c036b4a0122bb238fc38dcb0391c125e916f2', likes: 0, author: 'wztestdlv', comments: 22, timestamp: 1603977171000, updatedAt: 1608905897958, authorName: '', description: 'Красота', previewSha1: '3a55c2920912de4b6a66d24568470dd4ad367c34', imageSrc: 'https://store.dev-wazzup24.com/dc8c036b4a0122bb238fc38dcb0391c125e916f2', previewSrc: 'https://store.dev-wazzup24.com/3a55c2920912de4b6a66d24568470dd4ad367c34' } ```
Обновление статусов исходящих сообщений
Веб-хук пришлет JSON-объект с ключом statuses, в значении которого будет лежать массив объектов со следующими параметрами:
Параметр | Тип | Описание |
---|---|---|
messageId | String | Id канала (uuidv4), через который нужно отправить сообщение |
status | String | Статус сообщения: 0 — сообщение в обработке 1 — отправлено (аналог одной серой галки) 2 — доставлено (аналог двух серых галок) 3 — прочитано (аналог двух голубых галок) 13 — для whatsapp: клиент, которому адресовано сообщение, не установил приложение или привязал его к другому номеру 13 — для instagram: такой аккаунт Instagram не существует. Возможно, клиент изменил имя профиля. 14 — слишком длинный текст сообщения 15 — фильтры Instagram не пропускают сообщение из-за ссылки 17 — размер файла не должен превышать 50 Mb 18 — сообщение не отправлено из-за подозрения на спам 19 — отправка прервана. С аккаунта поступило слишком много сообщений 21 — контент файла не подходит под параметры Instagram 66 — произошла ошибка. Информация уже направлена разработчикам Wazzup |
Обновление состояния каналов
Веб-хук пришлет JSON-объект с ключом channels, в значении которого лежит массив объектов со следующими параметрами:
Параметр | Тип | Описание |
---|---|---|
channelId | String | Id канала (uuidv4) |
transport | String | Тип канала (мессенджер). Доступные значения: |
plainId | String | Номер телефона или аккаунт instagram-канала |
state | String | Состояние канала: active — канал активен, все нормально disabled — канал выключен phoneUnavailable — нет связи с телефоном qr — необходимо отсканировать qr-код openElsewhere — приложение открыли в другом месте notEnoughMoney — канал не оплачен |
Пример обработки данных на PHP, получаемых в веб-хуках
<?php // Веб-хуки приходят в json, конвертируем его $hook = json_decode(file_get_contents('php://input')); // Состояния каналов if (isset($hook->channels)) { foreach ($hook->channels as $channel) { // Перебор полей объекта. Тут с данными можно что-то сделать - например, положить в БД foreach ($channel as $key => $value) { error_log("$key : $value"); } } } // Сообщения if (isset($hook->messages)) { foreach ($hook->messages as $message) { // Перебор полей объекта. Тут с данными можно что-то сделать - например, положить в БД foreach ($message as $key => $value) { error_log("$key : $value"); } } } // Статусы сообщений if (isset($hook->statuses)) { foreach ($hook->statuses as $status) { // Перебор полей объекта. Тут с данными можно что-то сделать - например, положить в БД foreach ($status as $key => $value) { error_log("$key : $value"); } } } ?>
Изменение списка каналов в интеграции (приходит новый список каналов)
Веб-хук пришлет JSON-объект с ключом channelsList, в значении которого лежит массив объектов со следующими параметрами:
Параметр | Тип | Описание |
---|---|---|
channelId | String | Id канала (uuidv4) |
transport | String | Тип канала (мессенджер). Доступные значения: |
plainId | String | Номер телефона или аккаунт instagram-канала |
state | String | Состояние канала: active — канал активен, все нормально disabled — канал выключен phoneUnavailable — нет связи с телефоном qr — необходимо отсканировать qr-код openElsewhere — приложение открыли в другом месте notEnoughMoney — канал не оплачен |
Работа с сущностью пользователя
Получение списка пользователей
Для получения списка пользователей в интеграции отправьте GET запрос на https://api.wazzup24.com/v2/users.
Пример результата запроса
```json [ { "id": "2e0df379-0e3c-470f-9b36-06b9e34c3bdb", // id пользователя "name": "User Name" // имя пользователя }, ... ] ```
Получение информации об отдельном пользователе
Для получения информации об отдельном пользователе в интеграции отправьте GET запрос на https://api.wazzup24.com/v2/users/{id пользователя}.
Пример результата запроса
```json { "id": "2e0df379-0e3c-470f-9b36-06b9e34c3bdb", // id пользователя "name": "User Name" // имя пользователя } ```
Обновление списка пользователей
Чтобы добавить нового пользователя или изменить имя у существующего реализован роут для обновления списка пользователей в интеграции.
Отправьте PATCH запрос на https://api.wazzup24.com/v2/users.
В теле запроса должен прийти массив с данными о пользователях. Пользователей сравниваем по id. Если такого пользователя нет в Wazzup, то добавим, если есть, то обновим данные для него.
Параметры запроса
Параметр | Тип | Описание |
---|---|---|
id | any | Идентификатор пользователя. Строка до 64 символов или целое число |
name | String | Имя пользователя. Строка до 150 символов |
Пример тела запроса
```json [ { "id": "2e0df379-0e3c-470f-9b36-06b9e34c3bdb", "name": "User Name" }, ... ] ```
Замена списка пользователей
Чтобы полностью заменить список пользователей в интеграции, отправьте PUT запрос на https://api.wazzup24.com/v2/users.
В теле запроса должен прийти массив с данными о пользователях. Имеющаяся информация о пользователях будет удалена, вместо нее будут использованы пришедшие данные.
Параметры запроса
Параметр | Тип | Описание |
---|---|---|
id | any | Идентификатор пользователя. Строка до 64 символов или целое число |
name | String | Имя пользователя. Строка до 150 символов |
Пример тела запроса
```json [ { "id": "2e0df379-0e3c-470f-9b36-06b9e34c3bdb", "name": "User Name" }, ... ] ```
Удаление пользователя
Для удаления пользователя из интеграции отправьте DELETE запрос на https://api.wazzup24.com/v2/users/{id пользователя}.
Работа с контактами
Получение списка контактов
Для получения списка контактов отправьте GET запрос на
https://api.wazzup24.com/v2/contacts. В одном запросе можно получить до 100 записей.
Дополнительные параметры запроса
Параметр | Тип | Описание |
---|---|---|
offset | Number | Смещение по пагинации, целое неотрицательное число. По умолчанию — 0 |
orderBy | String | Поле для сортировки. По умолчанию id, также можно сортировать по name или responsibleUserId |
orderDirection | String | Направление для сортировки; asc (по умолчанию) или desc |
Данные результата запроса
Придут в виде массива объектов со следующими параметрами:
Параметр | Тип | Описание |
---|---|---|
id | any | Id контакта в CRM-системе. Строка или число |
responsibleUserId | any | Id ответственного пользователя. Строка или число. |
name | String | Имя контакта |
chats | Object | Массив объектов с данными для контакта, который содержит: chatType — string chatId — string или number |
deals | Object | Массив с id сделок, связанных с контактом. Id сделки может быть string или number |
Получение информации об отдельном контакте
Для получения информации об отдельном контакте в интеграции отправьте GET запрос на https://api.wazzup24.com/v2/contacts/{id контакта}.
Данные результата запроса
Придут в виде объекта со следующими параметрами:
Параметр | Тип | Описание |
---|---|---|
id | any | Id контакта в CRM-системе. Строка или число |
responsibleUserId | any | Id ответственного пользователя. Строка или число. |
name | String | Имя контакта |
chats | Object | Массив объектов с данными для контакта, который содержит: chatType — string chatId — string или number |
deals | Object | Массив с id сделок, связанных с контактом. Id сделки может быть string или number |
Обновление списка контактов
Для обновления списка контактов отправьте PATCH запрос на https://api.wazzup24.com/v2/contacts.
В теле запроса должен прийти массив с данными о контактах. Контакты сравниваются по id. Если контакта нет в Wazzup, то он будет добавлен, если есть, то данные для него будут обновлены.
Параметры запроса
Параметр | Тип | Описание |
---|---|---|
id | any | Id контакта в CRM-системе. Строка или число |
responsibleUserId | any | Id ответственного пользователя. Строка или число. Заполните это поле, чтобы диалог отобразился в окне чата Wazzup для ответственного за контакт. Работает при использовании настройки п. 3 «Только свои диалоги и диалоги из своих очередей». |
name | String | Имя контакта |
chats | Object | Массив объектов с данными для контакта, который содержит: chatType — string chatId — string или number |
deals | Object | Массив с id сделок, связанных с контактом. Id сделки может быть string или number |
Удаление контакта
Для удаления контакта отправьте DELETE запрос на https://api.wazzup24.com/v2/contacts/{id контакта}.
Работа со списком сделок
Получение списка сделок
Для получения списка сделок отправьте GET запрос на
https://api.wazzup24.com/v2/deals. В одном запросе можно получить до 100 записей.
Дополнительно можно передать в query string следующие параметры:
Параметр | Тип | Описание |
---|---|---|
offset | Number | Смещение по пагинации, целое неотрицательное число. По умолчанию — 0 |
orderBy | String | Поле для сортировки. По умолчанию id, также можно сортировать по name или responsibleUserId |
orderDirection | String | Направление для сортировки; asc (по умолчанию) или desc |
Данные результата запроса
Придут в виде массива объектов со следующими параметрами:
Параметр | Тип | Описание |
---|---|---|
id | Number | Id сделки. Обязательное поле |
responsibleUserId | any | Id ответственного пользователя. Строка или число |
name | String | Название сделки |
closed | Boolean | Флаг, отмечающий закрытые сделки |
contacts | Object | Массив с id контактов, связанных со сделкой. Id контактов может быть string или number |
Получение информации по отдельной сделке
Для получения информации об отдельной сделке отправьте GET запрос на https://api.wazzup24.com/v2/deals/{id сделки}.
Данные результата запроса
Придут в виде объекта со следующими параметрами:
Параметр | Тип | Описание |
---|---|---|
id | Number | Id сделки. Обязательное поле |
responsibleUserId | any | Id ответственного пользователя. Строка или число |
name | String | Название сделки |
closed | Boolean | Флаг, отмечающий закрытые сделки |
contacts | Object | Массив с id контактов, связанных со сделкой. Id контактов может быть string или number |
Обновление списка сделок
Для обновления списка сделок отправьте PATCH запрос на https://api.wazzup24.com/v2/deals.
В теле запроса придет массив с данными о сделках. Сделки сравниваются по id. Если такой сделки нет в Wazzup, то она будет добавлена, если есть, то данные для нее будут обновлены.
Параметры запроса
Параметр | Тип | Описание |
---|---|---|
id | Number | Id сделки. Обязательное поле |
responsibleUserId | any | Id ответственного пользователя. Строка или число. Заполните это поле, чтобы диалоги с контактами, связанными со сделкой, отобразились в окне чата Wazzup для ответственного за сделку. Работает при использовании настройки п. 3 «Только свои диалоги и диалоги из своих очередей». |
name | String | Название сделки |
closed | Boolean | Флаг, отмечающий закрытые сделки |
contacts | Object | Массив с id контактов, связанных со сделкой. Id контактов может быть string или number |
Удаление сделки
Для удаления сделки отправьте DELETE запрос на
https://api.wazzup24.com/v2/deals/{id сделки}.