Webhooks

Webhooks реализованы с помощью инструмента Триггеры в WireCRM, для того чтобы настроить Webhook нужно добавить в систему триггер с уведомлением на URL. Например, добавить триггеры на события в разделе Организации можно тут https://secure.wirecrm.com/settings/accounts/triggers. Триггер сработает на перевод организации в статус Есть интерес, на указанный URL будет отправлено уведомление.

В уведомлении будет отправлен Json, в котором будут следующие параметры:
object — объект в котором сработал Webhook, например, accounts
event — кодовое название события, например, change_status
msg — массив, в котором будет содержаться информация по измененному объекту, например, ID записи

Пример обработки полученного уведомления на PHP:

$data = file_get_contents('php://input');
$arr = json_decode($data,true);

Продукты

Продукты
Информация по работе с объектом Продукты (products).

Справочники
GET /custom_fields — Получение списка произвольных полей продуктов.

Операции
GET / — Получение списка продуктов.
GET /$id — Получение карточки продукта.
POST / — Добавление продукта.
PUT /$id — Обновление продукта.
DELETE /$id — Удаление продукта.

Поля
name — Название.
description — Описание.
price — Цена.
currency — Валюта.
code — Номер.
cnt — Остаток.
user — Ответственный.

Фильтры
name — Название.
user — Ответственный.

//Пример привязки продукта к сделке с указанием цены и количества на PHP
//Продукт и сделка должны быть предварительно добавлены
$apikey = "Ваш API-ключ";

$url = "https://wirecrm.com/api/v1/products_link";
$headers = array("X-API-KEY:".$apikey
);
$data = '{"deal":"73876","product":"78879","count":"4","price":"230"}';
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($handle);
curl_close($handle);

Заказы

Заказы
Информация по работе с объектом Заказы (orders).

Справочники
GET /statuses — Получение списка статусов заказов.
GET /custom_fields — Получение списка произвольных полей заказов.

Операции
GET / — Получение списка заказов.
GET /$id — Получение карточки заказа.
POST / — Добавление заказа.
PUT /$id — Обновление заказа.
DELETE /$id — Удаление заказа.

Поля
name — Название.
description — Описание.
d_start — Дата.
account — Организация.
contact — Контакт.
status — Статус.
user — Ответственный.

Фильтры
name — Название.
user — Ответственный.

//Пример добавления заказа с заполнением значения произвольного поля на PHP
$apikey = "Ваш API-ключ";

//Получаем список произвольных полей в заказах
$url = "https://wirecrm.com/api/v1/orders/custom_fields";
$headers = array("X-API-KEY:".$apikey
);
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($handle);
curl_close($handle);

//Добавляем заказ
$url = "https://wirecrm.com/api/v1/orders";
$headers = array("X-API-KEY:".$apikey);
$data = '{"name":"Заказ клиента","description":"Покупка через сайт","custom_fields":{"4":"Значение"}}';
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($handle);
curl_close($handle);
//Пример добавления заказа с указанием статуса на PHP
$apikey = "Ваш API-ключ";

//Список статусов заказов
//Можно получить GET запросом https://wirecrm.com/api/v1/orders/statuses
$order_status_id = "ID статуса";

//Добавляем заказ
$url = "https://wirecrm.com/api/v1/orders";
$headers = array("X-API-KEY:".$apikey);
$data = '{"name":"Заказ клиента","description":"Покупка через сайт","status":"'.$order_status_id.'"}';
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($handle);
curl_close($handle);

Уведомления

Уведомления
Информация по работе с объектом Уведомления (notifications).

Операции
POST / — Добавление уведомления пользователю.

Поля
type — Тип уведомления.
message — Сообщение.
user — Пользователь.

//Пример добавления всплывающего сообщения пользователю на PHP
$apikey = "Ваш API-ключ";

$url = "https://wirecrm.com/api/v1/notifications";
$headers = array("X-API-KEY:".$apikey);
$data = '{"type":"popup","message":"Привет пользователь!","user":1}';
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($handle);
curl_close($handle);

Холодные контакты

Холодные контакты
Информация по работе с объектом Холодные контакты (leads).

Справочники
GET /statuses — Получение списка статусов холодных контактов.
GET /sources — Получение списка источников холодных контактов.
GET /custom_fields — Получение списка произвольных полей холодных контактов.

Операции
GET / — Получение списка холодных контактов.
GET /$id — Получение карточки холодного контакта.
POST / — Добавление холодного контакта.
PUT /$id — Обновление холодного контакта.
DELETE /$id — Удаление холодного контакта.

