R7K12 — CRM API: полный справочник методов¶
Базовый URL всех методов: https://api.r7k12.ru/{TOKEN}/<метод> (TOKEN — ключ API аккаунта).
addLeads (POST)¶
Метод addLeads¶
Загрузка информации по новым сделкам. В ответ возвращается массив идентификаторов сохраненных сделок или/и массив идентификаторов сделок, которые не загружены с описание причины. Метод: POST Формат: JSON Ссылка: https://api.r7k12.ru/{{TOKEN}}/addLeads Параметры: Таблица 1 Content-type: application/json Таблица 1
| Название | Значение | Обязательный | Описание |
| id | string | Да | Уникальный идентификатор сделки в CRM системе |
| name | string | Нет | Название сделки в CRM системе (не более 500 символов). |
| dateCreate | unix time | Да | Дата создания сделки в формате UNIX |
| status | string | Да | Идентификатор статуса сделки в CRM системе. Для корректной обработки сделок необходимо загрузить статусы используя метод setStatuses |
| dateChangeStatus | string | Нет | Дата изменения статуса в формате Y-m-d |
| type | string | Нет | Тип обращения (Form/Ringostat/Flexbe/Tilda и т.д. ) |
| r7k12id | string | Нет | Уникальный идентификатор визита (или источник визита) R7K12 |
| price | float | Нет | Сумма сделки |
| cost | float | Нет | Себестоимость сделки |
| clientId | string | Нет | Идентификатор клиента в CRM |
| manager | string | Нет | Идентификатор менеджера ответственного за сделку |
| shop | string | Нет | Магазин, к которому относится сделка |
| appealUrl | string | Нет | Полный URL страницы с которой был осуществлен заказ. Пример: https://magazine.ru/page1/product5/?c=1#block=1 |
| appeals | integer | Нет | Количество обращений по сделке |
| appealId | string | Нет | Идентификатор обращения, полученный методом getAppeals |
| number | integer | Нет | Порядковый номер сделки у контакта |
| products | array[object] | Нет | Массив продуктов относящихся к сделке (описание Таблица 2). |
| payment | array[object] | Нет | Платежи по сделку (описание Таблица 3) |
| fields | object | Нет | Дополнительные поля сделки |
Таблица 2
| Название | Значение | Обязательный | Описание |
| id | string | Да | Уникальный идентификатор продукта |
| name | string | Да | Название продукта |
| price | float | Да | Цена за единицу продукта |
| quantity | integer | Да | Количество |
Таблица 3
| Название | Значение | Обязательный | Описание |
| id | string | Да | Уникальный идентификатор платежа |
| sum | float | Да | Сумма платежа |
| status | integer | Да | Статус платежа (1 - платеж совершен, -1 - платеж отменен) |
| date | string | Да | Дата совершения платежа. Формат ГГГГ-ММ-ДД |
Пример тела запроса:¶
[
{
"id":"1",
"name":"Сделка №1",
"dateCreate": 1508746231,
"status":"57667454",
"dateChangeStatus":"2017-10-21",
"type":"Form",
"r7k12id": "14154465",
"price":80.6,
"cost":70,
"clientId":"876",
"manager": 5,
"products": [
{
"id": "1",
"name": "Продукт 1",
"price": 0,
"quantity": 1
},
{
"id": "2",
"name": "Продукт 2",
"price": 124.6,
"quantity": 2
}
],
"payment": [
{
"id": "6458erg",
"sum": 50,
"status": 1,
"date": "2018-04-16"
},
{
"id": "jf94ksm",
"sum": 100,
"status": 1,
"date": "2018-04-20"
}
],
"fields": {
"1": "fields 1",
"45": "fields 3"
}
},
{
"id":"2",
"name":"Сделка №2",
"dateCreate": 1508746531,
"status":"7454",
"r7k12id": "site_offline"
},
{
"id":"3",
"name":"Сделка №3",
"dateCreate": 1509746531,
"status":"744"
}
]
Пример ответа:
{
"upload" : [1,2,3],
"notUpload" : [
{
"id" : 4,
"message" : "Не указан параметр 'dateСreate'"
},
{
"id" : 5,
"message" : "Сделка с указанным идентификатором уже существует"
},
{
"id" : 6,
"message" : "Не удалось загрузить сделку. Указана некорректная дата создания сделки"
}
]
}
Пример скрипта (PHP):
define('TOKEN','XXXXXXXXX');
@file_get_contents(
'https://api.r7k12.ru/'.TOKEN.'/addLeads',
0,
stream_context_create(
[
'http' => [
'method' => "POST",
'header' => "Content-Type: application/json\r\n",
'content' => json_encode(
[
[
'id' => '1',
'name' => 'Сделка №1',
'dateCreate' => 1508746231,
'status' => '57667454',
'type' => 'Form',
'r7k12id' => '14154465',
'price' => 80.6,
'cost' => 70,
'clientId' => '876',
'manager' => '5',
'shop' => 'магазин',
'products' => [
[
'id' => '1',
'name' => 'Продукт 1',
'price' => 0,
'quantity' => 1
],
[
'id' => '2',
'name' => 'Продукт 2',
'price' => 124.6,
'quantity' => 2
]
],
'fields' => [
'1' => 'fields 1',
'45' => 'fields 3'
]
],
[
'id' => '2',
'name' => 'Сделка №2',
'dateCreate' => 1508746531,
'status' => '7454',
'r7k12id' => 'site_offline',
],
[
'id' => '3',
'name' => 'Сделка №3',
'dateCreate' => 1509746531,
'status' => '744',
]
]
)
]
]
)
);
getLeads (GET)¶
Метод getLeads¶
getLeads¶
Метод позволяет получить список сделок. В т.ч. которые были созданы через сервис R7K12. Метод возвращает не более 10000 записей за один вызов, в ответе на каждый запрос добавляется параметр “totalResult” - с общим количеством результатов. Метод: GET Ссылка: https://api.r7k12.ru/{{TOKEN}}/getLeads Параметры: Таблица 1 Таблица 1
| Параметр | Тип | Обязательный | Описание |
| id | string | Нет | Уникальный идентификатор сделки в CRM. При использовании данного параметра в ответе будет сделка с указанным идентификатором (если такая присутствует). |
| lastModified | string | Нет | Дата последнего изменения сделки. Формат: - ГГГГ-ММ-ДД ЧЧ:ММ:СС - ГГГГ-ММ-ДД. Если указан данный параметр то в ответ буду выведены лишь те сделки которые были изменены/созданы после указанной даты. |
| fields | array [string] | Нет | Список полей которые необходимо вывести в ответ. Если параметр не задан то выводится только идентификаторы. Доступные поля: - id - идентификатор сделки - r7k12id - идентификатор “визита” - name - название сделки - status - статус сделки - type - тип обращения - dateCreate - дата создания (UNIX) - lastModified - дата изменения - price - сумма сделки - cost - себестоимость сделки - clientId - идентификатор клиента CRM - manager - идентификатор менеджера ответственного за сделку - products - массив продуктов - fields - доп. поля сделки |
| limit | integer | Нет | Количество выводимых записей в результат (по-умолчанию “10000”) |
| page | integer | Нет | Номер выводимой страницы (по-умолчанию “1”) |
Пример запроса:
define('TOKEN','XXXXXXXXX');
$data = @file_get_contents(
'https://api.r7k12.ru/'.TOKEN.'/getLeads?'.
http_build_query(
[
'lastModified' => '2017-11-11',
'fields' => [
'id',
'status',
'price',
'cost',
'fields'
],
'limit'=> 1
]
)
);
Ответ:
{
"page" : 1,
"totalResult": 156,
"data": [
{
"id" : "1",
"status" : "587",
"price" : 0,
"cost" : 0,
"fields" : {
"source1" : "yandex",
"source2" : "organic",
"source3" : "(not set)"
}
}
]
}
updateLeads (POST)¶
Метод updateLeads¶
Обновление информации по существующим сделкам. Позволяет обновить любой параметр сделки (кроме идентификатора). В ответ возвращается массив идентификаторов обновленных сделок или/и массив идентификаторов сделок, которые не обновлены с описание причины. Метод: POST Формат: JSON Ссылка: https://api.r7k12.ru/{{TOKEN}}/updateLeads Параметры: Таблица 1 Content-type: application/json Таблица 1
| Название | Значение | Обязательный | Описание |
| id | string | Да | Уникальный идентификатор обновляемой сделки в CRM системе |
| name | string | Нет | Название сделки в CRM системе (не более 500 символов). |
| status | string | Нет | Идентификатор статуса сделки в CRM системе. |
| dateChangeStatus | string | Нет | Дата изменения статуса в формате Y-m-d |
| type | string | Нет | Тип обращения (Form/Ringostat/Flexbe/Tilda и т.д. ) |
| type | string | Нет | Тип обращения (Form/Ringostat/Flexbe/Tilda и т.д. ) |
| price | float | Нет | Сумма сделки |
| cost | float | Нет | Себестоимость сделки |
| clientId | string | Нет | Идентификатор клиента в CRM |
| manager | string | Нет | Идентификатор менеджера ответственного за сделку |
| shop | string | Нет | Магазин, к которому относится сделка |
| appealUrl | string | Нет | Полный URL страницы с которой был осуществлен заказ. Пример: https://magazine.ru/page1/product5/?c=1#block=1 |
| appeals | integer | Нет | Количество обращений по сделке |
| appealId | string | Нет | Идентификатор обращения, полученный методом getAppeals |
| number | integer | Нет | Порядковый номер сделки у контакта |
| products | array[object] | Нет | Массив продуктов относящихся к сделке (описание Таблица 2). |
| payment | array[object] | Нет | Платежи по сделку (описание Таблица 3) |
| fields | object | Нет | Дополнительные поля сделки. Примечание: в случае отправки параметра “fields” он перезаписывается полностью |
Таблица 2
| Название | Значение | Обязательный | Описание |
| id | string | Да | Уникальный идентификатор продукта |
| name | string | Да | Название продукта |
| price | float | Да | Цена за единицу продукта |
| quantity | integer | Да | Количество |
Таблица 3
| Название | Значение | Обязательный | Описание |
| id | string | Да | Уникальный идентификатор платежа |
| sum | float | Да | Сумма платежа |
| status | integer | Да | Статус платежа (1 - платеж совершен, -1 - платеж отменен) |
| date | string | Да | Дата совершения платежа. Формат ГГГГ-ММ-ДД |
Пример тела запроса:¶
[
{
"id":"1",
"name":"Сделка закрыта"//Обновить название сделки
"status":"100"//Обновить статус сделки
},
{
"id":"2",
"price":7454//Обновить сумму сделки
},
{
"id":"3",
"products": [//Обновить список продуктов
{
"id": "1",
"name": "Продукт 1",
"price": 0,
"quantity": 1
},
{
"id": "2",
"name": "Продукт 2",
"price": 124.6,
"quantity": 2
}
]
}
]
Пример ответа:¶
{
"update" : [1,2,3],
"notUpdate" : [
{
"id" : NULL,
"message" : "Не указан идентификатор сделки"
},
{
"id" : 5,
"message" : "Сделка с указанным идентификатором не существует"
}
]
}
Пример скрипта (PHP):¶
define('TOKEN','XXXXXXXXX');
@file_get_contents(
'https://api.r7k12.ru/'.TOKEN.'/updateLeads',
0,
stream_context_create(
[
'http' => [
'method' => "POST",
'header' => "Content-Type: application/json\r\n",
'content' => json_encode(
[
[
'id' => '1',
'name' => 'Сделка закрыта',
'status' => '100'
],
[
'id' => '2',
'price' => 7454
],
[
'id' => '3',
'products' => [
[
'id' => '1',
'name' => 'Продукт 1',
'price' => 0,
'quantity' => 1
],
[
'id' => '2',
'name' => 'Продукт 2',
'price' => 124.6,
'quantity' => 2
]
]
]
]
)
]
]
)
);
deleteLeads (POST)¶
Метод deleteLeads¶
deleteLeads¶
Метод позволяет удалить сделки. Метод: POST Формат: JSON Ссылка: https://api.r7k12.ru/{{TOKEN}}/deleteLeads Параметры: Таблица 1 Content-type: application/json Таблица 1
| Название | Значение | Обязательный | Описание |
| ids | array[string] | Да | Массив уникальных идентификаторов сделок, которые необходимо удалить |
Пример тела запроса:
{
"ids" : [1,2,3]
}
Пример скрипта (PHP):
define('TOKEN','XXXXXXXXX');
@file_get_contents(
'https://api.r7k12.ru/'.TOKEN.'/deleteLeads',
0,
stream_context_create(
[
'http' => [
'method' => "POST",
'header' => "Content-Type: application/json\r\n",
'content' => json_encode(
[
'ids' => [1, 2, 3]
]
)
]
]
)
);
addContacts (POST)¶
Метод addContacts¶
addContacts¶
Загрузка информации по новым контактам. В ответ возвращается массив идентификаторов сохраненных контактов или/и массив идентификаторов контактов, которые не загружены с описание причины. Метод: POST Формат: JSON Ссылка: https://api.r7k12.ru/{{TOKEN}}/addContacts Параметры: Таблица 1 Content-type: application/json
| Параметр | Тип | Обязательный | Описание |
| id | string | Да | Уникальный идентификатор контакта в CRM. |
| name | string | Нет | Название контакта |
| dateCreate | double (UNIX) | Да | Дата создания контакта |
| phone | array [string] | Нет (если есть e-mail) | Массив телефонных номеров контакта |
| array [string] | Нет (если есть phone) | Массив e-mail адресов контакта | |
| leads | array [string] | Нет | Массив идентификаторов сделок, к которым относится данный контакт. |
Пример тела запроса:
[
{
"name": "Контакт 1",
"id": "1",
"dateCreate": 1497800760,
"phone": [
"74991234567",
"74993215476"
],
"email": [
"[email protected]",
"[email protected]"
],
"leads": [
"150",
"6583"
]
},
{
"name": "Контакт 2",
"id": "2",
"dateCreate": 1497800760,
"phone": [
"74991234568"
]
},
{
"name": "Контакт 3",
"id": "3",
"dateCreate": 1497800760,
"email": [
"[email protected]"
],
"leads": [
"67889"
]
}
]
Пример ответа:
{
"upload" : [1,2,3],
"notUpload" : [
{
"id" : 4,
"message" : "Не указан параметр 'dateСreate'"
},
{
"id" : 5,
"message" : "Контакт с указанным идентификатором уже существует"
}
]
}
Пример скрипта (PHP):
define('TOKEN','XXXXXXXXX');
@file_get_contents(
'https://api.r7k12.ru/'.TOKEN.'/addContacts',
0,
stream_context_create(
[
'http' => [
'method' => "POST",
'header' => "Content-Type: application/json\r\n",
'content' => json_encode(
[
[
'name' => 'Контакт 1',
'id' => '1',
'dateCreate' => 1497800760,
'phone' => [
'74991234567',
'74993215476'
],
'email' => [
'[email protected]',
'[email protected]'
],
'leads' => [
'150',
'6583'
]
],
[
'name' => 'Контакт 2',
'id' => '2',
'dateCreate' => 1497800760,
'phone' => [
'74991234568'
]
],
[
'name' => 'Контакт 3',
'id' => '3',
'dateCreate' => 1497800760,
'email' => [
'[email protected]'
],
'leads' => [
'67889'
]
]
]
)
]
]
)
);
getContacts (GET)¶
Метод getContacts¶
getContacts¶
Метод позволяет получить список контактов. В т.ч. которые были созданы через сервис R7K12. Метод возвращает не более 10000 записей за один вызов, в ответе на каждый запрос добавляется параметр “totalResult” - с общим количеством результатов. Метод: GET Ссылка: https://api.r7k12.ru/{{TOKEN}}/getContacts Параметры: Таблица 1 Таблица 1
| Параметр | Тип | Обязательный | Описание |
| id | string | Нет | Уникальный идентификатор контакта в CRM. При использовании данного параметра в ответе будет контакт с указанным идентификатором (если такой присутствует). |
| lastModified | string | Нет | Дата последнего изменения контакта. Формат: - ГГГГ-ММ-ДД ЧЧ:ММ:СС - ГГГГ-ММ-ДД. Если указан данный параметр то в ответ буду выведены лишь те контакты которые были изменены/созданы после указанной даты. |
| fields | array [string] | Нет | Список полей которые необходимо вывести в ответ. Если параметр не задан то выводится только идентификаторы. Доступные поля: - id - идентификатор контакта - name - название контакта - phone - массив телефонных номеров - email - массив email адресов - leads - массив идентификаторов сделок - dateCreate - дата создания (UNIX) - lastModified - дата изменения (UNIX) |
| limit | integer | Нет | Количество выводимых записей в результат (по-умолчанию “10000”) |
| page | integer | Нет | Номер выводимой страницы (по-умолчанию “1”) |
Пример запроса:
define('TOKEN','XXXXXXXXX');
$data = @file_get_contents(
'https://api.r7k12.ru/'.TOKEN.'/getContacts?'.
http_build_query(
[
'fields' => [
'id',
'phone',
'leads'
],
'limit' => 1
]
)
);
Ответ:
{
"page" : 1,
"totalResult": 100,
"data": [
{
"id" : "43",
"phone" : [
"74991234567",
"74953215476"
],
"leads" : [
"1"
]
}
]
}
updateContacts (POST)¶
Метод updateContacts¶
updateContacts¶
Обновление информации по существующим контактам. Позволяет обновить любой параметр контакта (кроме идентификатора). В ответ возвращается массив идентификаторов обновленных контактов или/и массив идентификаторов контактов, которые не обновлены с описание причины. Метод: POST Формат: JSON Ссылка: https://api.r7k12.ru/{{TOKEN}}/updateContacts Параметры: Таблица 1 Content-type: application/json Таблица 1
| Параметр | Тип | Обязательный | Описание |
| id | string | Да | Уникальный идентификатор контакта в CRM. |
| name | string | Нет | Название контакта |
| phone | array [string] | Нет | Массив новых телефонных номеров контакта, которые необходимо добавить |
| array [string] | Нет | Массив e-mail адресов контакта, которые необходимо добавить | |
| leads | array [string] | Нет | Массив идентификаторов сделок, к которым относится данный контакт,которые необходимо добавить |
Пример тела запроса:
[
{
"name": "Name update",
"id": "1"
},
{
"id": "2",
"phone": [
"74991234560"
]
},
{
"id": "3",
"email": [
"[email protected]"
],
"leads": [
"679"
]
}
]
Пример ответа:
{
"upload" : [1,2,3],
"notUpdate" : [,
{
"id" : 5,
"message" : "Контакт с указанным идентификатором не существует"
}
]
}
Пример скрипта (PHP):
define('TOKEN','XXXXXXXXX');
@file_get_contents(
'https://api.r7k12.ru/'.TOKEN.'/updateContacts',
0,
stream_context_create(
[
'http' => [
'method' => "POST",
'header' => "Content-Type: application/json\r\n",
'content' => json_encode(
[
[
'name' => 'Name update',
'id' => '1'
],
[
'id' => '2',
'phone' => [
'74991234560'
]
],
[
'id' => '3',
'email' => [
'[email protected]'
],
'leads' => [
'679'
]
]
]
)
]
]
)
);
deleteContacts (POST)¶
Метод deleteContacts¶
deleteContacts¶
Метод позволяет удалить сделки. Метод: POST Формат: JSON Ссылка: https://api.r7k12.ru/{{TOKEN}}/deleteContacts Параметры: Таблица 1 Content-type: application/json Таблица 1
| Название | Значение | Обязательный | Описание |
| ids | array[string] | Да | Массив уникальных идентификаторов контактов, которые необходимо удалить |
Пример тела запроса:
{
"ids" : [1,2,3]
}
Пример скрипта (PHP):
define('TOKEN','XXXXXXXXX');
@file_get_contents(
'https://api.r7k12.ru/'.TOKEN.'/deleteContacts',
0,
stream_context_create(
[
'http' => [
'method' => "POST",
'header' => "Content-Type: application/json\r\n",
'content' => json_encode(
[
'ids' => [1, 2, 3]
]
)
]
]
)
);
setStatuses (POST)¶
Метод setStatuses¶
Загрузка статусов сделок. В случае если будет передан статус с уже записанным ID в сервисе R7K12, то статус будет обновлен. Метод: POST Формат: JSON Ссылка: https://api.r7k12.ru/{{TOKEN}}/setStatuses Параметры: Таблица 1 Content-type: application/json Таблица 1
| Название | Значение | Обязательный | Описание |
| id | string | Да | Уникальный идентификатор статуса в CRM системе |
| group | integer | Да | Группа к которой относится статус. Значение от 1 до 4. - 1 - Не учитывается - 2 - В обработке - 3 - Успешно реализовано - 4 - Отказ |
| name | string | Нет | Название статуса в CRM системе (не более 500 символов). |
Пример тела запроса:¶
[
{
"id":"56385",
"group":"1",//Не учитывать
"name":"Новый заказ"
},
{
"id":"57667454",
"group":"3"//Успешно реализовано
}
]
Пример скрипта (PHP):¶
define('TOKEN','YOURTOKEN');
@file_get_contents(
'https://api.r7k12.ru/'.TOKEN.'/setStatuses',
0,
stream_context_create(
[
'http' => [
'method' => "POST",
'header' => "Content-Type: application/json\r\n",
'content' => json_encode(
[
[
'id' => '56385',
'group' => '1',
'name' => 'Новый заказ'
],
[
'id' => '57667454',
'group' => '3'
],
]
),
],
]
)
);
setManagers (POST)¶
Метод setManagers¶
Метод позволяет загрузить список менеджеров CRM системы. В случае если будет передан менеджер с уже записанным ID в сервисе R7K12, то имя менеджера будет обновлено. Метод: POST Формат: JSON Ссылка: https://api.r7k12.ru/{{TOKEN}}/setManagers Параметры: Таблица 1 Content-type: application/json Таблица 1
| Название | Значение | Обязательный | Описание |
| id | string | Да | Уникальный идентификатор менеджера в CRM системе |
| name | string | Да | Имя менеджера |
Пример тела запроса:¶
[
{
"id":"1",
"name":"Менеджер №1"
},
{
"id":"2",
"name":"Менеджер №2"
}
]
Пример скрипта (PHP):¶
define('TOKEN','YOURTOKEN');
@file_get_contents(
'https://api.r7k12.ru/'.TOKEN.'/setManagers',
0,
stream_context_create(
[
'http' => [
'method' => "POST",
'header' => "Content-Type: application/json\r\n",
'content' => json_encode(
[
[
'id' => '1',
'name' => 'Менеджер №1'
],
[
'id' => '2',
'name' => 'Менеджер №2'
],
]
),
],
]
)
);
getAppeals (GET)¶
Метод getAppeals¶
getAppeals¶
Метод позволяет получить список обращений, которые поступили сервис R7K12. Метод возвращает не более 10000 записей за один вызов, в ответе на каждый запрос добавляется параметр “totalResult” - с общим количеством результатов. Метод: GET Ссылка: https://api.r7k12.ru/{{TOKEN}}/getAppeals Параметры: Таблица 1 Таблица 1
| Параметр | Тип | Обязательный | Описание |
| date | string | Нет | Дата поступления обращения в систему. Формат: - ГГГГ-ММ-ДД ЧЧ:ММ:СС - ГГГГ-ММ-ДД. Если указан данный параметр то в ответ будут выведены лишь те обращения которые были созданы после указанной даты. |
| phone | string | Нет | Номер телефона, указанный в обращении. Должен состоять только из цифр Если указан, будут выведены только те обращения, номер телефона в которых совпадает с заданным номером. |
| string | Нет | Адрес электронной почты, указанный в обращении. Должен быть валидным адресом электронной почты. Если указан, будут выведены только те обращения, номер телефона в которых совпадает с заданным email. | |
| fields | array [string] | Нет | Список полей которые необходимо вывести в ответ. Если параметр не задан то выводится только идентификаторы сессий (r7k12id). Доступные поля: - id - идентификатор обращения - r7k12id - идентификатор сессии - name - имя, указанное в обращении - phone - телефонный номер - email - email адрес - comment - комментарий - date - дата создания (UNIX) - type - тип обращения - call_duration - продолжительность звонка - call_record - ссылка на запись разговора - call_status - статус звонка - price - цена сделки - href - ссылка на страницу, с которой сделали заявку - raw_data - данные по заявке в том виде, в котором они пришли |
| limit | integer | Нет | Количество выводимых записей в результат (по-умолчанию “10000”) |
| page | integer | Нет | Номер выводимой страницы (по-умолчанию “1”) |
Пример запроса:
define('TOKEN','XXXXXXXXX');
$data = @file_get_contents(
'https://api.r7k12.ru/'.TOKEN.'/getAppeals?'.
http_build_query(
[
'fields' => [
'r7k12id',
'name',
'phone',
'email'
],
'limit' => 1
]
)
);
Ответ:
{
"page" : 1,
"totalResult": 100,
"data": [
{
"r7k12id" : "4239487948343",
"name" : "Contact’s Name",
"phone" : "74991234567",
"email" : "[email protected]"
}
]
}
updateIdsEssenceCrm (POST)¶
Метод updateIdsEssenceCrm¶
updateIdsEssenceCrm¶
Метод позволяет обновить уникальный идентификатор сущности (контакт/сделка) CRM. Данный метод подходит в случае интеграции “Своя CRM” и использовании модуля отправки данных, когда необходимо заменить присвоенный сервисом R7K12 идентификатор сущности CRM на свой. Метод: POST Формат: JSON Ссылка: https://api.r7k12.ru/{{TOKEN}}/updateIdsEssenceCrm Параметры: Таблица 1 Content-type: application/json Таблица 1
| Название | Значение | Обязательный | Описание |
| type | ENUM (‘lead’, ’contact’) | Да | Тип сущности CRM у которой необходимо изменить идентификатор |
| oldId | string | Да | Идентификатор сущности, который установлен на данный момент. |
| newId | string | Да | Идентификатор сущности, который необходимо установить. |
Пример тела запроса:
[
{
"type":"lead",
"oldId":"jf97gaossz",
"newId":"301cb030-4126-4065-94d9-8dc2a345573d"
},
{
"type":"lead",
"oldId":"6y62zhzifs",
"newId":"2ed7874b-3646-499b-a54e-ccd31a843527"
},
{
"type":"contact",
"oldId":"3reuqfl2di",
"newId":"f77b6a3f-aab3-4a80-b752-cdfe15ae31b2"
}
]
Пример ответа:
[
{
"type":"lead",
"id":"jf97gaossz",//oldId
"status":"success"
},
{
"type":"lead",
"id":"6y62zhzifs",
"status":"error",
"error_message":"Новый идентификатор не является уникальным"
},
{
"type":"contact",
"id":"3reuqfl2di",
"status":"success"
}
]
Пример скрипта (PHP):
define('TOKEN','XXXXXXXXX');
@file_get_contents(
'https://api.r7k12.ru/'.TOKEN.'/updateIdsEssenceCrm',
0,
stream_context_create(
[
'http' => [
'method' => "POST",
'header' => "Content-Type: application/json\r\n",
'content' => json_encode(
[
[
'type' => 'lead',
'oldId' => 'jf97gaossz',
'newId' => '301cb030-4126-4065-94d9-8dc2a345573d'
],
[
'type' => 'lead',
'oldId' => '6y62zhzifs',
'newId' => '2ed7874b-3646-499b-a54e-ccd31a843527'
],
[
'type' => 'contact',
'oldId' => '3reuqfl2di',
'newId' => 'f77b6a3f-aab3-4a80-b752-cdfe15ae31b2'
]
]
)
]
]
)
);
setShippingTrackingId (POST)¶
Метод setShippingTrackingId¶
Метод позволяет добавить или обновить номер отслеживания почтового отправления в сделке. При указании номера ЭН служба доставки должна быть подключена в интеграциях R7K12CRM. Максимальное количество вводных данных — 100. Метод: POST Ссылка: https://api.r7k12.ru/{{TOKEN}}/R7K12Crm Параметры: Таблица №1 Вводные данные:
{
"method": "setShippingTrackingId",
"input": [
{
"dealId": (string),
"type": (string),
"shippingId": (string)
},
...
]
}
Таблица №1
| Параметр | Тип | Обязательный | Описание |
| method | string | Да | Вызываемый метод. Всегда “setShippingTrackingId” |
| input | array[object] | Да | Входные параметры метода |
| input[index].dealId | string | Да | Идентификатор сделки |
| input[index].type | string | Да | Идентификатор службы доставки, к которой относится номер отслеживания - “novaPoshta” - Новая Почта |
| input[index].shippingId | string | Да | Номер отслеживания почтового отправления |
Пример запроса:
define('TOKEN','YOURTOKEN');
function POST ($request) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.r7k12.ru/'.TOKEN.'/R7K12Crm');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($request,JSON_UNESCAPED_UNICODE));
$out = curl_exec($curl);
curl_close($curl);
return json_decode($out,true);
}
$response = POST(
[
'method' => 'setShippingTrackingId' ,
'input' => [
[
'dealId' => '5e450c947e7c21254b42a942',
'fields' => 'novaPoshta',
'fields' => '1234567890',
]
]
]
);
print_r($response);
Обработка ответа:
{
"success": true,
"warning": [
{
"dealId": (string),
"type": (syting),
"shippingId": (string),
"error": (string)
}
]
}
Таблица №2
| Параметр | Тип | Обязательный | Описание |
| success | true | Нет | Флаг успешной обработки всех загруженных данных. Присутствует только в том случае если все данные были успешно обработаны |
| warning | array[object] | Нет | Массив необработанных входных данных |
| warning[index].dealId | string | Да | Идентификатор сделки |
| warning[index].type | string | Да | Идентификатор службы доставки, к которой относится номер отслеживания - “novaPoshta” - Новая Почта |
| warning[index].shippingId | string | Да | Номер отслеживания почтового отправления |
| warning[index].error | string | Да | Причина, по которой не обработаны данные: - Field "dealId": must be string (a-z0-9) - Deal not found - Incorrect field "shippingId" - Incorrect shipping system - The electronic invoice number "XXXXX" is already set on another deal - Shipping system is not enabled |
Ошибки API¶
Формат ответа:
{
"error": {
"code": (int),
"error": (string),
"error_detail": (string)
}
}
Таблица №3
| Код | Ошибка | Описание |
| -1 | Не удалось выполнить запрос | Произошла внутренняя ошибка API. Обратитесь в техническую поддержку с указанием requestId |
| 20 | Неверный ключ доступа | |
| 21 | Неверный метод | |
| 22 | Некорректный формат данных | |
| 23 | Не указаны обязательные параметры | |
| 24 | Интеграция с API не подключена | |
| 25 | Ошибка записи | |
| 26 | Максимальное количество записей в запросе 100 | |
| 27 | Интервал между запросами должен быть не менее 3 секунды | |
| 28 | Нет доступа к выбранному проекту | |
| 29 | Недостаточно прав для выполнения данного метода | |
| 210 | Для выполнения выбранного метода необходим ключ доступа пользователя | Необходимо получить ключ по схеме OAUTH2 |
| 211 | Токен доступа заблокирован | За дополнительной информацией обратитесь в техническую поддержку |
| 212 | Невозможно параллельное выполнение запросов с одинаковыми методами | Выбранный метод API уже используется в параллельном запросе по указанному токену |
| 301 | Invalid API Method | Вызван некорректный метод API R7K12 CRM |
| 302 | R7K12 CRM is not connected in the project | R7K12 CRM не подключена на проекте |
| 303 | Integration not connected in R7K12 CRM | Интеграция не подключена внутри R7K12 CRM |
| 304 | Incorrect input data | Некорректные входные данные |
| 305 | A lot of data | Превышено максимальное кол-во входных данных |