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"
}

Описание таблиц в базе данных

Каждый источник данных создает набор таблиц в вашей базе данных

Во вкладках ниже вы сможете найти шаблон имени таблицы и описание создаваемых колонок в таблице

Название таблицы:
import_1c_leads
Название колонки Описание
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)
Название таблицы:
import_events
Название колонки Описание
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)
Название таблицы:
import_implementation
Название колонки Описание
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
Название таблицы:
import_contract
Название колонки Описание
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)
Название таблицы:
import_manager
Название колонки Описание
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)
Название таблицы:
import_payment
Название колонки Описание
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)
Название таблицы:
import_product
Название колонки Описание
guid Product ID
name Product name
parent_guid Parent product (for SKU)
property Additional data in JSON format (Optional)
Название таблицы:
import_price
Название колонки Описание
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)
Название таблицы:
import_sale_plan
Название колонки Описание
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)
Название таблицы:
import_cost_plan
Название колонки Описание
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
Название таблицы:
import_cost_fact
Название колонки Описание
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