Поля
name — Название.
description — Описание.
phone — Телефон 1.
phone2 — Телефон 2.
phone3 — Телефон 3.
phone4 — Телефон 4.
phone5 — Телефон 5.
email — Email 1.
email2 — Email 2.
email3 — Email 3.
email4 — Email 4.
email5 — Email 5.
site — Сайт.
company — Организация.
source — Источник.
status — Статус.
city — Город.
region — Регион.
address — Адрес.
utm_campaign — UTM Campaign
utm_content — UTM Content
utm_medium — UTM Medium
utm_source- UTM Source
utm_term — UTM Term
utm_age — UTM Age
utm_geo — UTM Geo
clientid — Client ID
user — Ответственный.

Фильтры
name — Название.
phone — Телефон.
email — Почта.
user — Ответственный.

//Пример добавления холодного контакта с указанием UTM меток (utm_campaign, utm_content, utm_medium, utm_source, utm_term) на PHP

$apikey = "Ваш API-ключ";
$url = "https://wirecrm.com/api/v1/leads";
$headers = array("X-API-KEY:".$apikey);
$data = '{"name":"Игорь","phone":"79191122333","email":"test@test.com","description":"Новая заявка","utm_campaign":"kommercheskaya_nedvizhimost","utm_content":"1234567890","utm_medium":"cpc","utm_source":"yandex","utm_term":"kupit_odnokomnatnuju_kvartiru"}';
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($handle);
curl_close($handle);
//Пример добавления холодного контакта с указанием статусы и источника на PHP
$apikey = "Ваш API-ключ";

//Список статусов холодных контактов
//Можно получить GET запросом https://wirecrm.com/api/v1/leads/statuses
$lead_status_id = "ID статуса";

//Список источников холодных контактов
//Можно получить GET запросом https://wirecrm.com/api/v1/leads/sources
$lead_source_id = "ID источника";

//Добавляем холодный контакт
$url = "https://wirecrm.com/api/v1/leads";
$headers = array("X-API-KEY:".$apikey);
$data = '{"name":"Игорь","phone":"79191122333","email":"test@test.com","description":"Новая заявка с сайта","status":"'.$lead_status_id.'","source":"'.$lead_source_id.'"}';
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($handle);
curl_close($handle);

Комментарии

Комментарии
Информация по работе с объектом Комментарии (comments).

Операции
GET / — Получение списка комментариев.
GET /$id — Получение карточки комментария.
POST / — Добавление комментария.
PUT /$id — Обновление комментария.
DELETE /$id — Удаление комментария.

Поля
object — ID Объекта.
objectid — ID записи.
description — Текст комментария.
user — ID ответственного пользователя.

//Пример добавления комментария к карточке организации на PHP
$url = "https://wirecrm.com/api/v1/comments";
$apikey = "Ваш API-ключ";

$headers = array("X-API-KEY:".$apikey);

$data = '{"object":"1","objectid":"1939670","description":"Новый комментарий","user":"1"}';

$handle = curl_init(); 
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);

$data = curl_exec($handle);
curl_close($handle);
//Пример получения списка комментариев на PHP
$url = "https://wirecrm.com/api/v1/comments";
$apikey = "Ваш API-ключ";

$headers = array("X-API-KEY:".$apikey);

$handle = curl_init(); 
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);

$data = curl_exec($handle);
curl_close($handle);

Обращения

Обращения
Информация по работе с объектом Обращения (cases).

Справочники
GET /types — Получение списка типов обращений.
GET /sources — Получение списка источников обращений.
GET /reasons — Получение списка причин обращений.
GET /custom_fields — Получение списка произвольных полей обращений.

Операции
GET / — Получение списка обращений.
GET /$id — Получение карточки обращения.
POST / — Добавление обращения.
PUT /$id — Обновление обращения.
DELETE /$id — Удаление обращения.

Поля
name — Название.
description — Описание.
d_case — Дата.
account — Организация.
contact — Контакт.
type — Тип.
source — Источник.
reason — Причина.
status — Статус.
priority — Приоритет.
user — Ответственный.

Фильтры
name — Название.
user — Ответственный.

//Пример добавления обращения с заполнением значения произвольного поля на PHP
$apikey = "Ваш API-ключ";

//Получаем список произвольных полей в обращениях
$url = "https://wirecrm.com/api/v1/cases/custom_fields";
$headers = array("X-API-KEY:".$apikey
);
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($handle);
curl_close($handle);

//Добавляем обращение
$url = "https://wirecrm.com/api/v1/cases";
$headers = array("X-API-KEY:".$apikey);
$data = '{"name":"Обращение клиента","description":"Обратился клиент с проблемой через сайт","custom_fields":{"4":"Значение"}}';
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($handle);
curl_close($handle);
//Пример добавления обращения с указанием типа, источника и статуса на PHP
$apikey = "Ваш API-ключ";

