Работа с API B2B
Ссылки на необходимую документацию доступны на портале https://b2b.di-house.ru в разделе «Скачать инструкции».
Для получения доступа к порталу B2B/API необходимо пройти регистрацию по адресу https://b2b.di-house.ru. После нажатия кнопки «Зарегистрироваться» необходимо будет заполнить и отправить анкету «Стать партнером».
После получения письма на адрес электронной почты, указанной в анкете, необходимо подтвердить регистрацию, перейдя по ссылке «Подтвердить регистрацию».
После подтверждения регистрации на указанные в анкете адрес электронной почты придут два письма.
1. Первое письмо содержит учетные данные (логин и пароль) для входа на портал (аутентификации по API).
2. Второе письмо содержит ключ, необходимый для работы через API.
Полученные учетные используются для входа на портал или авторизации по API.
Больше деталей в инструкции в п.4.3. «Авторизация».
В настоящее время доступен следующий функционал:
Авторизация по API реализована по схеме с JWT, т.е. при отправлении запроса с учетными данными на сервер авторизации, сервер вернет два токена: AccessToken и RefreshToken. Токены имеют ограниченный по времени срок действия, который указывается в ответе на запрос к серверу авторизации.
AccessToken добавляется в заголовок Authorization для каждого запроса API. По истечении срока действия AccessToken необходимо передать на сервер авторизации RefreshToken для получения новой пары токенов. Если истек срок действия RefreshToken, то необходимо заново пройти авторизацию с передачей запроса с учетными данными.
Больше деталей в инструкции в п.4.3. «Авторизация».
Ключ указывается в поле «senderSystem» в теле сообщений к API.
Запросы к API обрабатываются в асинхронном режиме. В ответ на создание запроса от API приходит идентификатор запроса – requestId, запрос при этом имеет статус New. Используя полученный requestId можно производить опорос состояния запроса. После обработки запрос имеет статус «Success» в случае успешной обработки или «Error» в случае ошибки. Результат выполнения сохраняется в параметрах answerBody и answerHeaders.
Если указывать параметр callbackUrl в теле запроса, то ответ после обработки будет отправлен автоматически на указанный в параметре адрес.
Больше деталей в инструкции в п.4.4. «Режим работы».
При формировании запроса к API можно передать любое текстовое значение в параметре initialRequestId. В этом случае состояние запроса можно проверить повторной передачей этого значения initialRequestId в паре с параметром senderSystem, requestId при этом передавать не обязательно.
Больше деталей в инструкции в п.4.4.2. «Получение результата выполнения запроса».
Списки могут быть отфильтрованы по следующим параметрам:
Больше деталей в инструкции в следующих разделах:
Резерв закрепляет за клиентом запрошенное количество номенклатуры. Резерв рассматривается в разрезе одного дня и является накопительным. То есть, если в рамках одного дня формировать запросы на резервирование товаров, эти товары попадут в один общий резерв этого дня. Запрашиваемое количество товаров для резервирования добавляется к общему резерву. То же актуально и для запросов на удаление резерва: при удалении определенного количества товара, это количество будет вычитаться из общего резерва клиента.
При формировании заказа по позициям, которые были зарезервированы, эти позиции освобождаются из резерва и переходят в заказ.
Если позиция из резерва не переходит в заказ, то резерв автоматически освобождается по истечении 3 дней с момента создания резерва.
Резерв не гарантирует сохранение цен на позиции зарезервированного товара. Актуальные цены на товар можно получить, отправив соответствующий запрос (по API).
Больше деталей в инструкции в п.5.4. Метод «Цены номенклатуры».
Статус обработки запросов на создание или удаление резервов можно узнать, используя метод «Запросы изменения резервов». Полученный результат будет содержать список ранее отправленных запросов, время запроса и статус обработки. О факте перевода запроса в резерв сигнализирует статус ReceivedSuccess.
Больше деталей в инструкции в п.5.6.3. Метод «Запросы изменения резервов».
Список сформированных накопительных резервов в разрезе дня можно получить по методу «Резервы». Полученный результат будет содержать фактически закрепленное за клиентом количество номенклатуры.
Больше деталей в инструкции в п.5.6.4. Метод «Резервы».
Количество номенклатуры и цены закрепляются за клиентом в момент формирования заказа. При переходе номенклатуры из резерва в заказ, данные позиции в резерве освобождаются.
Если необходимого количества позиций товара не было в резерве, но они есть на свободном остатке, то эти позиции также закрепляются за клиентом.
Если необходимое количество позиций превышает суммарное количество в резерве и на свободном остатке, то такой заказ не может быть сформирован и клиенту приходит сообщение об отсутствии необходимого количества позиций товара.
Об успешном создании заказа сигнализирует статус «Approved».
Больше деталей в инструкции в п.5.7. Коллекция методов «Заказы».
Проверить состояние своих заказов можно путем опроса состояния заказа. После создания заказа клиент получает уведомление на почту о создании заказа с перечнем заказанных позиций. Об успешном создании заказа сигнализирует статус «Approved».
Больше деталей в инструкции в п.5.7.3. Опрос состояния заказа.
Изменение состава заказа клиентом не предусмотрено системой.
В случае необходимости изменения заказа необходимо либо отменить и создать новый, либо согласовать требуемые изменения с вашим менеджером diHouse, который внесет необходимые изменения в заказ.
При изменении заказа менеджером diHouse на электронный адрес клиента приходит уведомление.
Отмена заказа клиентом допускается до того, как он будет отгружен (статус заказа «Shipped»). Дальнейшие коммуникации по изменению заказа осуществляется напрямую с менеджером.
Больше деталей в инструкции в п.5.7.2. отмена заказа на стороне В2В.
Отгрузку заказа осуществляет менеджер diHouse. После отгрузки заказ получает статус «Shipped», а на почту клиента приходит уведомление об отгрузке заказа.
Контакты менеджера diHouse можно получить, обратившись по методу «Менеджеры».
Больше деталей в инструкции в п.5.1. Метод «Менеджеры».