/sendcloud-api-php

SendCloud API client library for PHP. SendCloud is a European shipping software for e-commerce.

Primary LanguagePHP

SendCloud API client for PHP

Tests Latest Stable Version Downloads

Note that this library does not yet implement the complete functionality of the SendCloud API. Feel free to open a merge request with the additional implementation.

Installation

$ composer require imbue/sendcloud-api-php

Getting started

Initialize the SendCloud API client

$sendCloud = new \Imbue\SendCloud\SendCloudApiClient();
$sendCloud->setApiAuth('gb3iogpp8uf74p92holav67ij7jmpswe', '1m9mtv4ylnd8fy0xb61ury81pt6xp3fh');

Creating a new parcel

$parcel = $sendCloud->parcels->create([
    'parcel' => [
        'name' => 'Julie Appleseed',
        'company_name' => 'SendCloud',
        'address' => 'Insulindelaan 115',
        'house_number' => 115,
        'city' => 'Eindhoven',
        'postal_code' => '5642CV',
        'telephone' => '+31612345678',
        'request_label' => true,
        'email' => 'julie@appleseed.com',
        'country' => 'NL',
        'shipment' => [
            'id' => 8,
        ],
        'weight' => '10.000',
        'order_number' => '1234567890',
        'insured_value' => 2000,
    ]
]);

Insert or update (upsert) shipment for an integration

$shipment = $sendCloud->integrationShipments->upsert(1346, [
    'name' => 'Julie Appleseed',
    'company_name' => 'SendCloud',
    'address' => 'Insulindelaan 115',
    'house_number' => 115,
    'city' => 'Eindhoven',
    'postal_code' => '5642CV',
    'telephone' => '+31612345678',
    'request_label' => true,
    'email' => 'julie@appleseed.com',
    'country' => 'NL',
    'shipment' => [
        'id' => 8,
    ],
    'weight' => '10.000',
    'order_number' => '1234567890',
    'insured_value' => 2000,
]);

Retrieve a list of integrations

$sendCloud->integrations->list();

Retrieve a single parcel

$sendCloud->parcels->get($id);
Partner ID

If you are a partner of SendCloud, you can set the partner id. The library will ensure it will be added as header to the request.

$sendCloud->setPartnerId('3dd88a04-26e4-4959-af11-f5674491573e')

List of available methods

Integrations

  • List

Integration Shipments

  • List
  • Upsert (Update or create)

Invoices

  • List
  • Find

Parcels

  • Get
  • List
  • Create
  • Cancel

Parcel statuses

  • List

Sender addresses

  • Get
  • List

Shipping methods

  • Get
  • List

Labels

  • Get
  • Print
  • Get labels as PDF

User

  • Get

Roadmap

  • Implement all possible endpoints
  • Add PHPUnit tests

Want to help improving the library?

I will happily accept new pull requests.