Содержание

Функция работы с заказами

Заказ может быть как обычной покупкой в магазине с немедленным полным расчетом, так и покупка с предоплатой, с ожиданием отгрузки, и полной оплатой в момент получения. На этапах, где необходимо формировать чек, сервис будет делать это автоматически. Использование функционала заказов описано в разделе «Инструкция по использованию сервиса».

Объект заказа

ПолеОписаниеТип, возм. значения
idСистемный идентификатор заказаЦелое число
org_idСистемный идентификатор организацииЦелое число
salepoint_idСистемный идентификатор торговой точки (кассы)Целое число
ext_idУникальный внешний идентификатор заказастрока
order_statusСтатус заказаЦелое число (список значений статусов заказа)
created_atДата создания заказаДата в формате YYYY-MM-DD HH:II:SS
client_contactE-Mail или телефон клиентастрока
client_nameИмя клиентастрока
order_sumПолная стоимость заказаЦелое или вещественное положительное число, до 2 десятичных разрядов, разделитель разрядов точка
order_paidСумма принятых оплат по заказуЦелое или вещественное положительное число, до 2 десятичных разрядов, разделитель разрядов точка
advance_paidСумма аванса по заказуЦелое или вещественное положительное число, до 2 десятичных разрядов, разделитель разрядов точка
shippedФлаг отгрузки заказа0 -не отгружен, 1 - отгружен
order_status_nameНаименование статуса заказастрока
productsСписок продуктов в заказемассив объектов продукт в заказе
journalЖурнал событий по заказумассив объектов событие заказа
paymentsОплаты по заказумассив объектов оплата заказа

Список значений поля "Статус заказа"

наименованиезначение
Создан1
Получен аванс5
Оплачен частично2
Оплачен полностью3
Возврат оплаты4

Получение списка заказов

GET https://vsevkassu.ru/api/v1/store/order?param1=value1&param2=value2

Команда возвращает массив объектов заказа в упрощенном виде, выбранных по заданным параметрам.

Таблица параметров фильтра:

ПараметрОписаниеТип, возможные значенияОбяз.
ext_idУникальный внешний идентификатор заказа (точное совпадение)СтрокаНет
order_statusСтатус заказа (можно указать несколько статусов)Целое числоНет
client_contactE-Mail или телефон клиента (точное совпадение)строкаНет
client_nameИмя клиента (точное совпадение)строкаНет
created_at_fromСоздан позже чемДата в формате YYYY-MM-DD HH:II:SSНет
created_at_toСоздан ранее чемДата в формате YYYY-MM-DD HH:II:SSНет
shippedПризнак отгрузки заказа0 - не отгружен, 1 - отгруженНет
offsetСменещениеЦелое числоНет

По умолчанию возвращается не более 50 объектов. Для получения большего количества, используйте смещение.

Пример: Получим заказы в статусе «Оплачен частично» и «Оплачен полностью»

GET https://vsevkassu.ru/api/v1/store/order?order_status[]=2&order_status[]=3
[
    {
        "id": 1,
        "org_id": 1,
        "salepoint_id": 1,
        "ext_id": "1",
        "order_status": 2,
        "created_at": "2021-03-15 15:54:52",
        "client_contact": "test@test.ru",
        "client_name": "",
        "order_sum": "547.02",
        "order_paid": "100.00",
        "advance_paid": "0.00",
        "prepaid": "0.00",
        "credit": "0.00",
        "shipped": 0
    },
    {
        "id": 2,
        "org_id": 1,
        "salepoint_id": 1,
        "ext_id": "2",
        "order_status": 3,
        "created_at": "2021-03-17 17:08:06",
        "client_contact": "test@test.ru",
        "client_name": "",
        "order_sum": "192.26",
        "order_paid": "192.26",
        "advance_paid": "0.00",
        "prepaid": "0.00",
        "credit": "0.00",
        "shipped": 0
    }
]

Получение одного заказа по идентификатору

GET https://vsevkassu.ru/api/v1/store/order/{id}

Возвращает полный объект заказа по его системному идентификатору

Пример:

