supershipvn/supership-sdk-php

SuperShip SDK for PHP - Use SuperShip in your PHP project

v1.0.3 2023-03-02 16:47 UTC

This package is auto-updated.

Last update: 2024-09-30 01:57:40 UTC


README

Total Downloads Latest Stable Version License

Introduction

Using the SuperShip SDK for PHP, developers can easily integrate SuperShip APIs into their PHP codebase, enabling businesses to automate and scale their shipping operations.

Features

Some of the SuperShip APIs available include:

  • Areas API: This API allows developers to retrieve a list of provinces, districts, and communes supported by SuperShip for the pickup, delivery, and return of goods.
  • Auth API: This API allows developers to register a new user and retrieve a token via username and password.
  • Orders API: This API allows developers to retrieve shipping rates, create a new order, retrieve order information, obtain order status lists, and generate shipping labels.
  • Warehouses API: This API allows developers to create a new warehouse, edit the current warehouse, and retrieve information on all warehouses.
  • Webhooks API: This API allows developers to register a new webhook, edit the current webhook, and retrieve registered webhooks.

Please check SuperShip API Documentation for more details.

API Documentation

Documentation for SuperShip APIs can be found on the API Documentation Website.

Installation

You can install the package via composer:

composer require supershipvn/supership-sdk-php

Usage

Orders API

Create Order

To create a new order, call the createOrder method using the following syntax:

use SuperShip\SuperShipClient;

$supership = new SuperShipClient('YOUR_API_TOKEN');

$params = [
    'pickup_phone' => '0989999999',
    'pickup_address' => '45 Nguyễn Chí Thanh',
    'pickup_commune' => 'Phường Ngọc Khánh',
    'pickup_district' => 'Quận Ba Đình',
    'pickup_province' => 'Thành phố Hà Nội',
    'name' => 'Trương Thế Ngọc',
    'phone' => '0945900350',
    'email' => null,
    'address' => '35 Trương Định',
    'province' => 'Thành phố Hồ Chí Minh',
    'district' => 'Quận 3',
    'commune' => 'Phường 6',
    'amount' => '220000',
    'value' => null,
    'weight' => '200',
    'payer' => '1',
    'service' => '1',
    'config' => '1',
    'soc' => 'KAN7453535',
    'note' => 'Giao giờ hành chính',
    'product_type' => '2',
    'products' => [
        [
            'sku' => 'P899234',
            'name' => 'Tên Sản Phẩm 1',
            'price' => 200000,
            'weight' => 200,
            'quantity' => 1,
        ],
        [
            'sku' => 'P899789',
            'name' => 'Tên Sản Phẩm 2',
            'price' => 250000,
            'weight' => 300,
            'quantity' => 2,
        ],
    ]
];

$supership->createOrder($params);

Optionally, you can retrieve the Order Code using the following method:

$order = $supership->createOrder($params);
echo $order['results']['code'];

Get Single Order Info

To retrieve single order, call the getOrderInfo method using the following syntax:

$supershipOrderCode = 'SUPERSHIP_ORDER_CODE';
$supership->getOrderInfo($supershipOrderCode);

Get All Order Statuses

To retrieve all order statuses, call the getOrderStatuses method using the following syntax:

$supership->getOrderStatuses();

Create Print Token

To obtain a new token for label printing, call the createPrintToken method using the following syntax:

$params = [
    'code' => [
        'SUPERSHIP_ORDER_CODE_1',
        'SUPERSHIP_ORDER_CODE_2'
    ]
];

$supership->createPrintToken($params);

Get Print Link

To get a print link for print token, call the getOrderInfo method using the following syntax:

$printToken = '49ef6620-423e-11e9-b019-b71407a43f47';
$labelSize = 'K46';

$supership->getPrintLink($printToken, $labelSize);

Warehouses API

Get All Warehouses

To retrieve all warehouses, call the getWarehouses method using the following syntax:

$supership->getWarehouses();

Create Warehouse

To create a new warehouse, call the createWarehouse method using the following syntax:

$params = [
    'name' => 'Kho HBT',
    'phone' => '0989999888',
    'contact' => 'Trần Cao Cường',
    'address' => '47 Lê Lợi',
    'province' => 'Thành phố Hồ Chí Minh',
    'district' => 'Quận Tân Bình',
    'district' => 'Phường 13',
    'primary' => '1'
];

$supership->createWarehouse($params);

Update Warehouse

To edit the current warehouse, call the editWarehouse method using the following syntax:

$params = [
    'code' => 'WLKGT07050',
    'name' => 'Kho Hai Bà Trưng',
    'phone' => '0989999888',
    'contact' => 'Dương Mạnh Quân'
];

$supership->editWarehouse($params);

Webhooks API

Get All Webhooks

To retrieve all webhooks, call the getWebhooks method using the following syntax:

$supership->getWebhooks();

Register Webhook

To register a new webhook, call the registerWebhook method using the following syntax:

$partnerUrl = 'https://example.com/listen/supership';

$supership->registerWebhook($partnerUrl);

Auth API

Create User

To create a new user, call the createUser method using the following syntax:

$params = [
    'project' => 'HMN Store',
    'name' => 'Hoàng Mạnh Nam',
    'phone' => '0989998888',
    'email' => 'hmn.store@gmail.com',
    'password' => '323423',
    'partner' => 'lPxLuxfiTotCyZ1ZnQjMepUL24HLd05ybNBhVGFN'
];

$supership->createUser($params);

Retrieve Token

To retrieve a token via username and password, call the retrieveToken method using the following syntax:

$params = [
    'client_id' => 'AZN6QUo40w',
    'client_secret' => 'C4fFVeFPkISEDQ8acNo9oSHUd8yIGuvoLWJdX9zY',
    'username' => 'hmn.store@gmail.com',
    'password' => '323423',
    'partner' => 'lPxLuxfiTotCyZ1ZnQjMepUL24HLd05ybNBhVGFN'
];

$supership->retrieveToken($params);

Areas API

Get All Provinces

To retrieve all provinces, call the getProvinces method using the following syntax:

$supership->getProvinces();

Get All Districts

To retrieve all districts, call the getDistricts method using the following syntax:

$provinceCode = '79';

$supership->getDistricts($provinceCode);

Get All Communes

To retrieve all communes, call the getCommunes method using the following syntax:

$districtCode = '777';

$supership->getCommunes($districtCode);

Changelog

Please see CHANGELOG for more information about recent changes.

Contributing

Thank you for considering contributing to SuperShip SDK for PHP! The contribution guide can be found in our contributing guidelines.

Security

If you've found a bug regarding security please mail supertek@supership.vn instead of using the issue tracker.

Credits

License

SuperShip SDK for PHP is open-sourced software licensed under the MIT license.