Загрузка xlsx файла c данными о заказах #
Адрес метода #
Параметры запроса #
Раздел | Параметр | Описание | Тип | Обязательный | Пример |
---|---|---|---|---|---|
providerKey | Код службы доставки | Строка | Да | cdek | |
mode | Метод создания заказовsync - синхронное создание заказовasync - асинхронное создание заказов | Строка | Нет | sync | |
errorsToFile | Флаг возвращения base64 строки исходного файла с ошибками создания заказов, если имеются. (true - в исходный файл будут записаны ошибки создания и в ответе будет возвращена base64 строка данного файла; false - в файл не будут записаны ошибки)(ошибки в ответе будут присутствовать и без этого параметра) | Булев(Логический) | Нет | false | |
file | |||||
url | Ссылка на файл | Строка | Да 1 | http://test.ru/test.xlsx | |
base64 | Строка закодированного в base64 файла | Строка | Да 2 | iVBORw0KGgoAAAANSUhEUgAAB4AAAAQ4CAYAAADo08FDAA… | |
type | Тип файла, который будет получен в результате декодирования base64 или по ссылкеxlsx | Строка | Нет | xlsx (по умолчанию) | |
columnSettings | |||||
dateFormat | Формат даты в таблице | Строка | Y-m-d | ||
nameFormat | Формат ФИО в таблицеtrue(или 1) - ФИО в разных столбцахfalse(или 0) - ФИО в одном столбце | Булев(Логический) | Да | false | |
itemsNewRow | Тип расположения данных о товарных вложениях 3 true - располагаются в строке информации о заказеfalse - располагаются под информацией о заказе | Булев(Логический) | Да | true | |
timeFormat | Формат времени в таблице | Строка | Да | H:i:s | |
rowStart | Порядковый номер первой считываемой строки таблицы 4 | Число | Нет | 1 | |
rowEnd | Порядковый номер последней считываемой строки таблицы | Число | Нет | 10 | |
columnMap[5] | |||||
order.clientNumber | Номер заказа в системе клиента | Строка | Да | A | |
order.weight | Вес всего заказа в граммах | Число | Да | B | |
order.height | Высота заказа в сантиметрах | Число | Нет | C | |
order.length | Длина заказа в сантиметрах | Число | Нет | D | |
order.width | Ширина заказа в сантиметрах | Число | Нет | E | |
order.providerKey | Код службы доставки | Строка | Да | F | |
order.providerConnectId | ID подключения к СД | Число | Нет | G | |
order.pickupType | Тип забора груза 1 - от двери клиента 2 – клиент привозит заказ на склад СД | Число | Да | H | |
order.deliveryType | Тип доставки 1 - до двери 2 – до ПВЗ | Число | Да | I | |
order.pointInId | Идентификатор точки забора товара в системе apiship | Число | Нет 5 | ||
order.pointOutId | Идентификатор точки выдачи товара в системе apiship | Число | Нет 6 | ||
order.tariffId | Тариф службы доставки по которому осуществляется доставка | Число | Да | J | |
order.deliveryTimeStart | Начальное время доставки | Время | Нет | K | |
order.deliveryTimeEnd | Конечное время доставки | Время | Нет | L | |
cost.assessedCost | Оценочная стоимость / сумма страховки (в рублях) | Число | Да | M | |
cost.codCost | Сумма наложенного платежа с учетом НДС (в рублях) | Число | Да | N | |
cost.deliveryCost | Стоимость доставки с получателя. codCost должен содержать в себе эту сумму. | Число | Нет | O | |
sender.phone | Контактный телефон | Строка | Да | P | |
sender.companyName | Название компании | Строка | Нет | R | |
sender.contactName | ФИО контактного лица | Строка | Да | S | |
sender.countryCode | Код страны в соответствии с ISO 3166-1 alpha-2 | Строка | Да | T | |
sender.region | Область или республика или край | Строка | Да | U | |
sender.city | Город или населенный пункт | Строка | Да | V | |
sender.street | Улица | Строка | Да | W | |
sender.house | Дом | Строка | Да | X | |
sender.block | Строение/Корпус | Строка | Нет | Y | |
sender.office | Офис/Квартира | Строка | Нет | Z | |
sender.email | Контактный email адрес | Строка | Нет | AA | |
sender.addressString | Адрес одной строкой | Строка | Да[7] | AB | |
recipient.phone | Контактный телефон | Строка | Да | AC | |
recipient.companyName | Название компании | Строка | Нет | AD | |
recipient.contactName | ФИО контактного лица | Строка | Да | AE | |
recipient.countryCode | Код страны в соответствии с ISO 3166-1 alpha-2 | Строка | Да | AF | |
recipient.region | Область или республика или край | Строка | Да | AG | |
recipient.city | Город или населенный пункт | Строка | Да | AH | |
recipient.street | Улица | Строка | Да | AI | |
recipient.house | Дом | Строка | Да | AJ | |
recipient.block | Строение/Корпус | Строка | Нет | AK | |
recipient.office | Офис/Квартира | Строка | Нет | AL | |
recipient.email | Контактный email адрес | Строка | Нет | AM | |
recipient.addressString | Адрес одной строкой | Строка | Да 7 | AN | |
place.placeNumber | Номер места в информационной системе клиента | Строка | Нет | AO | |
place.barcode | Штрихкод места | Строка | Нет | AP | |
place.height | Высота места в сантиметрах | Число | Да | AR | |
place.width | Ширина места в сантиметрах | Число | Да | AS | |
place.length | Длина места в сантиметрах | Число | Да | AT | |
place.weight | Вес места в граммах | Число | Да | AU | |
place.items | Содержимое места | item | Да | AV | |
item.description | Наименование товара | Строка | Да | AW | |
item.quantity | Кол-во товара | Число | Да | AX | |
item.articul | Артикул товара | Строка | Нет | AY | |
item.barcode | ШК предмета | Строка | Нет | AZ | |
item.assessedCost | Оценочная стоимость единицы товара в рублях | Строка | Нет | BA | |
item.cost | Наложенная стоимость товара в рублях | Строка | Нет | BB | |
item.weight | Вес единицы товара в граммах | Строка | Да | BC | |
item.height | Высота единицы товара в сантиметрах | Строка | Нет | BD | |
item.length | Длина единицы товара в сантиметрах | Строка | Нет | BE | |
item.width | Ширина единицы товара в сантиметрах | Число | Нет | BF | |
extraParams.{param_name} | Дополнительная услуга 8 | Строка | Нет | BG | |
defaultData 9 | |||||
{Название поля из раздела columnMap} | Установка значения по умолчанию для указанного поля из columnMap | Строка | Нет | “sender.phone”: “+791111111” |
Пример запроса #
Файл:
|
|
|
|
Параметры корректного ответа #
Раздел | Параметр | Описание | Тип | Обязательный | Пример |
---|---|---|---|---|---|
base64 | Файл в base64 с описанием ошибок создания заказа | Строка | |||
resultItems | |||||
clientNumber | Номер заказа в системе клиента | Строка | Да | 204479 | |
row | Номер строки, на которой расположен заказ в таблице | Число | Да | 5 | |
orderId | Номер заказа в ApiShip | Число | Да | 4561111 | |
providerNumber | Номер заказа в системе СД | Строка | Нет[1] | 564897498 | |
created | Дата создания заказа | Дата и время | Да | 2018-01-01T10:00:00+03:00 |
[1] Обязательно при передаче в запросе mode = sync.
Пример ответа #
|
|
|
|
Структура ответа API при ошибках #
Раздел | Параметр | Описание | Тип | Обязательный | Пример |
---|---|---|---|---|---|
code | Код ошибки | Число | Да | 040000 | |
message | Описание типа ошибки | Строка | Да | Ошибка валидации | |
description | Описание ошибки | Строка | Нет | Общая ошибка валидации, смотрите документацию | |
moreInfo | Дополнительная информация | Строка | Нет | Вопросы пишите на адрес support@apiship.ru | |
errors | Массив значений | Массив | Нет | ||
field | Поле запроса к которому относится ошибка | Строка | Да | login |
Пример данных ошибки #
|
|
|
|
Заполнение поля url не обязательно, если заполнено поле base64. ↩︎
Заполнение поля base64 не обязательно, если заполнено поле url. ↩︎
При значении true (1) предполагается, что для каждого товара из одного заказа есть строка с полной информацией о заказе, то есть отсутствует перекрытие колонок. При значении false (0) предполагается, что информация о товарах находится под информацией о заказе (на следующей за ней строке), то есть присутствует перекрытие некоторых столбцов. ↩︎
Следует учитывать наличие описательных заголовков столбцов, так как считывание не должно начинаться с такой строки, то есть значение поля rowStart должно равняться следующему за заголовочной строкой номеру. ↩︎
Значения полей в данном разделе представляют собой обозначения столбцов, то есть расставляется соответствие поля заказа и названия столбца. ↩︎
Обязательно, если тип забора(получения) (order.deliveryType) = 2, то есть забор/получение на ПВЗ. ↩︎
Заполнение поля addressString обязательно, если не заполнены другие обязательные поля адреса (countryCode,city,region,street). В случае заполнения addressString - адрес будет разобран на составляющие и будут использоваться данные полученные в следствии разбора строки addressString. ↩︎
Данное поле после точки должно содержать значение extraParamName соответствующей службы доставки. Количество полей, начинающихся с extraParams, ограничено лишь списком доступных дополнительных услуг, список которых для каждого провайдера можно получить в документации api по ссылке https://api.apiship.ru/doc/#!/lists/getListServices. ↩︎
В данном разделе можно передавать несколько параметров со значением по умолчанию. Также доступно использование функции подсчёта суммы для поля, например, “cost.codCost”: “sumByOrderRows(J)” - данное значение поля укажет на то, что в cost.codCost нужно поместить сумму значений из колонки J текущего обрабатываемого заказа. ↩︎