PHP code example of alexwebprog / laravel-boxberry
1. Go to this page and download the library: Download alexwebprog/laravel-boxberry library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
alexwebprog / laravel-boxberry example snippets
namespace App\Http\Controllers;
use Alexwebprog\LaravelBoxberry\Exception\BoxBerryException;
use Alexwebprog\LaravelBoxberry\Entity\Order as BoxberryOrder;
use Alexwebprog\LaravelBoxberry\Entity\Customer as BoxberryCustomer;
use Alexwebprog\LaravelBoxberry\Entity\Place as BoxberryPlace;
use Alexwebprog\LaravelBoxberry\Entity\Item as BoxberryItem;
use Alexwebprog\LaravelBoxberry\Facades\BoxberryClient;
class TestController extends Controller
{
// Создание отправления в ПВЗ
public function createOrder()
{
try {
$order = new BoxberryOrder();
$order->setDeliveryDate('2023-06-11'); // Дата доставки от +1 день до +5 дней от текущий даты (только для доставки по Москве, МО и Санкт-Петербургу)
$order->setOrderId('Тестовый заказ 001'); // ID заказа в ИМ
$order->setValuatedAmount(5990); // Объявленная стоимость
$order->setComment('Тестовый заказ'); // Комментарий к заказу
$order->setVid(BoxberryOrder::PVZ); // Тип доставки (1 - ПВЗ, 2 - КД, 3 - Почта России)
$order->setPvzCode('00552'); // Код ПВЗ
$order->setPointOfEntry('010'); // Код пункта поступления
$customer = new BoxberryCustomer();
$customer->setFio('Поваров Алексей'); // ФИО получателя
$customer->setPhone('79265656565'); // Контактный номер телефона
$customer->setEmail('[email protected]'); // E-mail для оповещений
// Только для курьерской доставки
// $customer->setIndex(115551); // Почтовый индекс получателя (не заполянется, если в ПВЗ)
// $customer->setCity('Москва'); // (не заполянется, если в ПВЗ)
// $customer->setAddress('Москва, ул. Маршала Захарова, д. 3а кв. 1'); // Адрес доставки (не заполянется, если в ПВЗ)
// $customer->setTimeFrom('10:00'); // Время доставки от
// $customer->setTimeTo('18:00'); // Время доставки до
// $customer->setTimeFromSecond('10:00'); // Альтернативное время доставки от
// $customer->setTimeToSecond('18:00'); // Альтернативное время доставки до
// $customer->setDeliveryTime('С 10 до 19, за час позвонить'); // Время доставки текстовый формат
$order->setCustomer($customer);
// Создаем места в заказе
$place = new BoxberryPlace();
$place->setWeight(900); // Вес места в граммах
$order->setPlaces($place);
// Создаем товары
$item = new BoxberryItem();
$item->setId('123124BC'); // ID товара в БД ИМ
$item->setName('Тестовый товар'); // Название товара
$item->setAmount(5990); // Цена единицы товара
$item->setQuantity(1); // Количество
//$item->setVat(20); // Ставка НДС
$item->setUnit('шт'); // Единица измерения
$order->setItems($item);
//$order->setSenderName('ООО Ромашка'); // Наименование отправителя
$result = BoxberryClient::createOrder($order);
dd($result);
// При успехе будет выведена информация об отправлении
/*
array(
'track'=>'DUD15224387', // Трек-номер BB
'label'=>'URI' // Ссылка на скачивание PDF файла с этикетками
);
*/
}
catch (BoxBerryException $e) {
// Обработка ошибки вызова API BB
// $e->getMessage(); текст ошибки
// $e->getCode(); http код ответа сервиса BB
// $e->getRawResponse(); // ответ сервера BB как есть (http request body)
dd($e);
}
catch (\Exception $e) {
// Обработка исключения
dd($e);
}
}
// Отслеживание отправления
public function getOrderStatuses()
{
try {
dump(BoxberryClient::getOrderStatuses('150501_34_03')); // По номеру заказа в интернет-магазине
/*
Array
(
[0] => Array
(
[Date] => 2019-05-01T00:56:12
[Name] => Принято к доставке
[Comment] =>
)
[1] => Array
(
[Date] => 2019-05-01T00:56:13
[Name] => Передано на сортировку
[Comment] =>
)
[2] => Array
(
[Date] => 2019-05-03T08:43:56
[Name] => Передан на доставку до пункта выдачи
[Comment] =>
)
[3] => Array
(
[Date] => 2019-05-04T06:47:48
[Name] => Передан на доставку до пункта выдачи
[Comment] =>
)
[4] => Array
(
[Date] => 2019-05-04T11:48:01
[Name] => Поступило в пункт выдачи
[Comment] => Москва (115478, Москва г, Каширское ш, д.24, строение 7)
)
)
*/
dump(BoxberryClient::getOrderStatuses('DUD15086277', true)); // По номеру Boxberry, true - полная информация
$bbClient->getOrderStatuses('DUD15086277', true);
/*
Array
(
[statuses] => Array
(
[0] => Array
(
[Date] => 30.04.2019 15:35
[Name] => Загружен реестр ИМ
[Comment] =>
)
[1] => Array
(
[Date] => 01.05.2019 00:56
[Name] => Принято к доставке
[Comment] =>
)
[2] => Array
(
[Date] => 01.05.2019 00:56
[Name] => Передано на сортировку
[Comment] =>
)
[3] => Array
(
[Date] => 03.05.2019 08:43
[Name] => Передан на доставку до пункта выдачи
[Comment] =>
)
[4] => Array
(
[Date] => 04.05.2019 06:47
[Name] => Передан на доставку до пункта выдачи
[Comment] =>
)
[5] => Array
(
[Date] => 04.05.2019 11:48
[Name] => Поступило в пункт выдачи
[Comment] => Москва (115478, Москва г, Каширское ш, д.24, строение 7)
)
)
[PD] =>
[sum] => 5843
[Weight] => 1.58
[PaymentMethod] => Касса
)
*/
}
catch (BoxBerryException $e) {
// Обработка ошибки вызова API BB
// $e->getMessage(); текст ошибки
// $e->getCode(); http код ответа сервиса BB
// $e->getRawResponse(); // ответ сервера BB как есть (http request body)
}
catch (\Exception $e) {
// Обработка исключения
}
}
// Отслеживание массива отправлений
public function getOrderStatuses()
{
try {
dump(BoxberryClient::getOrderStatuses([
'BIV255420272',
'BIV255420307',
'BIV255420297',
'BIV255420292',
'BIV255420287',
'BIV255420277',
])); // По номерам заказов в интернет-магазине или номерам посылок в Boxberry
/*
Array
(
[BIV255420272] => Array
(
[lastStatusId] => 10
[lastStatusName] => Получена информация о заказе. Отправление еще не передано на доставку в Boxberry
[lastStatusDate] => 2023-06-26 17:16:37
[storeDate] =>
[deliveryDate] =>
)
[BIV255420277] => Array
(
[lastStatusId] => 10
[lastStatusName] => Получена информация о заказе. Отправление еще не передано на доставку в Boxberry
[lastStatusDate] => 2023-06-26 15:50:58
[storeDate] =>
[deliveryDate] =>
)
[BIV255420287] => Array
(
[lastStatusId] => 10
[lastStatusName] => Получена информация о заказе. Отправление еще не передано на доставку в Boxberry
[lastStatusDate] => 2023-06-26 15:50:58
[storeDate] =>
[deliveryDate] =>
)
[BIV255420292] => Array
(
[lastStatusId] => 10
[lastStatusName] => Получена информация о заказе. Отправление еще не передано на доставку в Boxberry
[lastStatusDate] => 2023-06-26 15:50:59
[storeDate] =>
[deliveryDate] =>
)
[BIV255420297] => Array
(
[lastStatusId] => 10
[lastStatusName] => Получена информация о заказе. Отправление еще не передано на доставку в Boxberry
[lastStatusDate] => 2023-06-26 15:51:00
[storeDate] =>
[deliveryDate] =>
)
[BIV255420307] => Array
(
[lastStatusId] => 10
[lastStatusName] => Получена информация о заказе. Отправление еще не передано на доставку в Boxberry
[lastStatusDate] => 2023-06-26 15:51:00
[storeDate] =>
[deliveryDate] =>
)
)
*/
}
catch (BoxBerryException $e) {
// Обработка ошибки вызова API BB
// $e->getMessage(); текст ошибки
// $e->getCode(); http код ответа сервиса BB
// $e->getRawResponse(); // ответ сервера BB как есть (http request body)
}
catch (\Exception $e) {
// Обработка исключения
}
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.