Форк для установки через composer.
composer require cektop7/boxberry:dev-master
Компонент для работы с АПИ службы доставки Boxberry - это универсальный механизм, который позволяет облегчить интеграцию обмена с АПИ-сервисами Boxberry. Не нужно углубленно изучать SOAP и JSON, ограничиваясь только пониманием о структуре передаваемых данных.
Чтобы установить исходный код из репозитория:
$ git clone git@github.com:AlekseyNikulin/Boxberry.git
Для настройки приложения, откройте для изменений файл конфигурации configure.php:
// Корневая директория компонента.
define("BOXBERRY_DIR",__DIR__."/");
// Адрес хоста источника данных.
define("HOST","http://test.api.boxberry.de");
Если у вас по каким-либо причинам есть сложности с curl, отключена директива allow_url_fopen и так далее, то вполне вероятно Вы будете использовать технологию обмена по стандарту SOAP.
В АПИ личного кабинета вы можете создавать/изменять/удалять посылки, формировать акты-приема передачи, генерировать этикетки и т.д.
define("LC_SERVICE","/__soap/1c_lc.php?wsdl");
В АПИ справочнков вам доступна информация:
- о городах, в которых есть ПВЗ (пункты выдачи заказов Boxberry)
- о городах, в которых есть курьерская доставка
- исчерпывающая информация о ПВЗ
- стоимость оказанных услуг
- расчет стоимости доставки
- отслеживать состояние посылки
define("PUBLIC_SERVICE","/__soap/1c_public.php?wsdl");
Список Soap методов
Необходимо указать принадлежность метода к сервису.
Если этого не сделать, то передача аргументов для неописаного метода будет осуществляться к сервису PUBLIC_SERVICE
$soap = [
LC_SERVICE=>[
'ParselCreate',
'ParselCheck',
'ParselList',
'ParselDel',
'ParselStory',
'ParselSend',
'ParselSendStory',
'OrdersBalance',
'ParcelCreateForeign',
'ParcelSendForeign',
'PaymentOrders'
],
PUBLIC_SERVICE=>[
'ListCities',
'ListPoints',
'ListZips',
'ZipCheck',
'ListStatuses',
'ListStatusesFull',
'ListServices',
'PointsForParcels',
'CourierListCities',
'DeliveryCosts',
'DeliveryCostsF',
'PointsByPostCode',
'PointsDescription',
'ListPointsShort',
'ListCountry',
'ListPointsForeign'
]
];
Обычно JSON не имеет избыточности, поэтому менее ресурсоемкий и более компактный. Все методы и сервисы, перечисленные в SOAP, заключены в одном источнике. Если используете JSON, то в настройках SOAP нет необходимости.
define("JSON_SERVICE","/json.php");
Откройте для изменений файл index.php
Включение файла конфигурации
include_once(dirname(__FILE__)."/configure.php");
Включение файла с классом boxberry
include_once(BOXBERRY_DIR."/boxberry.php");
Инициализация класса boxberry
$boxberry = new \boxberryApi\boxberry();
Тип передачи данных: soap/json (в нижнем регистре)
$boxberry->type = "json";
Список (массив) аргументов, ожидаемых и используемых методом
$boxberry->args = [
'methodQuery' => 'get',
'token'=>'******',
'method'=>'ListPoints'
];
Индивидуальный токен (token) выдается каждому Клиенту индивидуально, после регистрации в системе службы доставки Boxberry и заключении договора. Передача аргументов "token" и "method" обязательны.
"methodQuery" может иметь только два значения get/post. По умолчанию сам компонент ипользует post запросы. Хочу обратить ваше внимание на то, что многие методы АПИ в своей сущности используют только get запросы.
Получение результата
Метод getData() класса boxberry возвращает масив (набор данных), полученный от АПИ Boxberry
print_r($boxberry->getData());