Skip to content
This repository has been archived by the owner on Apr 18, 2023. It is now read-only.

Latest commit

 

History

History
executable file
·
691 lines (428 loc) · 15.3 KB

README.ua.md

File metadata and controls

executable file
·
691 lines (428 loc) · 15.3 KB

header

Опис

Latest Stable Version Total Downloads License

PHP клас для роботи з API Justin

Read this in other language: English, Русский, Український

Wiki - Опис роботи бібліотеки

Тестування

Документація

API documentation

Telegram підтримка API

Вимога

  • PHP 5.6 або вище
  • Composer

Composer

composer require jackmartin/justin

Бібліотеки

Guzzle

Основні методи API

  1. Налаштування підключення
  2. Отримати поточний статус замовлення:
  3. Отримати список областей
  4. Отримати список обласних районів
  5. Отримати список населених пунктів
  6. Отримати список районів населених пунктів
  7. Отримати список вулиць міста
  8. Отримати список типів відділень
  9. Отримати список відділень.
  10. Отримати розклад роботи відділень. (Старий метод)
  11. Створити нове замовлення(Відправлення)
  12. Відміна замовлення
  13. Отримати список статусів замовлення
  14. Отримати ключ торговця(senderID)
  15. Отримати історію руху відправлення
  16. Отримати історію статусів замовлення.
  17. Отримати список замовлень за вказаний період
  18. Отримати інформацію про замовлення
  19. Створити стікер замовлення
  20. Калькулятор вартості послуг

Приклади

__construct()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('UA', true, 'v2', 30, 30, 'UTC');

currentStatus()

include_once 'vendor/autoload.php';

use Justin\Justin;

$justin = new Justin('UA', true);

$justin->setLogin('Ваш логін')->setPassword('Ваш пароль');

print_r(

    $justin->currentStatus('201971185')->getData()

);

listRegions()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('UA', true);

$justin->setLogin('Ваш логін')->setPassword('Ваш пароль');

print_r(

    $justin->listRegions()->getData()

);

listAreasRegion()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('UA', true);

$justin->setLogin('Ваш логін')->setPassword('Ваш пароль');

print_r(

    $justin->listAreasRegion()

);

listCities()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('UA', true);

$justin->setLogin('Ваш логін')->setPassword('Ваш пароль');

print_r(

    $justin->listCities()

);

listCityRegion()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('UA', true);

$justin->setLogin('Ваш логін')->setPassword('Ваш пароль');

print_r(

    $justin->listCityRegion()

);

listStreetsCity()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('UA', true);

$justin->setLogin('Ваш логін')->setPassword('Ваш пароль');

print_r(

    $justin->listStreetsCity(

        [

            [

                'name'       => 'objectOwner',

                'comparison' => 'equal',

                'leftValue'  => '32b69b95-9018-11e8-80c1-525400fb7782',

            ]

        ]

    )

    // $justin->name('objectOwner')->leftValue('32b69b95-9018-11e8-80c1-525400fb7782')->equal()->listStreetsCity()
    // $justin->name('objectOwner')->equal('32b69b95-9018-11e8-80c1-525400fb7782')->listStreetsCity()

);

branchTypes()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('RU', true);

$justin->setLogin('Ваш логин')->setPassword('Ваш пароль');

print_r(

    $justin->branchTypes()->getData()

);

getBranch()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('UA', true);

print_r(

    $justin->getBranch('220')->getData()
    // $justin->getBranch('220')->fields()->number()
    // $justin->getBranch('220')->fields()->getType()
    // $justin->getBranch('220')->fields()->address()
    // $justin->getBranch('220')->fields()->getPosition()
    // $justin->getBranch('220')->fields()->getDescr()
    // $justin->getBranch('220')->fields()->scheduDescr()

);

listDepartments()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('UA', true);

$justin->setLogin('Ваш логін')->setPassword('Ваш пароль');

print_r(

    $justin->listDepartments()

);

listDepartmentsLang()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('UA', true);

$justin->setLogin('Ваш логін')->setPassword('Ваш пароль');

print_r(

    $justin->listDepartmentsLang()

);

cancelOrder()

include_once 'vendor/autoload.php';

use Justin\Justin;

$justin = new Justin('UA', false);


$justin->setKey('Ваш ключ API');

print_r(

    $justin->cancelOrder('Код замовлення')->getData()

);

listStatuses()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('UA', true);

$justin->setLogin('Ваш логін')->setPassword('Ваш пароль');

print_r(

    $justin->listStatuses()

);

keySeller()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('UA', true);

$justin->setLogin('Ваш логін')->setPassword('Ваш пароль');

print_r(

    $justin->keySeller(

        [

            [

                'name'       => 'login',

                'comparison' => 'equal',

                'leftValue'  => 'test',

            ],

        ]

    )
    
    // $justin->name('login')->leftValue('test')->equal()->keySeller()
    // $justin->name('login')->equal('test')->keySeller()

);

trackingHistory()

include_once 'vendor/autoload.php';

use Justin\Justin;

$justin = new Justin('UA', true);

print_r(

    $justin->trackingHistory('201810165')->getData()
    // $justin->trackingHistory('201810165')->fields()->orderNumber()
    // $justin->trackingHistory('201810165')->fields()->orderDescr()
    // $justin->trackingHistory('201810165')->fields()->status()
    // $justin->trackingHistory('201810165')->fields()->date()
    // $justin->trackingHistory('201810165')->fields()->time()
    // $justin->trackingHistory('201810165')->fields()->dateAdded()
    // $justin->trackingHistory('201810165')->fields()->deparNumber()
    // $justin->trackingHistory('201810165')->fields()->deparAddress()

);

