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 Дата создания лида
id_client ID Лида / клиента
id_system ID системы (Опционально)
id_bp ID бизнес-процесса (Опционально)
name_system Источник лида (Опционально)
status_lead Статус лида
phones Номер телефона
name Ф.И.О. Клиента
comment Комментарий (Опционально)
organization Организация в которую обратился клиент (Опционально)
id_organization ID Организации внутри вашей компании (Опционально)
type_of_activity Вид деятельности организации
property Дополнительные данные в JSON формате (Опционально)
Название таблицы:
import_events
Название колонки Описание
date_start Дата события
id_client ИД Клиента
id_bp ID бизнес-процесса (Опционально)
id_organization ID Организации внутри вашей компании (Опционально)
organization Организация в которую обратился клиент (Опционально)
event_name Наименование события (имя статуса)
comment Комментарий к статусу (обычно содержание коммуникации)
property Дополнительные данные в JSON формате (Опционально)
Название таблицы:
import_implementation
Название колонки Описание
id_sale ID продажи
date Дата реализации
id_client ID клиента
id_bp ID бизнес-процесса (Опционально)
id_organization ID Организации внутри вашей компании (Опционально)
organization Организация (Опционально)
type_of_activity Вид деятельности организации
nomenclature Номер номенклатуры
name Наименование товара
price Цена товара
amount Количество товара
discount_percent Процент скидки
discount_money Скидка в рублях
summ Сумма реализации без НДС
summ_vat Сумма реализации с НДС
property Дополнительные данные в JSON формате (Опционально)
is_canceled Отменена ли эта реализации
Название таблицы:
import_contract
Название колонки Описание
id_client Ид клиента
id_deal Ид Сделки
id_document Ид Договора / контракта
name_document Заголовок документа
status_document Статус документа
nomenclature Номенклатура / Предмет договора
id_manager ID менеджера (Опционально)
id_agent ID агента (Опционально)
name_manager Имя менеджера (Опционально)
name_agent Имя агента (Опционально)
price Сумма договора без НДС
vat НДС%
price_with_vat Cумма договора с НДС
date_start Дата начала договора
date_end Дата окончания договора
is_canceled Отменен ли этот договор
data_reg Дата регистрации договора (Опционально)
number_reg Номер регистрации договора (Опционально)
id_agency ИД агенства (Опционально)
name_agency Имя агенства (Опционально)
property Дополнительные данные в JSON формате (Опционально)
Название таблицы:
import_manager
Название колонки Описание
id_manager ИД менеджера
name_manager Имя менеджера
organization ИД организации
departament Подразделение
type_of_activity Вид деятельности организации
phone Телефон
external_id Внешний ИД (опционально)
is_external Является внешним сотрудником / агентом
is_active Активен?
date_start Дата приема на работу
date_end Дата увольнения
coefficent Коэффицент (Опционально)
property Дополнительные данные в JSON формате (Опционально)
Название таблицы:
import_payment
Название колонки Описание
id_document Ид Договора / контракта
date_payment Дата оплаты
date_relevance Планируемая дата оплаты
sum_payment Сумма оплаты без НДС
vat НДС %
sum_payment_vat Сумма оплаты c НДС
sum_dept Sum Dept
property Дополнительные данные в JSON формате (Опционально)
Название таблицы:
import_product
Название колонки Описание
guid ИД товара
name Наименование товара
parent_guid Родительский товар (Для SKU)
property Дополнительные данные в JSON формате (Опционально)
Название таблицы:
import_price
Название колонки Описание
guid ИД товара
date_start Дата начала действия цены
cost Цена
cost_type Тип цены
currency_code Код валюты
property Дополнительные данные в JSON формате (Опционально)
Название таблицы:
import_sale_plan
Название колонки Описание
date_of_revelence Дата актуальности плана
plan_period Дата окончания плана
object Объект планирования
type Тип объекта планирования
count Количество
sum Сумма
property Дополнительные данные в JSON формате (Опционально)
Название таблицы:
import_cost_plan
Название колонки Описание
id_organization ID Организации внутри вашей компании (Опционально)
cost_type Статья затрат
object Объект планирования
version Версия
date_start Дата затрат
sum Сумма
property Дополнительные данные в JSON формате (Опционально)
date_of_revelence Дата актуальности затрат
Название таблицы:
import_cost_fact
Название колонки Описание
id_organization ID Организации внутри вашей компании (Опционально)
cost_type Статья затрат
object Объект планирования
id_document Ид Договора / контракта
date_start Дата затрат
sum Сумма
property Дополнительные данные в JSON формате (Опционально)
is_canceled Отменены ли эти затраты