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.
$ composer require imbue/sendcloud-api-php
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);
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
- List
- Upsert (Update or create)
- List
- Find
- Get
- List
- Create
- Cancel
- List
- Get
- List
- Get
- List
- Get
- Get labels as PDF
- Get
- Implement all possible endpoints
- Add PHPUnit tests
I will happily accept new pull requests.