Заказы


Этот раздел базовую информацию о заказах в API Zenky.io. Для получения информации о том, как работать с заказами, обратитесь к соответствующему разделу.

Используемые структуры

Заказ

{
    "id":"8aac57c4-58ef-4260-9002-191e3e445078",
    "number":"20180426-QGM9-WKVV",
    "confirmation_status":{
        "id":"unconfirmed",
        "name":"Заказ не подтверждён"
    },
    "delivery_method":{
        "id":"delivery",
        "name":"Доставка"
    },
    "payment_method":{
        "id":"cash",
        "name":"Наличные"
    },
    "total_price":{
        "value":22500000,
        "short":"225 000",
        "full":"225 000 руб.",
        "currency":{
            "name":"Российский рубль",
            "thousands_separator":" ",
            "decimals_separator":".",
            "prefix":"",
            "suffix":" руб.",
            "symbol":"₽"
        }
    },
    "created_at":{
        "timezone":"Asia/Irkutsk",
        "datetime_utc":"2019-04-19 04:00:00",
        "datetime":"2019-04-19 12:00:00",
        "datetime_at":"19.04.2019 в 12:00",
        "diff":"2 часа назад"
    },
    "updated_at":{
        "timezone":"Asia/Irkutsk",
        "datetime_utc":"2019-04-19 04:00:00",
        "datetime":"2019-04-19 12:00:00",
        "datetime_at":"19.04.2019 в 12:00",
        "diff":"2 часа назад"
    },
    "deliver_at":null,
    "current_status":{
        "id":"4f34141d-516a-411f-b8b5-cbd70a749bd4",
        "order_status_id":"8e45eb4f-7bbb-446e-9066-8049007cc1cd",
        "created_at":{
            "timezone":"Asia/Irkutsk",
            "datetime_utc":"2019-04-19 04:00:00",
            "datetime":"2019-04-19 12:00:00",
            "datetime_at":"19.04.2019 в 12:00",
            "diff":"2 часа назад"
        },
        "status":{
            "id":"8e45eb4f-7bbb-446e-9066-8049007cc1cd",
            "name":"Ожидание",
            "kind":{
                "id":"pending",
                "name":"Ожидание"
            },
            "background_color":"#b53a6c",
            "created_at":{
                "timezone":"Asia/Irkutsk",
                "datetime_utc":"2019-07-28 10:25:17",
                "datetime":"2019-07-28 18:25:17",
                "datetime_at":"28.07.2019 в 18:25",
                "diff":"1 месяц назад"
            },
            "updated_at":{
                "timezone":"Asia/Irkutsk",
                "datetime_utc":"2019-07-28 10:25:17",
                "datetime":"2019-07-28 18:25:17",
                "datetime_at":"28.07.2019 в 18:25",
                "diff":"1 месяц назад"
            }
        }
    }
}

Описание полей

Поле deliver_at

Поле deliver_at может хранить в себе дату доставки, которую вручную указал покупатель. Имейте в виду, что эта дата (как и все остальные в API) будет использовать часовой пояс UTC.

Подробнее о датах см. в отдельном документе.

Покупатель

{
    "id": "8aac58d3-d9d7-4796-b352-639b2aadd1a8",
    "first_name": "John",
    "last_name": "Doe",
    "full_name": "John Doe",
    "phone": {
      "country": "RU",
      "e164": "+71234567890",
      "international": "+7 (123) 456-78-90",
      "national": "8 (123) 456-78-90"
    },
    "created_at": {
      "timezone": "Asia/Irkutsk",
      "datetime_utc": "2019-04-19 04:00:00",
      "datetime": "2019-04-19 12:00:00",
      "datetime_at": "19.04.2019 в 12:00",
      "diff": "2 часа назад"
    },
    "updated_at": {
      "timezone": "Asia/Irkutsk",
      "datetime_utc": "2019-04-19 04:00:00",
      "datetime": "2019-04-19 12:00:00",
      "datetime_at": "19.04.2019 в 12:00",
      "diff": "2 часа назад"
    }
}

Описание полей

Позиция заказа

{
    "product_id": "8ac24316-c5df-4de1-a38e-ef7dc3bcaf38",
    "product_variant_id": "8ac24a1f-8faa-445e-8746-1a7cdf115bfb",
    "quantity": 3,
    "total_price": {
      "value": 22500000,
      "short": "225 000",
      "full": "225 000 руб.",
      "currency": {
        "name": "Российский рубль",
        "thousands_separator": " ",
        "decimals_separator": ".",
        "prefix": "",
        "suffix": " руб.",
        "symbol": "₽"
      }
    },
    "created_at": {
      "timezone": "Asia/Irkutsk",
      "datetime_utc": "2019-04-19 04:00:00",
      "datetime": "2019-04-19 12:00:00",
      "datetime_at": "19.04.2019 в 12:00",
      "diff": "2 часа назад"
    },
    "updated_at": {
      "timezone": "Asia/Irkutsk",
      "datetime_utc": "2019-04-19 04:00:00",
      "datetime": "2019-04-19 12:00:00",
      "datetime_at": "19.04.2019 в 12:00",
      "diff": "2 часа назад"
    }
}

