Заказы


Этот раздел описывает работу с заказами в API Zenky.io.

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

Заказ

{
    "id": "8aac57c4-58ef-4260-9002-191e3e445078",
    "number": "20180426-QGM9-WKVV",
    "status": {
      "id": "submitted",
      "name": "Заказ отправлен"
    },
    "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 часа назад"
    }
}

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

Покупатель

{
    "id": "8aac58d3-d9d7-4796-b352-639b2aadd1a8",
    "name": null,
    "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 часа назад"
    }
}

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

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

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

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

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

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

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

Пример

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

GET https://my.zenky.io/api/orders?status=submitted&with=customer,city,variants.variant.external_identifier,variants.product.external_identifier

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

{
    "id": "8aac57c4-58ef-4260-9002-191e3e445078",
    "number": "20180426-QGM9-WKVV",
    "status": {
      "id": "submitted",
      "name": "Заказ отправлен"
    },
    "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 часа назад"
    },
    "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",
        "name": null,
        "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.

Методы

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

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

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

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

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