API для обмена заказами с 1с

Published 2025-07-16

Прием заказов организован через работу http сервисов, идет общение между сервисами в формате json. При обращении указывается адрес для обращения, порт и имя публикации, далее следует стандартный метод обращения [/hs/AquaDeliveri/getOrdersURL] Как пример итоговой адресной строки строки http://92.241.102.242:8888/demodelivery/hs/AquaDeliveri/getOrdersURL

Параметры

В качестве параметров запроса передается массив заказов, которые необходимо создать/обновить в текущей системе [order, order...] . Ниже пример запроса с расшифровкой параметров


[
    {
        "id": "657f9553-ff97-11e9-80d3-001e4f377cd7",
        "external_id": null,
        "payment_type": "cash",
        "payment_status": false,
        "comment": "comment",
        "shipping_date_from": "2019-11-06T11:00:00Z",
        "shipping_date_to": "2019-11-06T18:00:00Z",
        "status": "new",
        "total": 710,
        "delivery_cost": 30,
        "coins": 710,
        "order_item_list": [
            {
                "name": "Вода 19 л. Ваш бренд",
                "id": "78e66cef-ae2c-11e6-9bf1-f8a9634f667f",
                "external_id": 1,
                "product_id": "78e66cef-ae2c-11e6-9bf1-f8a9634f667f",
                "price": 355,
                "quantity": 2,
                "order_product_id": 1435
            }
        ],
        "shipping_address": {
            "city": "Сыктывкар",
            "street": "Кутузова",
            "house": "19",
            "entrance": null,
            "floor": null,
            "room": null,
            "str": "город Сыктывкар улица Кутузова дом 19"
        },
        "client": {
            "id": "jqLbQR3be8jlJZIh4dBrUCyyIhFzuAKK",
            "external_id": 68,
            "account_number": 68,
            "type": "fiz",
            "username": "Василий Тестовый",
            "addresses": [
                {
                    "id": "78e66cef-ae2c-11e6-9bf1-f8a9634f667f",
                    "external_id": null,
                    "city": "Сыктывкар",
                    "street": "Кутузова",
                    "house": "19",
                    "entrance": null,
                    "floor": null,
                    "room": null,
                    "str": "город Сыктывкар улица Кутузова дом 19"
                }
            ]
        }
    }
]

