CRM API
Общая информация
Все Get-запросы в данном разделе являются кэшируемыми. Время обновления кэша - 1 минута.
Список типов контактов (GET)
url = BaseUrl + 'TypesContacts?objectId=<идентификатор объекта>'
Ответ:
{
"data": [
{
"id": "4",
"name": "E-Mail",
"isPhone": false,
"isEmail": true,
"isSkype": false,
"isSocialNetwork": false,
"mailing": false
},
{
"id": "6",
"name": "ICQ",
"isPhone": false,
"isEmail": false,
"isSkype": false,
"isSocialNetwork": false,
"mailing": false
},
{
"id": "5",
"name": "Skype",
"isPhone": false,
"isEmail": false,
"isSkype": false,
"isSocialNetwork": false,
"mailing": false
},
{
"id": "1",
"name": "Телефон домашний",
"isPhone": true,
"isEmail": false,
"isSkype": false,
"isSocialNetwork": false,
"mailing": false
},
{
"id": "3",
"name": "Телефон мобильный",
"isPhone": true,
"isEmail": false,
"isSkype": false,
"isSocialNetwork": false,
"mailing": false
},
{
"id": "2",
"name": "Телефон рабочий",
"isPhone": true,
"isEmail": false,
"isSkype": false,
"isSocialNetwork": false,
"mailing": false
}
],
"ver": "1.3.0.32",
"timestamp": "2020-02-12T13:15:34",
"status": "Ok",
"requestId": "c98e26da9b9046d3bbb862e02d27bc25"
}
здесь:
id- идентификатор типа контакта;
name - наименование контакта;
isPhone - булевский флаг указывающий, что данный тип контакта- телефон;
isEmail - булевский флаг указывающий, что данный тип контакта- электронная почта;
isSkype - булевский флаг указывающий, что данный тип контакта- Skype;
isSocialNetwork - булевский флаг указывающий, что данный тип контакта- социальная сеть;
mailing - булевский флаг указывающий, что контакт данного типа может использоваться для почтовых уведомлений и рассылок;
Список типов адресов (GET)
url = BaseUrl + 'TypesAddresses?objectId=<идентификатор объекта>'
Ответ:
{
"data": [
{
"id": "1",
"name": "Домашний"
},
{
"id": "2",
"name": "Рабочий"
}
],
"ver": "1.3.0.32",
"timestamp": "2020-02-12T13:26:42",
"status": "Ok",
"requestId": "2bbbc9286c9b4652bf568afa352737a7"
}
здесь:
id - идентификатор типа адреса;
name - наименование типа адреса;
Список стран (GET)
url = BaseUrl + 'Countries?objectId=<идентификатор объекта>'
Ответ:
{
"data": [
{
"id": "5",
"name": "Молдова"
},
{
"id": "2",
"name": "Россия"
},
{
"id": "4",
"name": "Узбекистан"
}
],
"ver": "1.3.0.32",
"timestamp": "2020-02-12T13:31:13",
"status": "Ok",
"requestId": "95297281e928433db96e4bcbba8cd155"
}
здесь:
id - идентификатор страны;
name - наименование страны;
Список городов (GET)
url = BaseUrl + 'Cities?countryId=<идентификатор страны>&objectId=<идентификатор объекта>'
Ответ:
{
"data": [
{
"id": "10000000000024",
"name": "Хабаровск"
},
{
"id": "10000000000021",
"name": "Кишинев"
}
],
"ver": "1.3.0.32",
"timestamp": "2020-02-12T11:09:30",
"status": "Ok",
"requestId": "0e535aad04a544d896c77b96563a71fa"
}
здесь:
id - идентификатор города;
name - наименование города;
Добавление города (POST)
Запрос:
url = BaseUrl + 'Cities?countryId=<идентификатор страны>&objectId=<идентификатор объекта>'
Тело запроса:
{
"Name": "Таганрог"
}
здесь:
Name - наименование добавляемого города;
Ответ:
{
"data": {
"id": "10000000000034",
"name": "Таганрог"
},
"ver": "1.3.0.32",
"timestamp": "2020-02-12T13:55:04",
"status": "Ok",
"requestId": "de6bfe5b9da44f1cac643c6847f352cf"
}
здесь:
id - идентификатор города;
name - наименование города;
Редактирование города (PUT)
Запрос:
url = BaseUrl + 'Cities?Id=<идентификатор города>&objectId=<идентификатор объекта>'
Тело запроса:
{
"Name": "Таганрог 2"
}
здесь:
Name - новое наименование города;
Ответ:
{
"data": {
"id": "10000000000034",
"name": "Таганрог 2"
},
"ver": "1.3.0.32",
"timestamp": "2020-02-12T14:03:06",
"status": "Ok",
"requestId": "8a9b08fe305b47a584b5961e26870aff"
}
здесь:
id - наименование города;
name - присвоенное новое имя города;
Удаление города (DELETE)
url = BaseUrl + 'Cities?Id=<идентификатор города>&objectId=<идентификатор объекта>'
Ответ:
{
"data": {
"id": "10000000000034"
},
"ver": "1.3.0.32",
"timestamp": "2020-02-12T14:08:24",
"status": "Ok",
"requestId": "2595d7568f024c748291c43bc5ac2a99"
}
здесь:
id - идентификатор удаленного города;
Список станций метро (GET)
url = BaseUrl + 'MetroStations?cityId=<идентификатор города>&objectId=<идентификатор объекта>'
Ответ:
{
"data": [
{
"id": "1",
"name": "Авиамоторная"
},
{
"id": "2",
"name": "Автозаводская"
},
{
"id": "3",
"name": "Академическая"
}
],
"ver": "1.3.0.32",
"timestamp": "2020-02-12T16:04:23",
"status": "Ok",
"requestId": "7d44b0491a0b431295401b9c34b08ff4"
}
здесь:
id - идентификатор станции метро;
name - наименование станции метро;
Список улиц (GET)
url = BaseUrl + 'Streets?cityId=<идентификатор города>&objectId=<идентификатор объекта>'
Ответ:
{
"data": [
{
"id": "10000000016642",
"name": "Восканова",
"postCode": "5654"
},
{
"id": "10000000016640",
"name": "п. Красный",
"postCode": "44"
},
{
"id": "10000000016629",
"name": "Квартал 328",
"postCode": "000"
}
],
"ver": "1.3.0.32",
"timestamp": "2020-02-12T16:11:06",
"status": "Ok",
"requestId": "76b482c9c0744464b8db587f5bfb07b0"
}
здесь:
id - идентификатор улицы;
name - наименование улицы;
postCode - почтовый индекс;
Добавление новой улицы (POST)
Запрос:
url = BaseUrl + 'Streets?cityId=<идентификатор города>&objectId=<идентификатор объекта>'
Тело запроса:
{
"Name": "Комсомольцев",
"PostCode": "ХХХ"
}
Ответ:
{
"data": {
"id": "10000000016643",
"name": "Комсомольцев",
"postCode": "ХХХ"
},
"ver": "1.3.0.32",
"timestamp": "2020-02-12T16:16:33",
"status": "Ok",
"requestId": "2ca0a37963924dbfa7e618fa9ecc0948"
}
здесь:
id - идентификатор улицы;
name - наименование улицы;
postCode - почтовый индекс;
Редактирование улицы (PUT)
Запрос:
url = BaseUrl + 'Streets?Id=<идентификатор улицы>&objectId=<идентификатор объекта>'
Тело запроса:
{
"Name": "Ленина",
"PostCode": "ООО"
}
Ответ:
{
"data": {
"id": "10000000016643",
"name": "Ленина",
"postCode": "ООО"
},
"ver": "1.3.0.32",
"timestamp": "2020-02-12T16:21:14",
"status": "Ok",
"requestId": "f20cc1fbfda44f5db88db47d27be3676"
}
здесь:
id - идентификатор улицы;
name - наименование улицы;
postCode - почтовый индекс;
Удаление улицы (DELETE)
url = BaseUrl + 'Streets?Id=<идентификатор улицы>&objectId=<идентификатор объекта>'
Ответ:
{
"data": {
"id": "10000000016623"
},
"ver": "1.3.0.32",
"timestamp": "2020-02-13T11:09:22",
"status": "Ok",
"requestId": "a0eb04e8994140dd9d8fe56766932b8f"
}
здесь:
id - идентификатор удалённой улицы;
Получение информации о клиенте (GET)
url = BaseUrl + 'Clients?Id=<идентификатор клиента>&objectId=<идентификатор объекта>'
Ответ:
{
"data": {
"id": "10000000009188",
"lastname": "Безногов",
"firstname": "Сергей",
"middlename": "Витальевич",
"birthday": "1971-10-18T00:00:00",
"note": "лояльный клиент"
"contacts": [
{
"id": "10000000008064",
"typeId": "1",
"typeName": "Телефон домашний",
"value": "333"
},
{
"id": "10000000008066",
"typeId": "2",
"typeName": "Телефон рабочий",
"value": "+79998887766"
}
],
"addresses": [
{
"id": "10000000003276",
"typeId": "1",
"typeName": "Домашний",
"countryId": "2",
"country": "Россия",
"zip": "111111",
"region": "",
"cityId": "10000000000002",
"city": "Москва",
"streetId": "10000000000031",
"street": "10-я Текстильщиков",
"house": "10",
"building": "",
"entry": "",
"floor": "",
"apartments": "7",
"entryCode": "",
"dopInfo": "",
"lat": "",
"lng": "",
"metroStationId": "3",
"metroStation": "Академическая",
"readOnly": false
}
],
"accounts": [
{
"accountNumber": "03.00011.00010593.0001",
"status": "Active",
"accountTypeID": 11,
"accountTypeName": "тестовый дебетовый",
"accountDebitEnabled": false,
"accountCreditEnabled": false,
"dateCreate": "2020-02-13T00:00:00",
"balance": 0.00,
"accountCode": null
}
],
"cards": [
{
"cardCode": "112232213",
"isVirtualCard": false,
"isConfirmManager": false,
"status": "Active",
"dateOffered": "2019-12-25T00:00:00",
"dateExpired": "2021-12-25T00:00:00",
"groupID": 3,
"groupName": "основная"
}
]
},
"ver": "1.3.0.32",
"timestamp": "2020-02-13T12:04:25",
"status": "Ok",
"requestId": "38aaaa7be8da4e9695bce0e7aaed8d2e"
}
Данные по клиенту состоят из нескольких групп полей:
data- данные о клиенте:
id - идентификатор;
lastname - фамилия;
firstname - имя;
middlename - отчество;
birthday - день рождения;
note - доп. информация;
contacts - контактные данные:
id - идентификатор;
typeId - тип;
typeName - имя типа;
Value - значение;
addresses - адреса для доставки:
id - идентификатор;
typeId - тип;
typeName - имя типа;
countryId - идентификатор страны;
country - наименование страны;
zip - почтовый индекс;
region - область/регион;
cityId - идентификатор города;
city - наименование города;
streetId - идентификатор улицы;
street - наименование улицы;
house - номер дома;
building - номер строения;
entry - подъезд;
floor - этаж;
apartments - квартира;
entryCode - код домофона;
dopInfo - доп. информация;
lat - координаты адреса;
lng - координаты адреса;
metroStationId - идентификатор метро;
metroStation - наименование метро;
readOnly - признак того, что поле адрес можно редактировать. Для интернет-заказов всегда равен false;
accounts - данные о счетах клиента:
accountNumber - номер счета;
status - текущий уровень;
accountTypeID - тип счета;
accountTypeName - имя типа счета;
accountDebitEnabled - активность счета;
accountCreditEnabled - возможность кредита;
dateCreate - дата открытия;
balance - баланс;
cards - данные о картах клиента:
cardCode - номер карты;
isVirtualCard - виртуальная/не виртуальная карта;
isConfirmManager - подтверждена менеджером;
status - статус;
dateOffered - дата выдачи;
dateExpired - дата окончания срока действия;
groupID - идентификатор группы карты;
groupName - наименование группы карты;
Добавление нового клиента (POST)
Запрос:
url = BaseUrl + 'Clients?objectId=<идентификатор объекта>'
Тело запроса:
{
"lastname": "Васильев",
"firstname": "Иван",
"middlename": "Петрович",
"birthday": "1999-01-01",
"note": "новый клиент",
"contacts":
[{
"typeId": "1",
"value": "987765"
},
{
"typeId": "4",
"value": "v4@com.com"
}],
"addresses":
[{
"typeId": "1",
"countryId": "4",
"zip": "555",
"region": "юго-западный",
"cityId": "10000000000016",
"streetId": "10000000016629",
"house": "10",
"building": "10",
"entry": "5",
"floor": "4",
"apartments": "3",
"entryCode": "2",
"dopInfo": "лифта нет"
}]
}
Формат ответа совпадает с тем, что возвращает GET-запрос Clients.
Редактирование данных клиента (PUT)
Запрос изменяет только основные данные клиента. Для изменения контактов, адреса пользуйтесь запросами /Clients/Contacts, /Clients/Addresses соответственно.
Запрос:
url = BaseUrl + 'Clients?clientId=<идентификатор клиента>&objectId=<идентификатор объекта>'
Тело запроса:
{
"lastname": "Иванов",
"firstname": "Василий",
"middlename": "Петрович"
}
Формат ответа совпадает с тем, что возвращает GET-запрос Clients.
Удаление данных клиента (DELETE)
Данный запрос работает не во всех версиях CRM.
Запрос:
url = BaseUrl + 'Clients?clientId=<идентификатор клиента>&objectId=<идентификатор объекта>'
Ответ:
{
"data": {
id": "10000000009263"
},
"ver": "1.3.0.32",
"timestamp": "2020-02-13T13:02:54",
"status": "Ok",
"requestId": "81c2ec2b687843fc943524a9f896ef90"
}
здесь:
id - идентификатор удаленной записи;
Добавление нового контакта клиента (POST)
Запрос:
url = BaseUrl + '/Clients/Contacts?clientId=<идентификатор клиента>&objectId=<идентификатор объекта>'
Тело запроса:
{
"typeId": "1",
"value": "sample@com.com"
}
Формат ответа совпадает с тем, что возвращает GET-запрос Clients.
Изменение контакта клиента (PUT)
Запрос:
url = BaseUrl + '/Clients/Contacts?clientId=<идентификатор клиента>&contactId=<идентификатор контакта>&objectId=<идентификатор объекта>'
Тело запроса:
{
"value": "test@ru.ru"
}
Формат ответа совпадает с тем, что возвращает GET-запрос Clients.
Удаление контакта клиента (DELETE)
Запрос:
url = BaseUrl + '/Clients/Contacts?clientId=<идентификатор клиента>&contactId=<идентификатор контакта>&objectId=<идентификатор объекта>'
Формат ответа совпадает с тем, что возвращает GET-запрос Clients.
Добавление нового адреса клиента (POST)
Запрос:
url = BaseUrl + '/Clients/Addresses?clientId=<идентификатор клиента>&objectId=<идентификатор объекта>'
Тело запроса:
{
"typeId": "1",
"countryId": "4",
"zip": "777",
"region": "Приморье",
"cityId": "10000000000016",
"streetId": "10000000016629",
"house": "11",
"building": "12",
"entry": "5",
"floor": "3",
"apartments": "3",
"entryCode": "2",
"dopInfo": "долг 1000р."
}
Формат ответа совпадает с тем, что возвращает GET-запрос Clients.
Изменение адреса клиента (PUT)
Запрос:
url = BaseUrl + '/Clients/Addresses?clientId=<идентификатор клиента>&contactId=<идентификатор адреса>&objectId=<идентификатор объекта>'
Тело запроса:
{
"region": "Речной",
"house": "20"
}
Формат ответа совпадает с тем, что возвращает GET-запрос Clients.
Удаление адреса клиента (DELETE)
Запрос:
url = BaseUrl + '/Clients/Addresses?clientId=<идентификатор клиента>&contactId=<идентификатор адреса>&objectId=<идентификатор объекта>'
Формат ответа совпадает с тем, что возвращает GET-запрос Clients.