API для загрузки данных в webhook.good.bi
API построен по REST-принципам.
URL сервиса сбора данных https://webhook.good.bi/
API отвечает на GET POST PUT DELETE запросы, в зависимости от метода (читайте в описании к методу).
Обмен данными происходит в json формате
HTTP-Авторизация
Для использования API good.bi необходимо получить авторизационный токен через интерфейс в сервисе Калидка. Токен указан в разделе ''База данных'' --> ''Калидка'' --> ''Показать ключ''.

Токен необходимо передавать для каждого метода в HTTP-заголовке Authorization.
Authorization: Bearer <ВАШ КЛЮЧ API>
Для отладки авторизации есть метод ''https://webhook.good.bi/user_info/''
Пример запроса:
GET /user_info/ Host: webhook.good.bi Authorization: Bearer 32b41a10-9910-4d03-a841-177d3d88a136 Content-Type: application/json
Если все указанно верно, то метод вернет json ответ:
{
"email": "test@mail.com",
"id_user": 3,
"status": "OK",
"user": "Тестовый аккаунт"
}
Формат дат/времени
При передаче данных в Api, требуется привести данные с датами в единый формат. Мы работаем в формате дат ISO 8601
[{
"date": "2018-01-31T13:42:01",
...
} ...]
Методы
Загрузка информации о контрагентах и бизнес-процессах в системе.
Url Метода: ''https://webhook.good.bi/import_leads_1c/''
Метод требует HTTP - авторизации
Для передачи данных используйте POST метод
Метод принимает в себя массив объектов с информацией о контрагентах
За один запрос рекомендуется отправлять не более 50 объектов.
- Пример запроса: *
POST /import_leads_1c/ Host: webhook.good.bi Authorization: Bearer 32b41a10-9910-4d03-a841-177d3d88a136 Content-Type: application/json
Тело запроса:
[
{
"date": "2018-01-31T13:42:01",
"id_client": "14501b27-04f8-11e8-80e0-00155d011152",
"phones": "8902474555633",
"name": "Сергеев Иван",
"comment": "Пришел за авто",
"organization": "Авто",
"type_of_activity": "Кузовной ремонт"
},
{
"date": "2018-01-31T13:42:01",
"id_client": "14501b27-04f8-11e8-80e0-00155d011152",
"phones": "890233555633; 890233555631",
"name": "Андреев Вениамин",
"comment": null,
"organization": "Авто",
"id_bp": "14501b27-04f8-11e8-80e0-00155d011152",
"type_of_activity": "Продажа авто"
},...
]
Описание полей: информация о контрагентах
При успешном сохранении сервер ответит:
{
"status": "OK",
"message": "Lead information saved"
}
Загрузка фактических событий
Url Метода: ''https://webhook.good.bi/import_events/''
Метод требует HTTP - авторизации
Для передачи данных используйте POST метод
Метод принимает в себя массив с событиями.
За один запрос рекомендуется отправлять не более 50 событий.
- Пример запроса:*
POST /import_events/ Host: webhook.good.bi Authorization: Bearer 32b41a10-9910-4d03-a841-177d3d88a136 Content-Type: application/json
Тело запроса:
[
{
"date": "2018-01-31T13:42:01",
"id_client": "14501b27-04f8-11e8-80e0-00155d011152",
"organization": "Авто",
"id_bp": "14501b27-04f8-11e8-80e0-00155d011152",
"event_name": "Тест Драйв",
"comment": "Записался на тест-драйв"
},
....
]
При успешном сохранении сервер ответит:
{
"status": "OK",
"message": "Events information saved"
}
Загрузка реализаций
Url Метода: ''https://webhook.good.bi/import_implementation/''
Метод требует HTTP - авторизации
Метод принимает в себя массив с событиями реализаций.
За один запрос рекомендуется отправлять не более 50 событий.
Для передачи данных используйте POST метод
- Пример запроса: *
POST /import_implementation/ Host: webhook.good.bi Authorization: Bearer 32b41a10-9910-4d03-a841-177d3d88a136 Content-Type: application/json
Тело запроса:
[
{
"date": "2018-01-31T13:42:01",
"id_bp": "14501b27-04f8-11e8-80e0-00155d011152",
"id_client": "14501b27-04f8-11e8-80e0-00155d011152",
"id_sale": "12345678ae",
"organization": "Киа",
"type_of_activity": "Trade-in",
"nomenclature": "AE8266",
"name": "Автомобиль мечты",
"price": 1000000.5,
"amount": 1,
"discount_percent": 4,
"discount_money": 40000.02,
"summ": 960000.48,
"summ_vat": 192000.096,
"is_canceled": false
},
....
]
При успешном сохранении сервер ответит:
{
"status": "OK",
"message": "Implementation information saved"
}
Загрузка договоров
Url Метода: ''https://webhook.good.bi/import_contract/''
Метод требует HTTP - авторизации
Метод принимает в себя массив с событиями реализаций.
За один запрос рекомендуется отправлять не более 50 событий.
Для передачи данных используйте POST метод
- Пример запроса: *
POST /import_contract/ Host: webhook.good.bi Authorization: Bearer 32b41a10-9910-4d03-a841-177d3d88a136 Content-Type: application/json
Тело запроса:
[
{
"id_client": "11111",
"id_document": "22222",
"id_deal": "33333",
"name_document": "Документ № 1365432",
"status_document": "В работе",
"nomenclature": "Покупка изделий",
"id_manager": "44444",
"id_agent": "44444",
"name_manager": "Вася",
"price": "1000",
"vat": "13",
"price_with_vat": "1130",
"date_start": "2020-01-15T12:04:23",
"date_end": "2020-01-15T15:20:18",
"is_canceled": false
},
....
]
При успешном сохранении сервер ответит:
{
"status": "OK",
"message": "Contract information saved"
}
Загрузка менеджеров
Url Метода: ''https://webhook.good.bi/import_manager/''
Метод требует HTTP - авторизации
Метод принимает в себя массив с событиями реализаций.
За один запрос рекомендуется отправлять не более 50 событий.
Для передачи данных используйте POST метод
- Пример запроса: *
POST /import_manager/ Host: webhook.good.bi Authorization: Bearer 32b41a10-9910-4d03-a841-177d3d88a136 Content-Type: application/json
Тело запроса:
[
{
"id_manager": "44444",
"name_manager": "Вася",
"organization": "Рога и копыта",
"departament": "Отдел продаж",
"type_of_activity": "Продавец",
"phone": "+70123456789",
"external_id": "12345",
"is_external": true,
"is_active": false,
"date_start": "2018-09-13T09:00:00",
"date_end": "2020-01-27T18:00:00",
"coefficent": "15"
},
....
]
При успешном сохранении сервер ответит:
{
"status": "OK",
"message": "Manager information saved"
}
Загрузка платежей
Url Метода: ''https://webhook.good.bi/import_payment/''
Метод требует HTTP - авторизации
Метод принимает в себя массив с событиями реализаций.
За один запрос рекомендуется отправлять не более 50 событий.
Для передачи данных используйте POST метод
- Пример запроса: *
POST /import_payment/ Host: webhook.good.bi Authorization: Bearer 32b41a10-9910-4d03-a841-177d3d88a136 Content-Type: application/json
Тело запроса:
[
{
"id_document": "22222",
"date_relevance": "2020-01-28T18:00:00",
"date_payment": "2020-01-27T18:00:00",
"sum_payment": "1000",
"vat": "13",
"sum_payment_vat": "1130",
"sum_dept": "0"
},
....
]
При успешном сохранении сервер ответит:
{
"status": "OK",
"message": "Payment information saved"
}
Загрузка каталога товаров
Url Метода: ''https://webhook.good.bi/import_product/''
Метод требует HTTP - авторизации
Метод принимает в себя массив с событиями реализаций.
За один запрос рекомендуется отправлять не более 50 событий.
Для передачи данных используйте POST метод
- Пример запроса: *
POST /import_product/ Host: webhook.good.bi Authorization: Bearer 32b41a10-9910-4d03-a841-177d3d88a136 Content-Type: application/json
Тело запроса:
[
{
"guid": 123456789,
"name": "House",
"parent_guid": 135792468,
"property": {"1" : "1", "2": "2"}
}
....
]
Описание полей: Каталог товаров
При успешном сохранении сервер ответит:
{
"status": "OK",
"message": "Product information saved"
}
Загрузка цен
Url Метода: ''https://webhook.good.bi/import_price/''
Метод требует HTTP - авторизации
Метод принимает в себя массив с ценами на объекты.
За один запрос рекомендуется отправлять не более 50 событий.
Для передачи данных используйте POST метод
- Пример запроса: *
POST /import_price/ Host: webhook.good.bi Authorization: Bearer 32b41a10-9910-4d03-a841-177d3d88a136 Content-Type: application/json
Тело запроса:
[
{
"guid": "866774-44-67-dfdtrg-g",
"cost": "12.0",
"date": "2020-3-13 12:00:00",
"cost_type": "rozn",
"currency_code": "333"
}
....
]
При успешном сохранении сервер ответит:
{
"status": "OK",
"message": "Price information saved"
}
Загрузка плана продаж
Url Метода: ''https://webhook.good.bi/import_sale_plan/''
Метод требует HTTP - авторизации
Метод принимает в себя массив с событиями реализаций.
За один запрос рекомендуется отправлять не более 50 событий.
Для передачи данных используйте POST метод
- Пример запроса: *
POST /import_sale_plan/ Host: webhook.good.bi Authorization: Bearer 32b41a10-9910-4d03-a841-177d3d88a136 Content-Type: application/json
Тело запроса:
[
{
"date_of_revelence": "2020-03-25 12:00:00",
"plan_period": "2020-02-29",
"object": "dfgsdgsd-sdfgsd2342fs-456bd4-45f",
"type": "house",
"count": "12345",
"sum": "1000000000000.3475"
}
....
]
При успешном сохранении сервер ответит:
{
"status": "OK",
"message": "Sale plan information saved"
}
Каждый источник данных создает набор таблиц в вашей базе данных
Во вкладках ниже вы сможете найти шаблон имени таблицы и описание создаваемых колонок в таблице
| Название колонки | Описание |
|---|---|
date_start |
Date of lead creation |
id_client |
Lead/Client ID |
id_system |
System ID (Optional) |
id_bp |
Pipeline ID (Optional) |
name_system |
Lead source (Optional) |
status_lead |
Lead status |
phones |
Phone number |
name |
Fullname |
comment |
Comment (Optional) |
organization |
Organization to which lead applied (Optional) |
id_organization |
Organization ID within your company (Optional) |
type_of_activity |
Type of activity of the organization |
property |
Additional data in JSON format (Optional) |
| Название колонки | Описание |
|---|---|
date_start |
Date of event |
id_client |
Client ID |
id_bp |
Pipeline ID (Optional) |
id_organization |
Organization ID within your company (Optional) |
organization |
Organization to which lead applied (Optional) |
event_name |
Event name (status name) |
comment |
Comment |
property |
Additional data in JSON format (Optional) |
| Название колонки | Описание |
|---|---|
id_sale |
Sale ID |
date |
Date |
id_client |
Client ID |
id_bp |
Pipeline ID (Optional) |
id_organization |
Organization ID within your company (Optional) |
organization |
Organization (Optional) |
type_of_activity |
Type of activity of the organization |
nomenclature |
Nomenclature number |
name |
Title |
price |
Price |
amount |
Quantity |
discount_percent |
Discount percent |
discount_money |
Discount, rubles |
summ |
Sum without VAT |
summ_vat |
Sum including VAT |
property |
Additional data in JSON format (Optional) |
is_canceled |
Has this implementation been cancelled |
| Название колонки | Описание |
|---|---|
id_client |
Client Id |
id_deal |
Deal ID |
id_document |
Agreement/Contract ID |
name_document |
Contract title |
status_document |
Contract status |
nomenclature |
Nomenclature / Subject of the contract |
id_manager |
Manager ID (Optional) |
id_agent |
Agent ID (Optional) |
name_manager |
Manager name (Optional) |
name_agent |
Agent name (Optional) |
price |
Contract amount without VAT |
vat |
VAT % |
price_with_vat |
Contract amount including VAT |
date_start |
Contract start date |
date_end |
Contract end date |
is_canceled |
Has this contract been cancelled |
data_reg |
Date of contract registration (Optional) |
number_reg |
Contract registration number (Optional) |
id_agency |
Agency ID (Optional) |
name_agency |
Agency name (Optional) |
property |
Additional data in JSON format (Optional) |
| Название колонки | Описание |
|---|---|
id_manager |
Manager ID |
name_manager |
Manager name |
organization |
Organization ID |
departament |
Departament |
type_of_activity |
Type of activity of the organization |
phone |
Phone |
external_id |
External ID (Optional) |
is_external |
Is an external employee/agent |
is_active |
is active |
date_start |
Date of hire |
date_end |
Date of dismissal |
coefficent |
Ratio (Optional) |
property |
Additional data in JSON format (Optional) |
| Название колонки | Описание |
|---|---|
id_document |
Agreement/Contract ID |
date_payment |
Payment date |
date_relevance |
Planned date of payment |
sum_payment |
Payment amount without VAT |
vat |
VAT % |
sum_payment_vat |
Payment amount with VAT |
sum_dept |
Sum Dept |
property |
Additional data in JSON format (Optional) |
| Название колонки | Описание |
|---|---|
guid |
Product ID |
name |
Product name |
parent_guid |
Parent product (for SKU) |
property |
Additional data in JSON format (Optional) |
| Название колонки | Описание |
|---|---|
guid |
Product ID |
date_start |
Start date of the price |
cost |
Price |
cost_type |
Price type |
currency_code |
Currency code |
property |
Additional data in JSON format (Optional) |
| Название колонки | Описание |
|---|---|
date_of_revelence |
Date of plan relevance |
plan_period |
Plan end date |
object |
Object |
type |
Type |
count |
Quantity |
sum |
Sum |
property |
Additional data in JSON format (Optional) |
| Название колонки | Описание |
|---|---|
id_organization |
Organization ID within your company (Optional) |
cost_type |
Cost type |
object |
Object |
version |
Version |
date_start |
Cost date |
sum |
Sum |
property |
Additional data in JSON format (Optional) |
date_of_revelence |
Date of cost relevance |
| Название колонки | Описание |
|---|---|
id_organization |
Organization ID within your company (Optional) |
cost_type |
Cost type |
object |
Object |
id_document |
Agreement/Contract ID |
date_start |
Cost date |
sum |
Sum |
property |
Additional data in JSON format (Optional) |
is_canceled |
Whether these costs are cancelled |