This repository has been archived by the owner on Apr 25, 2023. It is now read-only.
Releases: sanmai/cdek-sdk
Releases · sanmai/cdek-sdk
Дополнен отчёт "Статусы заказов"
- В отчет "Статусы заказов" теперь можно получить доступ не только к ошибкам самого отчёта, но и к ошибкам по получению данных отдельных заказов. Ранее ошибки выдавались только относительного самого отчёта.
- Добавлены пропущенные свойства
PaymentVATRate
иPaymentVATSum
(заметил @mrTimofey). - Расширена поддержка разных версий зависимостей.
- Добавлен тест для
ReturnDispatchNumber
иDispatchNumber
(#7). - Покрытие тестами расширено до честных 100%.
Обновление запроса регистрации заказа на доставку
- Добавлено поле под описание вложения, которое требует оформление заказа на доставку.
- В отладочном логе теперь выводится данные по адресу и методу запроса к API.
Новые булевы поля в списке ПВЗ
- Новые булевы поля в списке ПВЗ (@mrTimofey).
- Дополнения в части тестов.
Дата планируемой передачи в преалертах
- В запросе метода "Создание преалерта" добавлено новое поле "Дата планируемой передачи" (
PlannedMeetingDate
). Дата планируемой передачи теперь идёт прямо в объекте запроса, а не как аргумент при отправке запроса. Описание изменения в документации СДЭК.
Меньше исключений
- Уменьшено число исключений, которые могут вылететь при отправке запроса.
- Добавлен Телеграм-чат для поддержки и вопросов по использованию.
- Исправления в части тестов и CI.
Заказы на доставку
- Добавлен метод для регистрации обычных заказов на доставку, без договора ИМ.
InfoReportResponse
StatusReportResponse
теперь являются итераторами с объектамиOrder
внутри.- Аналогично
PvzListResponse
,RegionsResponse
,CitiesResponse
для своих типов данных. - Документация обновлена на использование итераторов где можно и раннюю проверку ошибок.
- К
User-Agent
в запросах теперь дописывается название и версия библиотеки (при необходимости можно заменить с помощьюCdekClient::setUserAgent
). - В большинстве случаев теперь не нужно указывать
JMS\SerializedName
у свойств объектов. Одним местом где можно сделать опечатку меньше! - Наведён порядок в декларациях возвращаемых типов, прочие исправления.
Стандартизируем обработку ошибок
- Добавлена поддержка для регистрации обычных заказов на доставку, без договора интернет-магазина.
- Теперь и в случаях HTTP ошибок возвращается объект стандартного интерфейса (имеющий методы
hasErrors()
иgetMessages()
). - Дополнены интеграционные тесты.
- Формализованы гарантии в части возвращаемых типов ответов.
Новая основная версия
- Удалены всевозможные устаревшие методы, спрятаны устаревшие свойства.
- Ответы теперь в обязательно порядке содержат методы
hasErrors(): bool
иgetMessages(): iterable
для проверки на наличие ошибок и получения сообщений с ошибками. - В запросах теперь можно указывать дату и время как в виде
DateTime
, так и в видеDateTimeImmutable
. - Ответы теперь могут управлять своим видом в JSON, который у большинства пока - пустой массив (кроме
FileResponse
, в котором возвращается содержимое файла). Package::getVolumeWeight()
теперь не считает объёмный вес, но рядом всё так же есть методcalculateVolumeWeight()
для расчёта.- Методы
Message
не присущие интерфейсу теперь помечены как устаревшие.
Поднимаем таймауты
Таймаут по умолчанию для запросов поднят до 60 секунд для удобства пользователя. За 15 секунды некоторые запросы не успевали отработать, например, запрос на удаление.
Работаем с атрибутами в разном регистре
У СДЭК атрибуты могут быть в редких случаях как в верхнем, так и в нижнем регистре. Например, pvzCode="123"
и PvzCode="123"
. Чтобы не добавлять отдельные свойства для каждого вида написания (как в 4f5ca9d), теперь все атрибуты автоматически приводятся к единому виду, с главной большой буквы.
Спасибо @volga за наводку на данную проблему.