{
    "success": true,
    "data": {
        "657f9553-ff97-11e9-80d3-001e4f377cd7": {
            "success": true,
            "data": [
                {
                    "id": "50894",
                    "external_id": "657f9553-ff97-11e9-80d3-001e4f377cd7",
                    "status": "approved",
                    "client": {
                        "id": 68,
                        "external_id": "jqLbQR3be8jlJZIh4dBrUCyyIhFzuAKK",
                        "username": "Василий Тестовый",
                        "comment": null,
                        "email": "ognev@baitek.org",
                        "account_number": 68,
                        "type": "fiz",
                        "phones": [
                            "9083280832"
                        ],
                        "addresses": [
                            {
                                "id": 2647,
                                "external_id": null,
                                "name": "Кутузова, д. 21, эт. 1, кв./оф. 1, под. 2, г. Сыктывкар – Орбита ближняя (Париж)",
                                "city": "Сыктывкар",
                                "street": "Кутузова",
                                "house": "21",
                                "room": "1",
                                "entrance": "2",
                                "floor": "1",
                                "district_id": 1,
                                "str": "Кутузова, д. 21, эт. 1, кв./оф. 1, под. 2, г. Сыктывкар   Орбита ближняя (Париж)"
                            }
                        ],
                        "requisites": {
                            "bank_account": {
                                "inn": "1234512345",
                                "kpp": "1234512345",
                                "account_number": "1234512345",
                                "correspondent_account": "1234512345",
                                "bik": "1234512345",
                                "bank_name": "1234512345"
                            }
                        },
                        "legal_address": [
                            "г. Сыктывкар,ул. Кутузова,д. 21"
                        ],
                        "product_price_list": {
                            "36": {
                                "product_id": 36,
                                "external_product_id": null,
                                "price": "101.00",
                                "active": false
                            }
                        },
                        "coins_amount": 90,
                        "loyalty_system_is_active": true
                    },
                    "account_number": 68,
                    "total": 710,
                    "delivery_cost": 30,
                    "coins": 710,
                    "payment_type": "cash",
                    "payment_status": false,
                    "created_at": "2019-11-07 00:54:05",
                    "shipping_address": null,
                    "shipping_date_from": "2019-11-06 14:00:00",
                    "shipping_date_to": "2019-11-06 21:00:00",
                    "order_item_list": [
                        {
                            "name": "Вода 19 л. Ваш бренд",
                            "quantity": 2,
                            "price": 355,
                            "product_id": 28,
                            "order_product_id": 1435
                        }
                    ],
                    "comment": "comment",
                    "ask_for_checkout": null,
                    "count_of_returned_bottles": 0
                }
            ]
        }
    }
}
Название Тип 2 Описание 3
id string(255 Идентификатор в экспортирующей системе (внешнее приложение или сайт)
external_id integer(11) Идентификатор в принимающей системе (1с)
status range in 'new', 'approved', 'completed', 'removed' Статус заказа new - новый неразобранный заказ approved - назначен курьер для доставки (заказ обработан оператором) completed - доставлено removed - отменено (диспетчером или клиентом)
created_at datetime Дата создания
total float Сумма заказа (стоимость доставки включена)
delivery_cost float Стоимость доставки
coins float Кол-во баллов, которые использовались для оплаты заказа
payment_type range Способ оплаты (указывается строкой, соответствие настраивается в соответствующем разделе настроек)
payment_status boolean Статус платежа, передается булево, в случае оплаты истина
shipping_date_from datetime Время доставки от
shipping_date_to datetime Время доставки до
comment string Комментарий
count_of_returned_bottles integer Кол-во бутылей к возврату
order_item_list array Массив из заказанных позиций
client object Объект содержащий клиента
shipping_address object Объект содержащий адрес доставки

Атрибуты объекта клиент client , если он существует в системе можно посмотреть здесь

Атрибуты объекта клиент client , если заказ от не зарегистрированного пользователя

Название Тип 2 Описание 3
username string(255 Имя клиента
phone string(12)(11) Телефон клиента, например +79191991919
emai string(255) Электронная почта клиента

Атрибуты объекта адрес доставки shipping_address

Название Тип 2 Описание 3
user_address_id integer(11) Идентификатор в принимающей системе
city string(255) Город
street string(255) Улица
house string(10) Дом
entrance string(10) Подъезд
floor string(10) Этаж
room string(10) Номер квартиры или офиса
str string(255) Адрес не структурировано, а единой строкой

Массив из заказанных позиций order_item_list включает в себя заказанные позиции [order_item, order_item...] со следующими атрибутами

Название Тип 2 Описание 3
product_id string(255) Идентификатор продукта в экспортирующей системе (внешнее приложение, сайт)
price decimal(10,2) Цена продукта
quantity integer(11) Кол-во заказанных продуктов
id string(255) Идентификатор позиции заказа в 1с
name string(255) Название продукта

Ключевые моменты

  • Если не будет найден продукт в нашей системе по items.id , то в заказ будет добавлена пустая строка.

  • Так же если не будет заполнено какое-то из required полей, то данный заказ или пользователь будет проигнорирован для импорта, а в ответ вернётся сообщение об ошибке.

  • id - идентификатор отправляющей системы, external_id - идентификатор внешней системы.

  • Если внешний идентификатор external_id ещё не сохранён, то атрибут можно не выводить или оставлять пустым. Но после импорта его обязательно необходимо сохранять и выгружать для избежания дублирования.