WAZZUP Help

Интеграция по API

Для интеграции с API Wazzup разработан набор методов для отправки сообщений, работы с сущностями пользователя, канала, контакта и сделки, получение событий веб-хуков.

API позволяет легко встроить дополнительный интерфейс с чатами Wazzup в любую CRM-систему, а также использовать счетчик неотвеченных.

В этой инструкции описаны все доступные методы для взаимодействия с Wazzup по API. Если в этой инструкции нет информации о какой-то функции, значит, она не реализована в Wazzup.

Оглавление

Счетчик неотвеченных и окно чатов

Получение API Key

  1. Зайдите в «Интеграции» в настройках личного кабинета.
  2. Нажмите .
  3. Выберите «Интеграция по API».
  4. Готово — теперь вы можете скопировать свой ключ API.

Открытие окна чатов

Чтобы открыть окно чата, отправьте POST запрос на роут https://api.wazzup24.com/v2/iframe:

1. Укажите ключ API в заголовке запроса «Authorization».

Headers-example

Authorization: Basic 32a817cbc1594bd5885574d8f0290cd3

Параметры запроса

ПараметрТипОписание
userObjectОбъект, который содержит информацию о пользователе
user.idInteger/StringId пользователя в crm-системе, открывающего окно с чатом
user.nameStringИмя пользователя. В дальнейшем используется в качестве имени отправителя
scopeStringКонтекст, в котором открывается окно, где:
"global" для общего чата
"card" для чата в карточке сущности
filterObject (Array)Массив объектов с чатами, которые нужно показать. Обязателен, когда scope = card
filter.chatTypeStringТип чата мессенджера. Доступные значения "whatsapp", "instagram", "telegram", "vk"
filter.chatIdStringId чата (аккаунт контакта в мессенджере):
для whatsapp — только цифры, без пробелов и спец. символов
для instagram — аккаунт без "@" вначале
filter.nameStringНеобязательный параметр, который содержит имя контакта
activeChatObjectЧат, активный при открытии Iframe
activeChat.chatTypeStringТип чата мессенджера. Доступные значения “whatsapp”, “instagram”, "telegram", "vk"
activeChat.chatId Integer/StringId чата (аккаунт контакта в мессенджере):
для 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

Параметры запроса

ПараметрТипОписание
channelIdStringId канала (uuidv4), через который нужно отправить сообщение
chatTypeStringТип чата мессенджера-адресата. Доступные значения "whatsapp", "instagram", "telegram", "vk"
chatIdStringId чата (аккаунт контакта в мессенджере):
для whatsapp — только цифры, без пробелов и спец. символов
для instagram — аккаунт без "@" вначале
textStringТекст сообщения (до 10000 символов). Обязателен, если не указан content
contentStringСсылка на файл для отправки. Обязателен, если не указан text
refMessageIdStringId сообщения для цитирования. Необязательный параметр

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

```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_SPAMWazzup оценил это сообщение, как спам.
CHAT_WRONG_CHAT_TYPEНеверный тип чата.
Возникает в случае, если вы отправляете исходящее сообщение в мессенджер, не входящий в список [INSTAGRAM, WHATSAPP, VK, TELEGRAM].
CHAT_MISSING_CHAT_TYPEchatType не передан.
Выберете тип чата из списка [INSTAGRAM, WHATSAPP, VK, TELEGRAM].
CHAT_INCORRECT_CHAT_ID_WHATSAPPНекорректный номер WhatsApp.
Номер телефона должен быть в международном формате: содержать от 9 до 16 цифр, для российских номеро начинаться с 7.
CHAT_MISSING_CHAT_IDchatId не передан.
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"

  }

]

```

Данные результата запроса

ПараметрТипОписание
channelIdStringId канала (uuidv4)
transportStringТип канала (мессенджер). Доступные значения:
whatsapp
instagram
plainIdStringНомер телефона или аккаунт instagram-канала
stateStringСостояние канала:
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, в значении которого лежит массив объектов со следующими параметрами:

ПараметрТипОписание
messageIdStringUUID сообщения
channelIdStringId канала
chatTypeStringТип чата мессенджера-адресата. Доступные значения "whatsapp", "instagram", "telegram", "vk"
chatIdStringId чата (аккаунт контакта в мессенджере):
для whatsapp только цифры, без пробелов и спец. символов, например “79124698489”
для instagram аккаунт без "@" вначале, например “wazzuptest”
dateTimeNumberВремя сообщения (unix time milliseconds)
typeNumberТип сообщения:
0 — сообщение неподдерживоемого типа                                   
1 — текст                                       
2 — изображение                                     
3 — аудио
4 — видео
5 — документ
21 — Пропущенный звонок от клиента
statusNumberСтатус успешной отправки сообщения или ошибки:
1 — отправлено (аналог одной серой галки)
2 — доставлено (аналог двух серых галок)
3 — прочитано (аналог двух голубых галок)                                            
13 — для whatsapp: клиент, которому адресовано сообщение, не установил приложение или привязал его к другому номеру
13 — для instagram: такой аккаунт Instagram не существует. Возможно, клиент изменил имя профиля
14 — слишком длинный текст сообщения
15 — фильтры Instagram не пропускают сообщение из-за ссылки
17 — размер файла не должен превышать 50 Mb
18 — сообщение не отправлено из-за подозрения на спам
19 — отправка прервана. С аккаунта поступило слишком много сообщений
21 — контент файла не подходит под параметры Instagram
66 — произошла ошибка. Информация уже направлена разработчикам Wazzup
99 — входящее сообщение
textStringТекст сообщения
contentStringСсылка на контент сообщения (может отсутствовать)
authorTypeNumberТип отправителя:
0 — телефон 
1 — интерфейс Wazzup                                           
3 — amoCRM                                            
4 — planfix                                            
5 — bitrix24                                            
6 — Zoho CRM                                           
7 — Salesforce                                            
8 — Hubspot
9 — API Wazzup  
99 — Входящее сообщение от клиента
authorNameStringИмя отправителя в whatsapp, если оно есть
instPostObjectОбъект с информацией о посте Instagram
imageSrc
StringСсылка на полноразмерное изображение
previewSrcStringСсылка на превью изображения

Наличие поля instPost говорит о том, что входящее сообщение фактически является комментарием к посту в Instagram. У сообщений Whatsapp и директа в Instagram этого поля нет.

Вид объекта с информацией о посте 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, в значении которого будет лежать массив объектов со следующими параметрами:

ПараметрТипОписание
messageIdStringId канала (uuidv4), через который нужно отправить сообщение
statusStringСтатус сообщения:
0 — сообщение в обработке
1 — отправлено (аналог одной серой галки)
2 — доставлено (аналог двух серых галок)  
3 — прочитано (аналог двух голубых галок)
13 — для whatsapp: клиент, которому адресовано сообщение, не установил приложение или привязал его к другому номеру      
13 — для instagram: такой аккаунт Instagram не существует. Возможно, клиент изменил имя профиля.
14 — слишком длинный текст сообщения
15 — фильтры Instagram не пропускают сообщение из-за ссылки
17 — размер файла не должен превышать 50 Mb
18 — сообщение не отправлено из-за подозрения на спам
19 — отправка прервана. С аккаунта поступило слишком много сообщений
21 — контент файла не подходит под параметры Instagram
66 — произошла ошибка. Информация уже направлена разработчикам Wazzup

Обновление состояния каналов

Веб-хук пришлет JSON-объект с ключом channels, в значении которого лежит массив объектов со следующими параметрами:

ПараметрТипОписание
channelIdStringId канала (uuidv4)
transportStringТип канала (мессенджер). Доступные значения:
whatsapp
instagram
plainIdStringНомер телефона или аккаунт instagram-канала
stateStringСостояние канала:
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, в значении которого лежит массив объектов со следующими параметрами:

ПараметрТипОписание
channelIdStringId канала (uuidv4)
transportStringТип канала (мессенджер). Доступные значения:
whatsapp
instagram
plainIdStringНомер телефона или аккаунт instagram-канала
stateStringСостояние канала:
active — канал активен, все нормально
disabled — канал выключен
phoneUnavailable —  нет связи с телефоном
qr — необходимо отсканировать qr-код
openElsewhere — приложение открыли в другом месте
notEnoughMoney — канал не оплачен

Работа с сущностью пользователя

Получение списка пользователей

Пользователи — это профили, которые вы создаете в CRM для своих сотрудников. Это не ваши клиенты, а ваши менеджеры, сотрудники поддержки, бухгалтеры и т.д.

Для получения списка пользователей в интеграции отправьте 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, то добавим, если есть, то обновим данные для него.

Параметры запроса

ПараметрТипОписание
idanyИдентификатор пользователя. Строка до 64 символов или целое число
nameStringИмя пользователя. Строка до 150 символов

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

```json

[

  {

    "id": "2e0df379-0e3c-470f-9b36-06b9e34c3bdb",

    "name": "User Name"

  },

  ...

]

```

Замена списка пользователей

Чтобы полностью заменить список пользователей в интеграции, отправьте PUT запрос на https://api.wazzup24.com/v2/users.

В теле запроса должен прийти массив с данными о пользователях. Имеющаяся информация о пользователях будет удалена, вместо нее будут использованы пришедшие данные.

Параметры запроса

ПараметрТипОписание
idanyИдентификатор пользователя. Строка до 64 символов или целое число
nameStringИмя пользователя. Строка до 150 символов

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

```json

[

  {

    "id": "2e0df379-0e3c-470f-9b36-06b9e34c3bdb",

    "name": "User Name"

  },

  ...

]

```

Удаление пользователя

Для удаления пользователя из интеграции отправьте DELETE запрос на https://api.wazzup24.com/v2/users/{id пользователя}.

Работа с контактами

Добавление и обновление списка контактов

Для добавления и обновления списка контактов отправьте PATCH запрос на https://api.wazzup24.com/v2/contacts.

При добавлении списка контактов информация о контактах из CRM загрузится в Wazzup. Это не создаст диалоги в общем чате. Диалог будет создаваться при отправке исходящего сообщения, получении входящего сообщения или при открытии чата в CRM из карточки контакта или сделки.

