GithubHelp home page GithubHelp logo

sendcloud-php-client's Introduction

Sendcloud PHP API Client

An unofficial client for the Sendcloud API. More info about Sendcloud on https://sendcloud.nl. Below are some examples on the usage of this client.

Full docs of the Sendcloud API can be found on https://docs.sendcloud.sc/api/v2/index.html

Links

Installation

This project can easily be installed through Composer.

composer require picqer/sendcloud-php-client

Set-up connection

Prepare the client for connecting to Sendcloud with your API key and API secret. (Optionally you can send your Partner id as 3rd param.)

$connection = new \Picqer\Carriers\SendCloud\Connection('apikey', 'apisecret');
$sendcloudClient = new \Picqer\Carriers\SendCloud\SendCloud($connection);

Get all parcels

Returns an array of Parcel objects

$parcels = $sendcloudClient->parcels()->all();

Get a single parcel

Returns a Parcel object

$parcel = $sendcloudClient->parcels()->find(2342);

Create a new parcel

$parcel = $sendcloudClient->parcels();

$parcel->shipment = 10; // Shipping method, get possibilities from $sendCloud->shippingMethods()->all()

$parcel->name = 'John Smith';
$parcel->company_name = 'ACME';
$parcel->address = 'Wellingtonstreet 25';
$parcel->city = 'Wellington';
$parcel->postal_code = '3423 DD';
$parcel->country = 'NL';
$parcel->order_number = 'ORDER2014-52321';

$parcel->requestShipment = true; // Specifically needed to create a shipment after adding the parcel

$parcel->save();

Getting label from parcel

$labelUrl = $parcel->getPrimaryLabelUrl();

$documentDownloader = new \Picqer\Carriers\SendCloud\DocumentDownloader($connection);
$labelContents = $documentDownloader->getDocument($labelUrl, 'pdf');

Exceptions

Actions to the API may cause an Exception to be thrown in case something went wrong

try {
    $parcel->save();
} catch (SendCloudApiException $e) {
    throw new Exception($e->getMessage());
}

Create an international parcel

$parcel = $sendcloudClient->parcels();

$parcel->shipment = 9; // Shipping method, get possibilities from $sendCloud->shippingMethods()->all()

$parcel->name = 'John Smith';
$parcel->company_name = 'ACME';
$parcel->address = 'Wellingtonstreet 25';
$parcel->city = 'Wellington';
$parcel->postal_code = '3423 DD';
$parcel->country = 'CH';
$parcel->order_number = 'ORDER2014-52321';
$parcel->weight = 20.4;

// For international shipments
$parcel->customs_invoice_nr = 'ORD9923882';
$parcel->customs_shipment_type = 2; // Commercial goods
$parcel->parcel_items = [
    [
        'description' => 'Cork',
        'quantity' => 2,
        'weight' => 10.2,
        'value' => 12.93,
        'hs_code' => '992783',
        'origin_country' => 'CN',
    ]
];

$parcel->requestShipment = true; // Specifically needed to create a shipment after adding the parcel

$parcel->save();

sendcloud-php-client's People

Contributors

casperbakker avatar stephangroen avatar jschram avatar kleiram avatar lorro avatar annajeanine avatar keesschepers avatar roaldwegh avatar axlon avatar hxnk avatar cwdt avatar obrunsmann avatar rubentebogt avatar smetje avatar kzorlu avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.