定制 alhoqbani/smsa-webservice 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

alhoqbani/smsa-webservice

最新稳定版本:0.0.3

Composer 安装命令:

composer require alhoqbani/smsa-webservice

包简介

smsaexpress.com tracking web service (soap api)

README 文档

README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

SMSAExpress tracking web service.

Under development. Don't use for production.

This library provides fluent and intuitive mechanism to interact with SMSAExpress eCommerce Web API: SMSAwebService.

Through this API you can cretate new shipments, track shipments, and cancel shipments programmatically.

The API follows SOAP protocol specifications, and it's not straight forward to follow or use with PHP.

This is unoffocial libary and has no affiliation with SMSAExpress. Usage of SMSAwebService is subject to its terms and conditions.

Credentials:

Before using the API you need to obtain a passKey from SMSAExpress.

Install

Via Composer

$ composer require alhoqbani/smsa-webservice

Usage

<?php

use \Alhoqbani\SmsaWebService\Smsa;

$smsa = new Smsa($passKey);

Get Status:

Get current Status of Shipment by Air waybill Number

$result = $smsa->status('290019315792');
var_dump($smsa->data);

Get Tracking

Get Tracking of Shipment by Air waybill Number

$track = $smsa->track('290019315792');

if (track->success) {
    var_dump($track->data);
} else {
    var_dump($track->error);
}

Get AWB Print in PDF

Get AWB Print in PDF

try {
    $pdf = $smsa->awbPDF('290019315810');
    header('Content-type: application/octet-stream');
    header('Content-disposition: attachment;filename=awb.pdf');
    echo $pdf->data; die();

} catch (\Alhoqbani\SmsaWebService\Exceptions\RequestError $e) {
    echo $e->getMessage();
    var_dump($e->smsaResponse)
}

Create new shipment:

Create Shipment and get SMSA AWB Number

You create an object of Shipment and pass it to $smsa->createShipment() The shipment requeires an instance of Customer and optionally a Shipper object.

<?php

use \Alhoqbani\SmsaWebService\Smsa;
use \Alhoqbani\SmsaWebService\Models\Shipment;
use \Alhoqbani\SmsaWebService\Models\Customer;
use \Alhoqbani\SmsaWebService\Models\Shipper;

$smsa = new Smsa($passKey);
// Create a customer
$customer = new Customer(
    'Customer Name', //customer name
    '0500000000', // mobile number. must be > 9 digits
    '10 King Fahad Road', // street address
    'Jeddah' // city
);

$shipment = new Shipment(
    time(), // Refrence number
    $customer, // Customer object
    Shipment::TYPE_DLV // Shipment type.
      );

$awb = $smsa->createShipment($shipment);

echo $awb->data; // 290019315792

To add additional fields

$customer
    ->setEmail('customer@example.com')
    ->setAddressLine2('Building 10, Apartment 1')
    ->setPOBox('12345')
    ->setZipCode('11411')
    ->setTel1('0110000000')
    ->setTel2('0120000000');

// To add shipper details to the shipment
$shipper = new Shipper(
    'Shipper Name (LLC)', // shipper name
    'Shipper Employee', // contact name
    '1 Main Road', // address line 1
    'Riyadh', // city
    'Saudi Arabia', // country
    '0110000000' // phone
);

$shipment->setShipper($shipper);

Cancel shipment:

Cancel a Shipment by Air waybill Number

$result = $smsa->cancel('AWB NUMBER')
var_dump($result->jsonSerialize())

Get Cities

Get List of Cities for Retails list

$smsa->shouldUseExceptions = false; // Disable throwing exceptions by the library

$cities = $smsa->cities();

if( $cities->success) {
    var_dump($cities->data)
} else {
    var_dump($cities->error)
}

Get Retails

Get Retails list by each city

$retails = $smsa->retails();
var_dump($retails); 
// or by city (route code):
$retails =  $smsa->retailsIn('TUU');

Example App

You can check this repository for an example app built with Laravel.

Change log

Please see CHANGELOG for more information on what has changed recently.

Testing

Not yet :(

TODO

  • Testing!!
  • Complete remaining operations.

Contributing

Please see CONTRIBUTING and CODE_OF_CONDUCT for details.

Credits

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 3.62k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 17
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 17
  • Watchers: 2
  • Forks: 10
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-04-06

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固