Перейти к содержанию

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) Массив телефонных номеров контакта
email 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] Нет Массив новых телефонных номеров контакта, которые необходимо добавить
email 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 Нет Номер телефона, указанный в обращении. Должен состоять только из цифр Если указан, будут выведены только те обращения, номер телефона в которых совпадает с заданным номером.
email 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 Превышено максимальное кол-во входных данных