Описание полей

Статусы заказа

Каждый заказ имеет статус заказа с одним из следующих назначений:

Для получения текущего статуса вам необходимо использовать поле current_status. Для получения истории изменения статусов используйте включение statuses.

Подробную информацию о статусах заказов читайте в отдельном документе.

Системы учёта

В случае, если вы используете шлюзы обмена данными, вам, вероятно, будут необходимы внешние идентификаторы каждого товара и варианта товара.

Для того, чтобы получить список заказов с товарами, вариантами и их внешними идентификаторами, вам необходимо скомбинировать необходимые включения, перечислив их через запятую.

Кроме того, при импорте новых заказов есть смысл фильтровать отдачу API по статусу заказа - передавая в параметре order_status_id любое значение из списка статусов заказа (можно указывать несколько - через запятую).

Пример

В качестве примера приведём адрес API, который позволит получить такую информацию:

GET https://api.zenky.io/v2/orders?order_status_id=8e45eb4f-7bbb-446e-9066-8049007cc1cd&with=customer,city,variants.variant.external_identifier,variants.product.external_identifier

Результирующий объект заказа будет выглядеть следующим образом:

{
    "id":"8aac57c4-58ef-4260-9002-191e3e445078",
    "number":"20180426-QGM9-WKVV",
    "confirmation_status":{
        "id":"unconfirmed",
        "name":"Заказ не подтверждён"
    },
    "delivery_method":{
        "id":"delivery",
        "name":"Доставка"
    },
    "payment_method":{
        "id":"cash",
        "name":"Наличные"
    },
    "total_price":{
        "value":22500000,
        "short":"225 000",
        "full":"225 000 руб.",
        "currency":{
            "name":"Российский рубль",
            "thousands_separator":" ",
            "decimals_separator":".",
            "prefix":"",
            "suffix":" руб.",
            "symbol":"₽"
        }
    },
    "created_at":{
        "timezone":"Asia/Irkutsk",
        "datetime_utc":"2019-04-19 04:00:00",
        "datetime":"2019-04-19 12:00:00",
        "datetime_at":"19.04.2019 в 12:00",
        "diff":"2 часа назад"
    },
    "updated_at":{
        "timezone":"Asia/Irkutsk",
        "datetime_utc":"2019-04-19 04:00:00",
        "datetime":"2019-04-19 12:00:00",
        "datetime_at":"19.04.2019 в 12:00",
        "diff":"2 часа назад"
    },
    "current_status":{
        "id":"4f34141d-516a-411f-b8b5-cbd70a749bd4",
        "order_status_id":"8e45eb4f-7bbb-446e-9066-8049007cc1cd",
        "created_at":{
            "timezone":"Asia/Irkutsk",
            "datetime_utc":"2019-04-19 04:00:00",
            "datetime":"2019-04-19 12:00:00",
            "datetime_at":"19.04.2019 в 12:00",
            "diff":"2 часа назад"
        },
        "status":{
            "id":"8e45eb4f-7bbb-446e-9066-8049007cc1cd",
            "name":"Ожидание",
            "kind":{
                "id":"pending",
                "name":"Ожидание"
            },
            "background_color":"#b53a6c",
            "created_at":{
                "timezone":"Asia/Irkutsk",
                "datetime_utc":"2019-07-28 10:25:17",
                "datetime":"2019-07-28 18:25:17",
                "datetime_at":"28.07.2019 в 18:25",
                "diff":"1 месяц назад"
            },
            "updated_at":{
                "timezone":"Asia/Irkutsk",
                "datetime_utc":"2019-07-28 10:25:17",
                "datetime":"2019-07-28 18:25:17",
                "datetime_at":"28.07.2019 в 18:25",
                "diff":"1 месяц назад"
            }
        }
    },
    "variants":[
        {
            "product_id":"8ac24316-c5df-4de1-a38e-ef7dc3bcaf38",
            "product_variant_id":"8ac24a1f-8faa-445e-8746-1a7cdf115bfb",
            "quantity":3,
            "total_price":{
                "value":22500000,
                "short":"225 000",
                "full":"225 000 руб.",
                "currency":{
                    "name":"Российский рубль",
                    "thousands_separator":" ",
                    "decimals_separator":".",
                    "prefix":"",
                    "suffix":" руб.",
                    "symbol":"₽"
                }
            },
            "created_at":{
                "timezone":"Asia/Irkutsk",
                "datetime_utc":"2019-04-19 04:00:00",
                "datetime":"2019-04-19 12:00:00",
                "datetime_at":"19.04.2019 в 12:00",
                "diff":"2 часа назад"
            },
            "updated_at":{
                "timezone":"Asia/Irkutsk",
                "datetime_utc":"2019-04-19 04:00:00",
                "datetime":"2019-04-19 12:00:00",
                "datetime_at":"19.04.2019 в 12:00",
                "diff":"2 часа назад"
            },
            "product":{
                "id":"8ac24316-c5df-4de1-a38e-ef7dc3bcaf38",
                "name":"Test",
                "description":"Test",
                "single_variant":false,
                "created_at":{
                    "timezone":"Asia/Irkutsk",
                    "datetime_utc":"2019-04-19 04:00:00",
                    "datetime":"2019-04-19 12:00:00",
                    "datetime_at":"19.04.2019 в 12:00",
                    "diff":"2 часа назад"
                },
                "updated_at":{
                    "timezone":"Asia/Irkutsk",
                    "datetime_utc":"2019-04-19 04:00:00",
                    "datetime":"2019-04-19 12:00:00",
                    "datetime_at":"19.04.2019 в 12:00",
                    "diff":"2 часа назад"
                },
                "external_identifier":{
                    "external_id":"1",
                    "internal_id":"8ac24316-c5df-4de1-a38e-ef7dc3bcaf38"
                }
            },
            "variant":{
                "id":"8ac24a1f-8faa-445e-8746-1a7cdf115bfb",
                "product_id":"8ac24316-c5df-4de1-a38e-ef7dc3bcaf38",
                "name":"White 32",
                "total_price":{
                    "value":7500000,
                    "short":"75 000",
                    "full":"75 000 руб.",
                    "currency":{
                        "name":"Российский рубль",
                        "thousands_separator":" ",
                        "decimals_separator":".",
                        "prefix":"",
                        "suffix":" руб.",
                        "symbol":"₽"
                    }
                },
                "sku":"",
                "barcode":"",
                "created_at":{
                    "timezone":"Asia/Irkutsk",
                    "datetime_utc":"2019-04-19 04:00:00",
                    "datetime":"2019-04-19 12:00:00",
                    "datetime_at":"19.04.2019 в 12:00",
                    "diff":"2 часа назад"
                },
                "updated_at":{
                    "timezone":"Asia/Irkutsk",
                    "datetime_utc":"2019-04-19 04:00:00",
                    "datetime":"2019-04-19 12:00:00",
                    "datetime_at":"19.04.2019 в 12:00",
                    "diff":"2 часа назад"
                },
                "external_identifier":{
                    "external_id":"1",
                    "internal_id":"8ac24a1f-8faa-445e-8746-1a7cdf115bfb"
                }
            }
        }
    ],
    "customer":{
        "id":"8aac58d3-d9d7-4796-b352-639b2aadd1a8",
        "first_name":"John",
        "last_name":"Doe",
        "full_name":"John Doe",
        "phone":{
            "country":"RU",
            "e164":"+71234567890",
            "international":"+7 (123) 456-78-90",
            "national":"8 (123) 456-78-90"
        },
        "created_at":{
            "timezone":"Asia/Irkutsk",
            "datetime_utc":"2019-04-19 04:00:00",
            "datetime":"2019-04-19 12:00:00",
            "datetime_at":"19.04.2019 в 12:00",
            "diff":"2 часа назад"
        },
        "updated_at":{
            "timezone":"Asia/Irkutsk",
            "datetime_utc":"2019-04-19 04:00:00",
            "datetime":"2019-04-19 12:00:00",
            "datetime_at":"19.04.2019 в 12:00",
            "diff":"2 часа назад"
        }
    },
    "city":{
        "id":"c4203935-0d2a-4e88-b08d-103116ff1797",
        "name":"Улан-Удэ",
        "timezone":"Asia/Irkutsk",
        "created_at":{
            "timezone":"Asia/Irkutsk",
            "datetime_utc":"2019-04-19 04:00:00",
            "datetime":"2019-04-19 12:00:00",
            "datetime_at":"19.04.2019 в 12:00",
            "diff":"2 часа назад"
        },
        "updated_at":{
            "timezone":"Asia/Irkutsk",
            "datetime_utc":"2019-04-19 04:00:00",
            "datetime":"2019-04-19 12:00:00",
            "datetime_at":"19.04.2019 в 12:00",
            "diff":"2 часа назад"
        }
    }
}

Ваши идентификаторы товаров будут доступны по пути variants.*.product.external_identifier.external_id, идентификаторы вариантов товаров - variants.*.variant.external_identifier.external_id.

Методы

Список поддерживаемых методов для работы с заказами.

Список заказов

Возвращает список заказов магазина.

Просмотр заказа

Возвращает информацию о конкретном заказе магазина.

Архивация заказа

Архивация заказа позволяет скрыть его из всех списков, в том числе из списка заказов покупателя.

Над архивированным заказом нельзя выполнять никакие действия кроме восстановления.

Массовая архивация заказов

Восстановление заказа

Восстановление заказа возвращает ранее архивированный заказ во все списки и позволяет вновь выполнять операции над этим заказом.

Массовое восстановление заказов