cektop7/boxberry

There is no license information available for the latest version (dev-master) of this package.

dev-master / 1.0.x-dev 2019-05-05 12:43 UTC

This package is not auto-updated.

Last update: 2024-10-01 11:03:13 UTC


README

Форк для установки через composer.

composer require cektop7/boxberry:dev-master

API.Boxberry

Компонент для работы с АПИ службы доставки 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");   

Soap

Если у вас по каким-либо причинам есть сложности с 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

Обычно 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());
    

Всем успехов!