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 |
Orda TMS Connector (.cfe)
Section titled “Orda TMS Connector (.cfe)”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.
How 1C receives statuses
Section titled “How 1C receives statuses”- 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.
Example: sending orders from 1C
Section titled “Example: sending orders from 1C”Функция ОтправитьВ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.