На этапе оформления клиент должен видеть настоящую цену пересылки, посчитанную с учётом пункта назначения, массы и размеров и полученную напрямую от транспортной компании. Как только заказ оплачен, связка обязана оформить отправление на стороне службы по сведениям из заказа, забрать код отслеживания и вернуть его в карточку заказа. Покупателю передаётся этот код для наблюдения за посылкой, а сотрудник видит стадию доставки прямо в служебной панели. При недоступности службы программа должна аккуратно повторить обращение и занести сбой в журнал, а не терять заказ без следа.
Суть задачи — серверная прослойка: считывание заказов, перевод наших полей в формат службы, обращение к её API подписанным запросом и сохранение ответа. Ценим опрятный и понятный код, добросовестную обработку ошибок и краткую памятку о том, как впоследствии добавить вторую службу без переделки всего решения.
Что предстоит:
— мгновенный подсчёт стоимости пересылки при оформлении
— автоматическое оформление отправления после оплаты
— возврат кода отслеживания в карточку заказа
— обновление стадий и повтор обращения при ошибке
— ведение журнала и понятный раздел настроек