//Список типов обращений
//Можно получить GET запросом https://wirecrm.com/api/v1/cases/types
$case_type_id = "ID типа";

//Список источников обращений
//Можно получить GET запросом https://wirecrm.com/api/v1/cases/sources
$case_source_id = "ID источника";

//Список статусов обращений (open, close)
$case_status = "open";

//Список приоритетов обращений (low, normal, high)
$case_priority = "normal";


//Добавляем обращение
$url = "https://wirecrm.com/api/v1/cases";
$headers = array("X-API-KEY:".$apikey);
$data = '{"name":"Обращение клиента","description":"Обратился клиент с проблемой через сайт","status":"'.$case_status.'","priority":"'.$case_priority.'","type":"'.$case_type_id.'","source":"'.$case_source_id.'"}';
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($handle);
curl_close($handle);

Сделки

Сделки
Информация по работе с объектом Сделки (deals).

Справочники
GET /stages — Получение списка этапов сделок.
GET /sources — Получение списка источников сделок.
GET /pays — Получение списка статусов оплат сделок.
GET /custom_fields — Получение списка произвольных полей сделок.

Операции
GET / — Получение списка сделок.
GET /$id — Получение карточки сделки.
POST / — Добавление сделки.
PUT /$id — Обновление сделки.
DELETE /$id — Удаление сделки.

Поля
name — Название.
description — Описание.
price — Сумма.
currency — Валюта.
d_close — Дата.
account — Организация.
contact — Контакт.
stage — Этап.
type — Тип.
source — Источник.
pay — Статус оплаты.
d_due — Срок оплаты.
address — Адрес.
site — Ссылка.
user — Ответственный.

Фильтры
name — Название.
user — Ответственный.

//Пример добавления сделки с указанием определенного этапа продажи на PHP
$apikey = "Ваш API-ключ";

//Получаем список этапов сделок
$url = "https://wirecrm.com/api/v1/deals/stages";
$headers = array("X-API-KEY:".$apikey);
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($handle);
curl_close($handle);
$json = json_decode($data);

//Добавляем сделку с первым этапом из списка выше
$url = "https://wirecrm.com/api/v1/deals";
$headers = array("X-API-KEY:".$apikey);
$data = '{"name":"Сделка","description":"Описание сделки","stage":"'.$json->data[0]->id.'"}';
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($handle);
curl_close($handle);
//Пример фильтрации списка сделок по ответственному на PHP
//$url = "https://wirecrm.com/api/v1/deals?custom_fields[272]=Красный"; (Фильтр по одному произвольному полю)
//$url = "https://wirecrm.com/api/v1/deals?custom_fields[272]=Красный&custom_fields[273]=Синий"; (Фильтр по нескольким произвольным полям)

$url = "https://wirecrm.com/api/v1/deals?custom_fields[272]=Красный";
$apikey = "Ваш API-ключ";

$headers = array("X-API-KEY:".$apikey);

$handle = curl_init(); 
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);

$data = curl_exec($handle);
curl_close($handle);
//Пример фильтрации списка сделок по периоду добавления на PHP
//https://wirecrm.com/api/v1/deals?d_reg1=2016-06-20 (Фильтр с указанной даты)
//https://wirecrm.com/api/v1/deals?d_reg2=2016-06-20 (Фильтр по указанную дату)
//https://wirecrm.com/api/v1/deals?d_reg1=2016-06-01&d_reg2=2016-06-20 (Фильтр за период)

$url = "https://wirecrm.com/api/v1/deals?d_reg1=2016-06-20";
$apikey = "Ваш API-ключ";

$headers = array("X-API-KEY:".$apikey);

$handle = curl_init(); 
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);

$data = curl_exec($handle);
curl_close($handle);
//Пример фильтрации списка сделок по ответственному на PHP
$url = "https://wirecrm.com/api/v1/deals?user=1";
$apikey = "Ваш API-ключ";

$headers = array("X-API-KEY:".$apikey);

$handle = curl_init(); 
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);

$data = curl_exec($handle);
curl_close($handle);
//Пример получения списка сделок с ограничением количества сделок на PHP
//Получаем 10 записей, начиная с третьей записи результата набора данных. 

$url = "https://wirecrm.com/api/v1/deals?offset=2&limit=10";
$apikey = "Ваш API-ключ";

$headers = array("X-API-KEY:".$apikey);

$handle = curl_init(); 
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_USERAGENT, "WireCRM Rest API");
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);

$data = curl_exec($handle);
curl_close($handle);