Что такое API?
API (англ. Application Programming Interface) — это интерфейс программирования приложений. API конкретного приложения или сервиса предоставляет набор готовых процедур, функций и переменных, с помощью которых сторонние разработчики могут создавать свои приложения и скрипты для работы с этим сервисом.
При работе через API приложение отправляет запрос к сервису и получает ответ, содержащий запрошенные данные, вне зависимости от того, на каком языке программирования они созданы.
Пожалуйста, свяжитесь с менеджерами проекта, для уточнения актуальных возможностей API и получения тестового доступа.
Что позволяет делать API платформы beseller?
Цель создания API платформы beseller — предоставление сторонним приложениям возможности взаимодействия с сайтами и базами данных интернет-магазинов.
API beseller позволяет создавать собственные приложения, а также осуществлять синхронизацию данных с системами автоматизации бизнес-процессов: бухгалтерский учет, складской учет, CRM, электронные почтовые рассылки и т.д.
API beseller построен на базе GraphQL и позволяет использовать практически любой язык программирования. API возвращает ответы и данные в формате JSON.
Владельцы интернет-магазинов при помощи сторонних сервисов и собственных приложений имеют возможность обращаться по API к:
Информации об оформленных заказах
Доступные действия (методы) обработки информации о заказах:
- Выбор информации о заказе по ID
- Выбор информации о заказах по фильтру
- Количество заказов по фильтру
- Создание заказа
- Удаление заказа
- Массовое удаление заказов
- Выбор всех доступных статусов для заказов
- Обновление статуса заказа
- Добавление комментария к заказу
Информации о подписчиках
Доступные действия (методы) обработки информации о подписчиках:
- Добавление подписчика
- Удаление подписчика
- Массовое удаление подписчиков
- Выбор данных о подписчиках по фильтру
- Количество подписчиков по фильтру
Информации о зарегистрированных пользователях
Доступные действия (методы) обработки информации о подписчиках:
- Выбор информации о зарегистрированных пользователях по ID
- Выбор информации обо всех зарегистрированных пользователях
- Выбор информации обо всех данных указанных пользователем при регистрации:
- Фамилия, имя, отчество;
- Контактный адрес электронной почты;
- Контактный номер телефона;
- Указанный адрес доставки: индекс, название населенного пункта, название улицы, номер дома, номер корпуса, номер квартиры, этаж;
Обратите внимание! При регистрации, пользователь может не заполнить все указанные выше поля.
Планы по развитию API
В ближайшее время, мы планируем открыть интерфейсы для поддержки взаимодействия магазинов со сторонними приложениями и сервисами по работе с:
- Разделами каталога.
- Товарами.
- Корзиной.
- Скидками.
- Способами доставки.
- Способами оплаты.
Как протестировать работу с API?
Для тестирования взаимодействия с API платформы beseller создан тестовый магазин demo.beseller.by.
Для доступа к тестовому магазину необходимо указать логин и пароль. Их вы можете получить по запросу у вашего персонального менеджера.
Отправить запрос на получение доступа к API beseller
Перед тестированием взаимодействия с API мы рекомендуем вам:
- оформить самостоятельно несколько заказов;
- подписаться на рассылку;
- посмотреть как информация об оформленных заказах и подписчиках отображается в панели администрирования магазина.
Как подключиться по API к своему магазину?
Для связи приложения с вашим магазином необходимо указать url-адрес доступа к API вида:
http://адрес_вашего_сайта :8082/graphql?token=ваш_персональный_секретный_ключ
Секретный ключ вы можете получить по запросу у вашего персонального менеджера.
Отправить запрос на получение ключа для доступа по API к моему магазину
Функции и переменные GraphQL для работы с API платформы beseller
В файлах, которые доступны для скачивания по ссылке вы можете ознакомиться с функциями и параметрами поддерживаемыми API beseller.
Файлы содержит описание и примеры:
- поддерживаемых запросов на выборку данных из базы данных магазина (Root query);
- поддерживаемых запросов на изменение данных в базе данных магазина (Mutations);
- поддерживаемых переменных (Arguments);
По мере реализации новых возможностей файл будет обновляться.
Информацию по поддерживаемым запросам и переменным вы также можете получить при помощи GraphiQL Feen, подключившись к тестовому магазину.
Как подключиться к API с использованием языка программирования PHP
Для удобства работы с API платформы beseller вы можете воспользоваться:
- Классами разработанными нами под PHP.
- GraphqlClient — осуществляет прием и передачу данных на сервер;
- GraphQlHelper — содержит в себе реализованные query и mutation API;
- Примерами использования классов для осуществления выборок и изменений в базе данных интернет-магазина.
Скачать классы и примеры использования
Как формировать запросы к API?
Настройка локального окружения
Для того, чтобы наглядно продемонстрировать отправку запросов к API и получаемые ответы, вы можете воспользоваться локальным окружением.
В качестве локального окружения используется GraphiQL Feen, это расширение для браузера Google Chrome которое позволяет формировать запросы к API.
После установки приложения у вас в браузере возле адресной строки появится иконка приложения.
Откройте приложение GraphiQL Feen и перейти на вкладку «SERVERS», выберите метод отправки POST, после чего укажите url-адрес доступа к API.
Локальное окружение настроено, можно формировать запросы к API. Для этого необходимо открыть вкладку «QUERIES»
Формирование запроса к API beseller при помощи GraphiQL Feen и полученный ответ
Пояснения к скриншоту:
- Сохраненные запросы
- Поле для ввода запросов
- Поле ввода переменных
- Полученный ответ
- Кнопка запуска
Пример запроса на получение списка оформленных заказов за указанный промежуток времени
query($first: Int, $offset: Int, $filter: OrderFilter) { filterOrder(first: $first, offset: $offset, filter: $filter) { id comment status { id description name } createdAt updatedAt total { suffix value } payment { name description cost { suffix value } } delivery { name description cost { suffix value } } currencies { bankCode course suffix } userData { name description value } } }
Указание промежутка времени для выборки данных об оформленных заказах
{ "filter": { "createdAtFrom": "2019-11-16T00:00:01Z", "createdAtTo": "2030-11-23T00:00:01Z" }, "first": 5 }
Пример ответа от API
{ "data": { "filterOrder": [ { "id": 1, "comment": "", "status": { "id": 1, "description": "Новый", "name": "new" }, "createdAt": "2020-05-21 16:18:01", "updatedAt": "2020-05-21 16:18:01", "total": [ { "suffix": "руб.", "value": 1833.4 } ], "payment": { "name": "custom", "description": "Наличные", "cost": [ { "suffix": "руб.", "value": 0 } ] }, "delivery": { "name": "custom", "description": "Доставка почтой", "cost": [ { "suffix": "руб.", "value": 53.4 } ] }, "currencies": [ { "bankCode": "BYN", "course": 10000, "suffix": "руб." } ], "userData": [ { "name": "fio", "description": "ФИО", "value": "324234" }, { "name": "phone", "description": "Телефон", "value": "4324342" }, { "name": "registration", "description": "Адрес", "value": "342343" }, { "name": "comment", "description": "Комментарий", "value": "343434324" } ] } ] } }