Подключение программ: 1С, ERP, TMS
Ваша учётная программа может сама размещать заказы, забирать отклики, сделки и документы, а площадка — сообщать ей о событиях. Всё, что доступно программе, — те же функции, что в личном кабинете, с теми же проверками прав.
Как подключить за три шага
- В кабинете: Компания → Программы компании → Ключи доступа. Отметьте права и нажмите «Выдать ключ». Ключ показывается один раз — сразу вставьте его в настройки программы.
- Программа добавляет ключ в каждый запрос: заголовок
Authorization: Bearer gzk_…. Адрес —https://www.gigzakaz.ru/api/v1/…. - Чтобы программа узнавала о событиях без опроса, там же добавьте адрес уведомлений (https). Площадка выдаст секрет подписи — им программа проверяет, что уведомление от GIGZAKAZ.
Ключ действует от имени сотрудника, который его выдал, и с его правами. Уволился сотрудник или ключ мог попасть к посторонним — отзовите ключ в кабинете, он перестанет работать сразу.
Права ключа
| Право | Что даёт |
|---|---|
orders:read | Свои заказы и архив, лента рынка, карточка груза (все публикации одного груза), отклики на ваши заказы, ваши отклики |
orders:write | Создать, изменить, снять заказ; откликнуться на чужой; выбрать исполнителя (принять отклик); вывести заказ из общей карточки груза |
deals:read | Сделки, состав исполнения, ход исполнения, закрывающие документы, документы сделки |
deals:write | Статус сделки, отправка и согласование состава, принятие документов, контрольные точки, отчёт, закрытие и отметки об оплате |
messages | Читать и писать сообщения в сделках |
company:read | Профиль компании, техника, персонал и их документы |
Через ключ закрыты: реквизиты для оплаты, сотрудники и их права, управление ключами и уведомлениями, вход через банк, административные функции.
Основные запросы
| Запрос | Что делает | Право |
|---|---|---|
GET /api/v1/me | Проверка ключа: чья учётная запись | — |
GET /api/v1/orders?grouped=1 | Лента рынка, один груз — одна карточка | orders:read |
GET /api/v1/orders/{id}/group | Все публикации одного груза: кто разместил, источник, ставки | orders:read |
POST /api/v1/orders | Разместить заказ | orders:write |
GET /api/v1/orders/{id}/offers | Отклики на ваш заказ | orders:read |
POST /api/v1/orders/{id}/offers | Откликнуться на заказ | orders:write |
POST /api/v1/orders/{id}/offers/{offerId}/accept | Выбрать исполнителя — создаётся сделка | orders:write |
GET /api/v1/deals | Ваши сделки | deals:read |
GET /api/v1/deals/{id}/documents | Документы сделки | deals:read |
GET /api/v1/deals/{id}/tracking | Где техника по сделке: машина и последняя отметка мониторинга (пока сделка в работе) | deals:read |
POST /api/v1/deals/{id}/tracking | Исполнитель привязывает машину из своего мониторинга: {"provider":"omnicomm","unitId":"…"} | deals:write |
GET/POST /api/v1/deals/{id}/messages | Переписка по сделке | messages |
GET /api/v1/notifications | Уведомления (если не используете адрес уведомлений) | — |
Разместить заказ
POST https://www.gigzakaz.ru/api/v1/orders
Authorization: Bearer gzk_ВАШ_КЛЮЧ
Content-Type: application/json
{
"dir": "freight", // направление: freight, passenger, rental, resources,
// containers, construction, sea, air, multi
"publisherRole": "owner", // кто вы в заказе: owner — грузовладелец,
// forwarder — экспедитор (нужен номер ГосЛог), broker — посредник
"from": "Уфа", "to": "Сургут",
"name": "Труба 720 мм",
"mass": "40", "unit": "т",
"date": "2026-10-01",
"rate": "90000", "rateUnit": "руб./рейс", "vat": "с НДС 22%"
}
Пример для 1С (встроенный язык)
Соединение = Новый HTTPСоединение("www.gigzakaz.ru", 443, , , , 30, Новый ЗащищенноеСоединениеOpenSSL);
Запрос = Новый HTTPЗапрос("/api/v1/orders?grouped=1");
Запрос.Заголовки.Вставить("Authorization", "Bearer " + КлючДоступа); // ключ храните в защищённых настройках
Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния = 200 Тогда
Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку("UTF-8"));
Заказы = ПрочитатьJSON(Чтение);
КонецЕсли;
Уведомления о событиях
На ваш адрес приходит POST с телом JSON:
{
"id": "ntf_1052", // уникален: повторная доставка приходит с тем же id
"event": "offer", // offer, deal, document, message, market, company
"createdAt": "2026-09-23T14:05:11.000Z",
"text": "Новый отклик на заказ №22",
"entity": { "type": "order", "id": 22 },
"url": "https://www.gigzakaz.ru/cabinet.html#/orders"
}
Заголовки: X-GZ-Event, X-GZ-Timestamp (секунды), X-GZ-Signature: sha256=…. Подпись — HMAC-SHA256 от строки Timestamp + "." + тело секретом, который площадка показала при добавлении адреса. Отвечайте кодом 200–299; при ошибке площадка повторит доставку до 8 раз (через 1, 5, 15, 60 минут и дальше до суток). Подробности события забирайте запросом по entity.
Проверяйте подпись и отбрасывайте уведомления старше 5 минут по X-GZ-Timestamp — так чужой не сможет подсунуть программе поддельное событие.
Проверка подписи — Node.js
const crypto = require("crypto");
function valid(req, rawBody, secret) {
const ts = req.headers["x-gz-timestamp"];
if (Math.abs(Date.now() / 1000 - Number(ts)) > 300) return false;
const expected = "sha256=" + crypto.createHmac("sha256", secret).update(ts + "." + rawBody).digest("hex");
return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(String(req.headers["x-gz-signature"] || "")));
}
Проверка подписи — 1С (8.3.14+)
Данные = ПолучитьДвоичныеДанныеИзСтроки(Метка + "." + ТелоСтрокой, КодировкаТекста.UTF8);
Подпись = "sha256=" + НРег(ПолучитьHexСтрокуИзДвоичныхДанных(
ХешированиеHMAC_SHA256(ПолучитьДвоичныеДанныеИзСтроки(Секрет, КодировкаТекста.UTF8), Данные)));
// ХешированиеHMAC_SHA256 — функция вашей конфигурации (в БСП: ОбщегоНазначения / Криптография).
Верно = (Подпись = ЗаголовокПодписи);
Ответы и ограничения
| Код | Значение |
|---|---|
401 API_KEY_REQUIRED / API_KEY_INVALID | Нет ключа, ключ неверный или отозван |
403 API_SCOPE | У ключа нет нужного права — выдайте новый ключ с этим правом |
403 API_KEY_IP | Запрос не с адреса офиса, указанного для ключа |
404 API_ROUTE_CLOSED | Этот раздел через ключ недоступен |
| 429 | Больше 120 запросов в минуту на ключ — сделайте паузу (см. заголовок Retry-After) |
Остальные ответы и ошибки — те же, что в кабинете: например, заказ без направления или с неподходящей единицей ставки получит 400 с понятным текстом.
Электронный документооборот
Юридически значимые документы (УПД, акты, электронные перевозочные документы) подписываются вашей электронной подписью у вашего оператора ЭДО — Контур (Диадок, Контур.Логистика), Saby (СБИС), Такском и др. Площадка готовит документы по сделке и передаёт их оператору; подключение оператора — в кабинете: Компания → Подключения сервисов. Для перевозок по Казахстану — электронные ТТН в ЕСУТД.