API для получения заказов из BCC Mall

Данный API предназначен для отправки успешных/одобренных заказов с BCC Mall (https://bnpl.kz/customer-cabinet) заказов в систему партнера (админка сайта/CRM/1C).

Процесс получения и обработки заказа из BCC Mall

Клиент оформляет заказ в BCC Mall и получает одобрение
BNPL передает необходимый набор данных на endpoint партнера
Партнер обрабатывает полученные данные и просаживает заказ в свою систему
После обработки заказа дальнейшее изменение статусов заказа менеджер производит через портал мерчанта или свою систему (при полной интеграции с bnpl)

Подробнее о смене статусов тут.

Реализация API

На стороне BNPL имеется сервис, который формирует скоп данных в JSON и отправляет на end-point партнера. 

Данные передающиеся POST запросом в формате JSON:

{ "id": "CL_1", "created_at": "2023-12-12T18:26:04.976228Z", "amount": 12000, "items": [ { "quantity": 2, "product": { "id": "1", "price": 6000, "title": "Product Name", "link": "http://example.com/path/to/product", "size": "S", "color": ["white"] }, "pickup": { "id": "1", "region": "Акмолинская область", "city": "Кокшетау", "street": "Абая", "building": "1", "apartment": "1", "available": true } } ], "delivery": { "city": "Almaty", "street": "Абая", "building": "10/5", "apartment": "5" }, "customer": { "phone": "77771234567", "full_name": "John Doe" } }

Реализация API на стороне партнера: партнеру необходимо на своей стороны реализовать end-point куда BNPL сможет отправлять данные по заказу. После получения JSON партнер самостоятельно парсит данные и формируется активный заказ в своей учетной системе.

  • HTTP код ответа на запрос должен быть успешным 2XX.
  • В случае ошибок, наша система попробует несколько раз повторить запрос. В связи с этим, могут прийти повторные запросы с одинаковыми данными, ваша система должна уметь обрабатывать повторные запросы.

При получений заказа с BCC Mall товар автоматически должен переходить из свободного остатка в резерв.

В случае наличия авторизации для доступа к вашему эндпоинту необходимо предоставить следующие данные:

  • название заголовка токена и само значение токена авторизации в случае статичного токена авторизации (statis token auth);
  • логин и пароль пользователя в случае базовой авторизации (basic auth).

Пример необходимых для тестирования данных со стороны партнера:

Ссылка на API: https://testsite/local/integrations/bnpl.php
Для тестирования авторизации токен установленный таким вот способом
Header("Authorization: Bearer 1234567890")
Тестовый bearer-токен - 1234567890