getStatusHistoryF()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('UA', true);

$justin->setLogin('Ваш логін')->setPassword('Ваш пароль');

$justin->setKey('Ваш ключ API');

print_r(

    $justin->getStatusHistoryF(

        [

            'name'       => 'orderNumber',

            'comparison' => 'equal',

            'leftValue'  => '000000004',

        ]

    )

    // $justin->name('orderNumber')->leftValue('000000004')->equal()->getStatusHistory()
    // $justin->name('orderNumber')->equal('000000004')->getStatusHistory()

);

createOrder()

Пример 1

include_once 'vendor/autoload.php';

use Justin\Order;

$order = new Order('UA', true);

$order->setKey('Ваш ключ');

$newOrder = $order
    ->setNumber('52525')
    ->setDate()
    ->senderCityID(

        '32b69b95-9018-11e8-80c1-525400fb7782'

    )
    ->sender('ТОП ПРОДАЦЕЦ')
    ->senderContact('Иванов Иван')
    ->senderPhone('380524152299')
    ->addressPickup('ул. Груша. 7')
    ->requirePickup(true)
    ->senderBranchID(

        '2100102032'

    )
    ->receiver('ТОВ Укрпочта')
    ->receiverContact('Петр 1')
    ->receiverPhone('380425831259')
    ->countPlace(1)
    ->receiverBranchID(

        '2100108028'

    )
    ->volume('0.02')
    ->weight('100')
    ->costDeclared(1500)
    ->deliveryAmount(0)
    ->redeliveryAmount(1500)
    ->orderAmount(1500)
    ->redeliveryPay(true)
    ->redeliveryPayer(1)
    ->deliveryPay(true)
    ->deliveryPayer(1)
    ->requireDelivery(false)
    ->orderPay(true)
    ->comment('Тест заказ')
    ->createOrder();

print_r(

    $newOrder->fields()->number()
    // $newOrder->fields()->ttn()
    // $newOrder->getData()
    // $newOrder->getResult()
    // $newOrder->getRaw()

);

Пример 2

include_once 'vendor/autoload.php';

use Justin\Order;

$order = new Order('UA', true);

$order->setKey('Ваш ключ');

$newOrder = $order->createOrder(

    [
        'number'                         => '123456',

        'date'                           => '20171221',

        'sender_city_id'                 => '32b69b95-9018-11e8-80c1-525400fb7782',

        'sender_company'                 => 'УА ТОВ',

        'sender_contact'                 => 'Петрова Ирина',

        'sender_phone'                   => '+380991112233',

        'sender_pick_up_address'         => 'Степана Бандери, No 6',

        'pick_up_is_required'            => true,

        'sender_branch'                  => '2100102032',

        'receiver'                       => 'Петров Сергей',

        'receiver_contact'               => '',

        'receiver_phone'                 => 'Петров Сергей',

        'count_cargo_places'             => 2,

        'branch'                         => '2100108028',

        'weight'                         => 0.1,

        'volume'                         => 0.02,

        'declared_cost'                  => 1500,

        'delivery_amount'                => 0,

        'redelivery_amount'              => 1500,

        'order_amount'                   => 1500,

        'redelivery_payment_is_required' => true,

        'redelivery_payment_payer'       => 1,

        'delivery_payment_is_required'   => true,

        'delivery_payment_payer'         => 1,

        'delivery_is_required'           => false,

        'order_payment_is_required'      => true,

        'add_description'                => 'Тест API'
    ]

);

print_r(

    $newOrder->fields()->number()
    // $newOrder->fields()->ttn()
    // $newOrder->getData()
    // $newOrder->getResult()
    // $newOrder->getRaw()

);

listOrders()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('RU', true);

$justin->setKey('Ваш ключ');

print_r(

    $justin->listOrders('20190505')->getData()

);

orderInfo()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('RU', true);

$justin->setKey('Ваш ключ');

print_r(

    $justin->orderInfo('Ваш номер замовлення')->getData()

);

createSticker()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('UA', true);

$justin->setKey('Ваш ключ');

print_r(

    $justin->createSticker(

        null, '400144837', __DIR__ . '/' . time() . '.pdf', null, false

    )

    // $justin->createSticker(

    //     [400144837, 400144837], null, __DIR__ . '/t.pdf', null, false

    // )

);

Стікер приклад

Sticker

calculatePriceService()

use Justin\Justin;

include_once 'vendor/autoload.php';

$justin = new Justin('RU', true);

$justin->setLogin('Ваш логин')->setPassword('Ваш пароль')->setKey('Ваш ключ');

print_r(

    $justin->calculatePriceService([

        'point_a_locality_uuid' => 'e7ebcef9-dbfb-11e7-80c6-00155dfbfb00',
        'point_b_locality_uuid' => 'e7ebcef9-dbfb-11e7-80c6-00155dfbfb00',
        'weight'                => 35.0,
        'cargo_details'         => [
            [
                'cargo_description' => 'fdd20d8b-1375-11eb-a2e5-0050569bda1b',
                'amount'            => 0,
            ],
     
            [
                'cargo_description' => 'bed96769-1386-11eb-a2e5-0050569bda1b',
                'amount'            => 1,
            ],
     
        ],
        'cargo_places_array'    => [
      
            [
                'weight' => 10,
                'width'  => 2,
                'height' => 1,
                'depth'  => 1,
            ],
      
            [
                'weight' => 5,
                'width'  => 1,
                'height' => 1,
                'depth'  => 1,
            ],
      
      ],

    ])->getData()

);