Загрузка 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 текущего обрабатываемого заказа. ↩︎