GET https://vsevkassu.ru/api/v1/store/order/20
{
    "id": 20,
    "org_id": 1,
    "salepoint_id": 1,
    "ext_id": "20",
    "order_status": 3,
    "created_at": "2021-05-07 15:21:43",
    "client_contact": "test@test.ru",
    "client_name": "Вася",
    "order_sum": "2990.00",
    "order_paid": "2990.00",
    "advance_paid": "0.00",
    "shipped": 1,
    "order_status_name": "Оплачен полностью",
    "products": [
        {
            "id": 24,
            "product_id": 10,
            "vat_type": 6,
            "payed": "2990.00",
            "returned": "0.00",
            "price": "2990.00",
            "quantity": "1.000",
            "sum": "2990.00",
            "product_name": "Брючки",
            "product_ext_id": "10"
        }
    ],
    "journal": [
        {
            "action_date": "2021-05-07 15:21:43",
            "description": "Создан новый заказ",
            "action_name": "Создан заказ"
        },
        {
            "action_date": "2021-05-07 17:39:50",
            "description": "Добавлен товар: Брючки",
            "action_name": "Добавлен товар"
        },
        {
            "action_date": "2021-05-07 17:39:50",
            "description": "Сумма заказа изменена с 0.00 на 2990.00",
            "action_name": "Изменен заказ"
        },
        {
            "action_date": "2021-05-10 17:21:57",
            "description": "Добавлена оплата в сумме 2990.00",
            "action_name": "Добавлена оплата"
        },
        {
            "action_date": "2021-05-10 17:21:57",
            "description": "Произведена выдача заказа",
            "action_name": "Заказ отгружен"
        }
    ],
    "payments": [
        {
            "id": 19,
            "order_id": 20,
            "pay_accepted": 1,
            "sum_nal": "0.00",
            "sum_bn": "2990.00",
            "full_sum": "2990.00",
            "shipped": 1,
            "receipt": {
                "id": 187,
                "salepoint_id": 1,
                "external_id": "vvk_609941858417d",
                "created_at": "2021-05-10 17:21:57",
                "status": "wait",
                "organization_id": 1,
                "is_print": 1,
                "type": "1",
                "type_name": "ПРИХОД",
                "organization_name": "ИП Иванов",
                "organization_inn": "7777777777",
                "cashier_name": "",
                "cashier_inn": "",
                "salepoint_place": "",
                "salepoint_address": "",
                "kkt_serial": "000000000000000",
                "kkt_regnum": "0000000000000000",
                "kkt_fs": "9999999999999999",
                "kkt_sender_email": "",
                "fns_site": "nalog.ru",
                "fiscal_date": "",
                "shift": "",
                "doc_number": "",
                "fd_number": "",
                "sign": "",
                "buyer": {
                    "contact": "test@test.ru",
                    "name": "Вася",
                    "inn": ""
                },
                "items": [
                    {
                        "item_type": 1,
                        "item_type_name": "ТОВАР",
                        "name": "Брючки",
                        "quantity": 1,
                        "quant": "штука",
                        "pay_type": 4,
                        "pay_type_name": "ПОЛНЫЙ РАСЧЕТ",
                        "price": 2990,
                        "sum": 2990,
                        "price_nds": 0,
                        "nds_type": 6,
                        "nds_type_name": "БЕЗ НДС",
                        "nds_sum": 0
                    }
                ],
                "payment": {
                    "full_sum": 2990,
                    "sum_nal": 0,
                    "sum_bn": 2990,
                    "sum_prepaid": 0,
                    "sum_postpaid": 0,
                    "sum_credit": 0,
                    "wonds": 2990,
                    "nds20": 0,
                    "nds10": 0,
                    "nds120": 0,
                    "nds110": 0,
                    "nds0": 0
                },
                "tax_name": "УСН ДОХОДЫ",
                "tax": "1"
            }
        }
    ]
}

Создание заказа

PUT https://vsevkassu.ru/api/v1/store/order

Метод создает новый заказ по указанным параметрам. В качестве параметров в теле запроса передается JSON-объект заказа.

Пример:

PUT https://vsevkassu.ru/api/v1/store/order
{
    "salepoint_id" : 1,
     "ext_id": "1",
     "client_contact": "test@test.ru",
     "client_name": "Вася",
}

В ответ отдается объект созданного заказа при успешном создании с присвоенным системным id, либо ошибка создания. Для добавления товаров и оплаты к заказу используется функция работы с товарами в заказе.

Изменение заказа

POST https://vsevkassu.ru/api/v1/store/order/{id}

Функция изменяет поля заказа с идентификатором id, переданные в объекте в теле запроса. Список полей, которые можно изменить:

{
     "ext_id": "1",
     "client_contact": "test@test.ru",
     "client_name": "Вася",
}

Удаление заказа

DELETE https://vsevkassu.ru/api/v1/store/order/{id}

Удаление возможно только для заказов в статусе «Создан». При прохождении любой оплаты удаление заказа невозможно.