Skip to content

1C integration

Typical client systems: 1C:Trade Management 11, 1C:ERP, 1C:Integrated Automation, 1C:Accounting for Kazakhstan, 1C:Small Business Management. Three ways, from simple to complete:

Way What is needed When
File from 1C an Excel export start, pilot — see No developer
Orda TMS Connector extension (.cfe) install it, enter the address and key standard configurations, daily work
Own HTTP exchange a 1C developer customised configurations

Status: in development. This is how it will work.

Installed without changing the standard configuration (Administration → Extensions → Add from file), so 1C updates are not affected. It provides: settings (API address, key in the 1C secure storage, Test/Production, warehouse mapping, which documents to export); delivery points from partners and delivery addresses (/customers, externalId = the 1C reference UUID); scheduled and on-demand export of documents (POST /orders/bulk, externalId = document UUID, number = document number, weight and volume from items, cash-on-delivery amount); statuses, failure reasons and route numbers back into document attributes; trip sheets on plan.approved; an exchange log.

  • Webhooks to a 1C HTTP service — instant; the base is published over https on Apache/IIS.
  • Polling — when the base cannot be exposed: a scheduled job calls GET /orders?date=… every 1–5 minutes.
Функция ОтправитьВOrda(Заказы, КлючПакета) Экспорт
Запись = Новый ЗаписьJSON;
Запись.УстановитьСтроку();
ЗаписатьJSON(Запись, Новый Структура("orders", Заказы));
Тело = Запись.Закрыть();
Соединение = Новый HTTPСоединение("api.ordatms.kz", 443, , , , 60, Новый ЗащищенноеСоединениеOpenSSL);
Запрос = Новый HTTPЗапрос("/api/v1/orders/bulk");
Запрос.Заголовки.Вставить("X-Api-Key", ПолучитьКлючOrda());
Запрос.Заголовки.Вставить("Content-Type", "application/json; charset=utf-8");
Запрос.Заголовки.Вставить("Idempotency-Key", КлючПакета);
Запрос.УстановитьТелоИзСтроки(Тело, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
Если Ответ.КодСостояния <> 200 Тогда
ВызватьИсключение СтрШаблон("Orda: %1 %2", Ответ.КодСостояния, Ответ.ПолучитьТелоКакСтроку());
КонецЕсли;
Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
Возврат ПрочитатьJSON(Чтение);
КонецФункции

The HMAC-SHA256 signature check for 1C (built from ХешированиеДанных, platform 8.3.11+) is on the Russian 1C page — 1C code is written in Russian anyway.