Документ описывает правила полной и инкрементальной синхронизации категорий и товаров между 1С и Tec.Delivery.
Синхронизация каталога между 1С и Tec.Delivery выполняется батчами с обязательной пагинацией. Максимальный размер батча: 100 элементов.
На стороне 1С используется API каталога (условное имя /api/catalog),
на стороне Tec.Delivery — Product Management API (общий endpoint).
Пример запроса к API 1С:
/api/catalog?limit=100&offset=0&modified_since=2026-02-11T00:00:00&type=category&parent=0
Пример ответа 1С:
{
"count": 120,
"data": [
{
"id": "9b2a2ade-c1f1-11e6-9cd7-10bf484d6226",
"parent": "0",
"name": "Алкогольная продукция",
"type": "category"
},
{
"id": "01f9449e-c385-11e6-9cd7-10bf484d6226", // <-- "id"
"parent": "0",
"name": "Бакалея",
"type": "category"
}
]
}
Endpoint: https://api.tec.delivery/common/merchant/1.0/
Пример запроса:
{
"api": "product",
"method": "put-products",
"token": "token",
"language": "RU",
"translate": true,
"payload": [
{
"external_id": "9b2a2ade-c1f1-11e6-9cd7-10bf484d6226",
"name": "Алкогольная продукция",
"is_category": true
},
{
"external_id": "01f9449e-c385-11e6-9cd7-10bf484d6226",
"name": "Бакалея",
"is_category": true
}
]
}
Для каждой категории, полученной на шаге 1, необходимо запросить её дочерние категории. Процесс повторяется рекурсивно, пока не будут пройдены все уровни вложенности.
Пример запроса к API 1С:
/api/catalog?limit=100&offset=0&modified_since=2026-02-11T00:00:00&type=category&parent=9b2a2ade-c1f1-11e6-9cd7-10bf484d6226
Пример ответа 1С:
{
"count": 9,
"data": [
{
"id": "ae1441c0-c37c-11e6-9cd7-10bf484d6226",
"parent": "9b2a2ade-c1f1-11e6-9cd7-10bf484d6226",
"name": "Вино",
"type": "category"
}
]
}
Пример запроса:
{
"api": "product",
"method": "put-products",
"token": "token",
"language": "RU",
"translate": true,
"payload": [
{
"external_id": "ae1441c0-c37c-11e6-9cd7-10bf484d6226", // <-- "id"
"external_parent_id": "9b2a2ade-c1f1-11e6-9cd7-10bf484d6226", // <-- "parent"
"name": "Вино",
"is_category": true
}
]
}
Пример запроса к API 1С:
/api/catalog?limit=100&offset=0&modified_since=2026-02-11T00:00:00&type=product
Пример ответа 1С:
{
"count": 240,
"data": [
{
"id": "b01a1a32-8ba2-11e6-9cf3-10bf484d6226",
"parent": "551b4ed9-c385-11e6-9cd7-10bf484d6226",
"type": "product",
"bulk": false,
"name": "Рис длинный пропаренный 800г Гудвилл",
"sku": "4607120230971",
"price": 145,
"stock": 16,
"modified_at": "2026-02-13T13:24:04",
"description": "…",
"composition": "рис",
"nutrition": "Б: 6,5, Ж: 1, У: 79, Ккал: 351",
"image_url": "https://…/images/b01a1a32-8ba2-11e6-9cf3-10bf484d6226.jpg",
"image_hash": "f9a15f0d6ebf943aea177f597cb96689c2d5c44d"
}
]
}
Endpoint: https://api.tec.delivery/common/merchant/1.0/
Пример запроса:
{
"api": "product",
"method": "put-products",
"token": "53ec835c-631d-11f0-a416-fa163eed394d",
"language": "RU",
"translate": true,
"webhook": "https://...",
"payload": [
{
"external_id": "b01a1a32-8ba2-11e6-9cf3-10bf484d6226", // <-- "id"
"external_parent_id": "551b4ed9-c385-11e6-9cd7-10bf484d6226", // <-- "parent"
"description": "…", // <-- "description"
"price": 145,
"info": [
{ "name": "sku", "value": "4607120230971" },
{ "name": "Состав", "value": "Рис" },
{ "name": "Энергетическая ценность", "value": "Б: 6,5, Ж: 1, У: 79, Ккал: 351" }
],
"store_balance": 16,
"external_key": "2026-02-13T13:24:04", // <-- "modified_at"
"image": {
"url": "https://…/images/b01a1a32-8ba2-11e6-9cf3-10bf484d6226.jpg",
"resize": false,
"bgcolor": "#FFFFFF",
"scale": 0.9
},
"external_data": "f9a15f0d6ebf943aea177f597cb96689c2d5c44d" // <-- "image_hash"
}
]
}
external_key заполняйте значением modified_at из 1С (см. раздел про modified_since).
webhook
Если поле webhook задано, то после завершения асинхронных задач (загрузка/обработка изображений
и автоматический перевод) Tec.Delivery отправляет уведомление на указанный URL.
translate
Если translate = true, Tec.Delivery выполняет автоматический перевод
на все языки, выбранные в профиле компании, считая исходным язык, указанный в поле language.
language), а Tec.Delivery сам запускает перевод и обработку изображений асинхронно.
limit и offset.payload.modified_since
Параметр modified_since используется для получения из 1С только изменённых объектов
(категорий или товаров) начиная с указанного времени.
2026-02-11T00:00:00type=category&parent=0type=category&parent=<id>type=product
Поле modified_at в ответе 1С должно обновляться при любом изменении объекта.
Для категорий:
Для товаров:
1970-01-01T00:00:00.modified_since=<последний сохранённый modified_at>.external_key в Tec.Delivery
При отправке товара рекомендуется передавать в Tec.Delivery поле external_key, равное modified_at из 1С:
{
"external_key": "2026-02-13T13:24:04"
}
Это позволяет: