imbue / sendcloud-api-php
SendCloud API client library for PHP. SendCloud is a European shipping software for e-commerce
Installs: 7 236
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 5
Open Issues: 1
Requires
- php: ^7.2 || ^7.3 || ^8.2
- guzzlehttp/guzzle: ~4.0|~5.0|~6.0|~7.0
Requires (Dev)
- phpunit/phpunit: ^5.7 || ^6.5 || ^7.1 || ^10.1
README
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
- 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.