При обновлении списка контактов загружается массив с данными о контактах и контакты сравниваются по id. Если информации о контакте нет в Wazzup, то она будет добавлена. Если информация о контакте есть, данные для контакта будут обновлены.

ПараметрТипОписание
idanyId контакта в CRM-системе. Строка или число
responsibleUserIdanyId ответственного пользователя. Строка или число. Заполните это поле, чтобы диалог отобразился в окне чата Wazzup для ответственного за контакт. Работает при использовании настройки п. 3 «Только свои диалоги и диалоги из своих очередей».
nameStringИмя контакта
chatsObjectМассив объектов с данными для контакта, который содержит:
chatType — string
chatId — string или number
dealsObjectМассив с id сделок, связанных с контактом. Id сделки может быть string или number

Получение списка контактов

Для получения списка контактов, по которым была загружена информация из CRM в Wazzup, отправьте GET запрос на https://api.wazzup24.com/v2/contacts. В одном запросе можно получить до 100 записей.

Дополнительные параметры запроса

ПараметрТипОписание
offsetNumberСмещение по пагинации, целое неотрицательное число. По умолчанию — 0
orderByStringПоле для сортировки. По умолчанию id, также можно сортировать по name или responsibleUserId
orderDirectionStringНаправление для сортировки; asc (по умолчанию) или desc

Данные результата запроса

Придут в виде массива объектов со следующими параметрами:

ПараметрТипОписание
idanyId контакта в CRM-системе. Строка или число
responsibleUserIdanyId ответственного пользователя. Строка или число.
nameStringИмя контакта
chatsObjectМассив объектов с данными для контакта, который содержит:
chatType — string
chatId — string или number
dealsObjectМассив с id сделок, связанных с контактом. Id сделки может быть string или number

Получение информации об отдельном контакте

Для получения информации о загруженном из CRM в Wazzup отдельном контакте отправьте GET запрос на https://api.wazzup24.com/v2/contacts/{id контакта}.

Данные результата запроса придут в виде объекта со следующими параметрами:

ПараметрТипОписание
idanyId контакта в CRM-системе. Строка или число
responsibleUserIdanyId ответственного пользователя. Строка или число.
nameStringИмя контакта
chatsObjectМассив объектов с данными для контакта, который содержит:
chatType — string
chatId — string или number
dealsObjectМассив с id сделок, связанных с контактом. Id сделки может быть string или number

Удаление контакта

Для удаления информации о контакте из Wazzup отправьте DELETE запрос на https://api.wazzup24.com/v2/contacts/{id контакта}. Если в общем чате есть диалог с этим контактом — он там останется.

Работа со списком сделок

Получение списка сделок

Для получения списка сделок отправьте GET запрос на

https://api.wazzup24.com/v2/deals. В одном запросе можно получить до 100 записей.

Дополнительно можно передать в query string следующие параметры:

ПараметрТипОписание
offsetNumberСмещение по пагинации, целое неотрицательное число. По умолчанию — 0
orderByStringПоле для сортировки. По умолчанию id, также можно сортировать по name или responsibleUserId
orderDirectionStringНаправление для сортировки; asc (по умолчанию) или desc

Данные результата запроса

Придут в виде массива объектов со следующими параметрами:

ПараметрТипОписание
idNumberId сделки. Обязательное поле
responsibleUserIdanyId ответственного пользователя. Строка или число
nameStringНазвание сделки
closedBooleanФлаг, отмечающий закрытые сделки
contactsObjectМассив с id контактов, связанных со сделкой. Id контактов может быть string или number

Получение информации по отдельной сделке

Для получения информации об отдельной сделке отправьте GET запрос на https://api.wazzup24.com/v2/deals/{id сделки}

Данные результата запроса

Придут в виде объекта со следующими параметрами:

ПараметрТипОписание
idNumberId сделки. Обязательное поле
responsibleUserIdanyId ответственного пользователя. Строка или число
nameStringНазвание сделки
closedBooleanФлаг, отмечающий закрытые сделки
contactsObjectМассив с id контактов, связанных со сделкой. Id контактов может быть string или number

Обновление списка сделок

Для обновления списка сделок отправьте PATCH запрос на https://api.wazzup24.com/v2/deals.

В теле запроса придет массив с данными о сделках. Сделки сравниваются по id. Если такой сделки нет в Wazzup, то она будет добавлена, если есть, то данные для нее будут обновлены.

Параметры запроса

ПараметрТипОписание
idNumberId сделки. Обязательное поле
responsibleUserIdanyId ответственного пользователя. Строка или число. Заполните это поле, чтобы диалоги с контактами, связанными со сделкой, отобразились в окне чата Wazzup для ответственного за сделку. Работает при использовании настройки п. 3 «Только свои диалоги и диалоги из своих очередей».
nameStringНазвание сделки
closedBooleanФлаг, отмечающий закрытые сделки
contactsObjectМассив с id контактов, связанных со сделкой. Id контактов может быть string или number

Удаление сделки

Для удаления сделки отправьте DELETE запрос на

https://api.wazzup24.com/v2/deals/{id сделки}.