imbue/sendcloud-api-php

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

1.2.0 2024-09-16 11:44 UTC

This package is auto-updated.

Last update: 2024-10-16 12:05:56 UTC


README

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.