Бизнесы
Бизнес (branch) — юридическое лицо/филиал, к которому привязаны заказы, сотрудники, склады, реквизиты и интеграции с банками.
Список и таблица
Список бизнесов
- Метод
- GET
- URL
https://api.gigma.ru/api/branches- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Параметры запроса (query string)
query— поисковая строка (необязательно)
Пример запроса
GET https://api.gigma.ru/api/branches Ответ
При успешном действии возвращается HTTP код 200.
{
"branches": [
{
"id": 1,
"code": "1349",
"responsible_user": {
"id": 2,
"first_name": "Алексей",
"last_name": "Жуков",
"middle_name": "Игоревич",
"name": "Жуков Алексей"
},
"avatar": {
"id": 40,
"name": "organic-cosmetics.png",
"path": "https://beta.back.erp.itecho.ru/storage/uploads/organic-cosmetics.png",
"created_at": "2024-06-17T16:05:02.000000Z",
"updated_at": "2024-06-17T16:05:02.000000Z"
},
"title": "Продажа косметики",
"inn": "5403057658",
"name": "ООО "АЙТЕКО"",
"kpp": "540301001",
"phone_1": "79139121349",
"phone_2": "71231231231",
"email": "support@itecho.ru",
"head": "Снегирёв Алексей Игоревич",
"address": "630073, г. Новосибирск, Новогодняя ул., д. 20/1, кв. 26",
"legal_address": "630073, г. Новосибирск, Новогодняя ул., д. 20/1, кв. 26",
"created_at": "2024-03-27T07:26:29.000000Z"
}
],
"branchesCount": 1
} Описание полей ответа
id— первичный ключcode— внутренний код бизнесаresponsible_user— ответственный пользователь (объект):id,first_name,last_name,middle_name,nameavatar— файл аватара/логотипа илиnulltitle— короткое название проекта/бизнесаname— полное юридическое наименованиеinn,kpp— реквизиты юрлицаhead— ФИО директораphone_1,phone_2,emailaddress— фактический адресlegal_address— юридический адресcreated_at— дата созданияbranchesCount— общее количество бизнесов
Таблица бизнесов (для UI с колонками и пагинацией)
- Метод
- GET
- URL
https://api.gigma.ru/api/tables/branches- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Возвращает данные, готовые к отрисовке таблицы: список колонок, упрощённые бизнесы и пагинацию.
Параметры запроса (query string)
query— поисковая строкаresponsible_user_id[]— фильтр по ответственномуpage,per_page— пагинация
Ответ
{
"columns": [
{ "id": 1, "table_id": 4, "order": 1, "key": "title", "has_icon": 1, "text": "Название" },
{ "id": 2, "table_id": 4, "order": 2, "key": "responsible_user", "has_icon": 1, "text": "Ответственный" },
{ "id": 3, "table_id": 4, "order": 3, "key": "inn", "has_icon": 0, "text": "ИНН" }
],
"branches": [ { "id": 1, "code": "1349", "title": "Продажа косметики", "inn": "5403057658" } ],
"pagination": {
"total": 5,
"per_page": 15,
"current_page": 1,
"last_page": 1,
"from": 1,
"to": 5
},
"message": ""
} Описание полей ответа
columns[]— определения колонок (id,table_id,order,key,has_icon,text)branches[]— упрощённые объекты бизнесов для таблицыpagination— стандартный Laravel-пагинаторmessage— служебное сообщение (обычно пусто)
Карточка бизнеса
Получение бизнеса по ID
- Метод
- GET
- URL
https://api.gigma.ru/api/branches/{id}- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Параметры запроса
Только id бизнеса в пути URL.
Ответ
{
"branch": {
"id": 1,
"code": "1349",
"responsible_user": {
"id": 2,
"first_name": "Алексей",
"last_name": "Жуков",
"middle_name": "Игоревич",
"name": "Жуков Алексей"
},
"avatar": null,
"title": "Разработка и продажа ПО",
"inn": "5403057658",
"name": "ООО "АЙТЕКО"",
"kpp": "540301001",
"phone_1": "79139121349",
"phone_2": null,
"email": "support@itecho.ru",
"head": "Снегирёв Алексей Игоревич",
"address": "630073, г. Новосибирск, Новогодняя ул., д. 20/1, кв. 26",
"legal_address": "630073, г. Новосибирск, Новогодняя ул., д. 20/1, кв. 26",
"created_at": "2024-03-27T07:26:29.000000Z"
}
}Создание бизнеса
- Метод
- POST
- URL
https://api.gigma.ru/api/branches- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Параметры запроса (тело)
title— короткое название проектаname— полное юридическое наименованиеcode— внутренний кодinn,kpp— реквизиты юрлицаhead— ФИО директораphone_1,phone_2,emailaddress— фактический адресlegal_address— юридический адресresponsible_user_id— ID ответственного пользователя (nullable)avatar_id— ID файла аватара (необязательно)
Пример запроса
{
"title": "Продажа косметики",
"name": "ООО "АЙТЕКО"",
"code": "1349",
"inn": "5403057658",
"kpp": "540301001",
"head": "Снегирёв Алексей Игоревич",
"phone_1": "79139121349",
"phone_2": "71231231231",
"email": "support@itecho.ru",
"address": "630073, г. Новосибирск, Новогодняя ул., д. 20/1, кв. 26",
"legal_address": "630073, г. Новосибирск, Новогодняя ул., д. 20/1, кв. 26",
"responsible_user_id": 2,
"avatar_id": 40
} Ответ
{
"branch": { "id": 42, "...": "поля как в GET" }
}Изменение бизнеса
- Метод
- PUT
- URL
https://api.gigma.ru/api/branches/{id}- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Параметры запроса (тело)
Те же поля, что и в POST /api/branches.
Ответ
{
"branch": { "id": 1, "...": "обновлённый объект" }
}Удаление бизнеса
- Метод
- DELETE
- URL
https://api.gigma.ru/api/branches/{id}- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Параметры запроса
Только id бизнеса в пути URL.
Ответ
При успешном действии возвращается HTTP код 200.
{
"message": "Branch deleted"
}Банковские реквизиты бизнеса
Список реквизитов бизнеса
- Метод
- GET
- URL
https://api.gigma.ru/api/branches/{id}/bank_requisites- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Ответ
{
"bankRequisites": [
{
"id": 1,
"name": "Расчётный счёт в Сбербанке",
"bik": "045004641",
"kpp": "540301001",
"payment_account": "40702810844050003101",
"address": "630007, г. Новосибирск, Красный проспект, д. 5"
}
],
"bankRequisitesCount": 1
}Добавление реквизита бизнеса
- Метод
- POST
- URL
https://api.gigma.ru/api/branches/{id}/bank_requisites- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Параметры запроса (тело)
name— название счёта/банкаbik— БИКkpp— КППpayment_account— номер расчётного счётаaddress— адрес банка
Пример запроса
{
"name": "Расчётный счёт в Сбербанке",
"bik": "045004641",
"kpp": "540301001",
"payment_account": "40702810844050003101",
"address": "630007, г. Новосибирск, Красный проспект, д. 5"
} Ответ
Структура аналогична GET — массив bankRequisites и bankRequisitesCount.
Изменение реквизита бизнеса
- Метод
- PUT
- URL
https://api.gigma.ru/api/branches/{id}/bank_requisites/{requisiteId}- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Параметры запроса (тело)
Те же поля, что и в POST.
Ответ
Структура аналогична GET.
История
История изменений бизнеса
- Метод
- GET
- URL
https://api.gigma.ru/api/branches/{id}/history- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Ответ
{
"histories": [
{
"id": 101,
"icon": "edit",
"color": "info",
"title": "Изменён телефон",
"description": "phone_1: 79139121349 → 79991112233",
"datetime": "2024-04-03T07:07:11.000000Z"
}
],
"historiesCount": 1
} Описание полей ответа
histories[]— события таймлайна:id— ID событияicon— имя иконки (edit,add,delete, …)color—primary | secondary | info | success | warning | error | dark | lighttitle— короткий заголовокdescription— описание измененияdatetime— ISO-8601
historiesCount— общее количество событий
Интеграции банковских реквизитов
Каждый банковский реквизит может иметь подключённые интеграции (например, для автоматической синхронизации операций). Интеграция имеет фиксированный набор parameters (определения параметров) и values (значения, заполняемые пользователем).
Список интеграций реквизита
- Метод
- GET
- URL
https://api.gigma.ru/api/branches/{branchId}/bank_requisites/{bankId}/integrations- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Ответ
{
"integrations": [
{
"id": 1,
"integration_id": 5,
"name": "Сбербанк API",
"avatar": "https://beta.back.erp.itecho.ru/storage/integrations/sberbank.svg",
"is_active": 1,
"parameters": [
{ "id": 1, "title": "Логин", "order": 1, "key_1": "login", "key_2": "password", "description_1": "Логин", "description_2": "Пароль" }
],
"values": [
{ "id": 1, "key_1": "login", "key_2": "password", "description_1": "Логин", "description_2": "Пароль", "value_1": "user123", "value_2": "***" }
]
}
],
"integrationsCount": 1
} Описание полей ответа
integrations[]:id— ID связи (реквизит ↔ интеграция)integration_id— ID типа интеграции в каталогеname— название интеграцииavatar— URL логотипаis_active—1если активна, иначе0parameters[]— определения параметров (метаданные)values[]— заполненные значения параметров
Изменение интеграции реквизита
- Метод
- PUT
- URL
https://api.gigma.ru/api/branches/{branchId}/bank_requisites/{bankId}/integrations/{integrationsId}- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Параметры запроса (тело)
is_active—1чтобы активировать,0чтобы выключить- (опционально) другие поля для обновления
Ответ
{
"integration": {
"id": 1,
"integration_id": 5,
"name": "Сбербанк API",
"is_active": 1,
"parameters": [],
"values": []
}
}Описание интеграции по ID
- Метод
- GET
- URL
https://api.gigma.ru/api/integrations/{integrationId}- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Возвращает каталожное описание интеграции (без привязки к реквизиту) — нужно, чтобы узнать какие параметры она ждёт.
Ответ
{
"integration": {
"id": 5,
"name": "Сбербанк API",
"avatar": "https://beta.back.erp.itecho.ru/storage/integrations/sberbank.svg",
"params": [
{ "id": 1, "title": "Логин и пароль", "order": 1, "key_1": "login", "key_2": "password", "description_1": "Логин", "description_2": "Пароль" }
]
}
} Описание полей ответа
integration.params[]— определения параметров:id,title,order,key_1/key_2,description_1/description_2(двухколоночный layout: ключ-значение)
Параметры (значения) интеграции реквизита
- Метод
- GET
- URL
https://api.gigma.ru/api/branches/{branchId}/bank_requisites/{bankId}/integrations/{integrationId}/parameters- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Ответ
{
"parameters": [
{
"id": 1,
"key_1": "login",
"description_1": "Логин",
"key_2": "password",
"description_2": "Пароль",
"value_1": "user123",
"value_2": "***"
}
],
"parametersCount": 1
} Описание полей ответа
parameters[]— заполненные значения параметров интеграции:id,key_1/description_1/value_1,key_2/description_2/value_2parametersCount— общее количество
Добавление значения параметра интеграции
- Метод
- POST
- URL
https://api.gigma.ru/api/branches/{branchId}/bank_requisites/{bankId}/integrations/{integrationsId}/parameters- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Параметры запроса (тело)
integration_parameter_id— ID определения параметра (изparams[]интеграции)value_1— значение первого поляvalue_2— значение второго поля
Пример запроса
{
"integration_parameter_id": 1,
"value_1": "user123",
"value_2": "secret"
} Ответ
{
"parameter": {
"id": 7,
"key_1": "login",
"description_1": "Логин",
"key_2": "password",
"description_2": "Пароль",
"value_1": "user123",
"value_2": "secret"
}
}Удаление значения параметра интеграции
- Метод
- DELETE
- URL
https://api.gigma.ru/api/branches/{branchId}/bank_requisites/{bankId}/integrations/{integrationId}/parameters/{parameterId}- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Ответ
{
"message": "Parameter deleted"
}Вспомогательные
Список ответственных пользователей (для фильтра)
- Метод
- GET
- URL
https://api.gigma.ru/api/responsible_users- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Используется в фильтре «Ответственный» на таблице бизнесов.
Ответ
{
"responsibleUsers": [
{ "id": 2, "name": "Жуков Алексей" },
{ "id": 3, "name": "Иванов Сергей" }
],
"responsibleUsersCount": 2
}Поиск пользователя по строке
- Метод
- GET
- URL
https://api.gigma.ru/api/users- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Используется при выборе ответственного пользователя в форме бизнеса (autocomplete).
Параметры запроса (query string)
query— поисковая строка по ФИО
Пример запроса
GET https://api.gigma.ru/api/users?query=Иванов Ответ
{
"users": [
{
"id": 3,
"first_name": "Сергей",
"last_name": "Иванов",
"middle_name": "Петрович",
"name": "Иванов Сергей",
"login": "ivanov@itecho.ru"
}
],
"usersCount": 1
}