dropcart / php-client
Use this package to communicate with the Dropcart engine on a PHP server.
Installs: 1 246
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 4
Forks: 0
Open Issues: 0
Requires
- php: ^7.4 | ^8.0
- guzzlehttp/guzzle: ^7.0
- lcobucci/jwt: ^3.4 | ^4.3
Requires (Dev)
This package is not auto-updated.
Last update: 2024-08-29 02:45:20 UTC
README
See also GitHub Pages: https://dropcart.github.io/php-client/
Dropcart makes it extremely easy setting up an online shop. All orders, payments and invoices are created and processed automatically. There is no need for for pushing the order manually to a wholesaler, or to create a package slip, or whatever.
This Dropcart PHP Client is the official PHP client for the REST API provided by Dropcart for setting up your own web frontend.
Installation
Installation is rather easy. This client is available as a package on Packagist and thus addable to your project via composer. This is the preferred method.
The client is also available as standalone .zip.
Via composer (preferred)
$ composer require dropcart/dropcart-php-client
Add require vendor/autoload.php
to the files where you want to use the client. (../
is of course relative to where you require the file)
Standalone
- Download the latest version of the build/DropcartPhpClient.zip
- Extract and upload via (S)FTP to your shared hosting just outside of de document root.
- Add
require ../vendor/autoload.php
to the files where you want to use the client. (../
is of course relative to where you require the file)
Usage
You'll need your public and private key. Login on the Dropcart Management Console or register to obtain those keys.
First set your keys
\Dropcart\PhpClient\DropcartClient::setPublicKey('PUBLIC_KEY'); \Dropcart\PhpClient\DropcartClient::setPrivateKey('PRIVATE_KEY');
Making a request
You can make request to the different services by calling it as method:
\Dropcart\PhpClient\DropcartClient::catalog(); \Dropcart\PhpClient\DropcartClient::catalog()->products(); \Dropcart\PhpClient\DropcartClient::catalog()->brands(); \Dropcart\PhpClient\DropcartClient::catalog()->categories();
The latest method is always one of these:
->get(...$args) ->post(...$args) ->put(...$args) ->delete(...$args);
By doing so the code will generate the appropiate URL with the requested HTTP method. For example
\Dropcart\PhpClient\DropcartClient::catalog()->products()->get(12332); // Will make a GET request to: // https://rest-api.dropcart.nl/catalog/products/12332 \Dropcart\PhpClient\DropcartClient::catalog(34)->products()->get(); // Will make a GET request to: // https://rest-api.dropcart.nl/catalog/34/products (this will actually fail because this isn't a valid endpoint)
If you need to send parameters along with a post or put request you'll use addParam($name, $value)
or addParams($array)
\Dropcart\PhpClient\DropcartClient::catalog()->products()->addParams([ 'name' => 'New Product', 'description' => 'A descriptive text about this new and awesome product. You need to buy this, yo!' ])->post();
Getting the response
This client uses the amazing Guzzle for making request. The response are Psr7 Responses. You'll get the wanted JSON by doing:
try { $response = \Dropcart\PhpClient\DropcartClient::catalog(34)->products()->get(); } catch(DropcartClientException $e) { die('Client error:' . $e->getMessage()); } catch (\Exception $e) { die('Server error:' . $e->getMessage()); } $json = $respons->getBody();
For a global overview of all the REST functions check REST.md
License
See the LICENSE file for license rights and limitations (MIT).
Support
Please file an GitHub Issue when there are errors in the code.
When failing to install please contact us: info@dropcart.nl
Nederlands
Met Dropcart is het opzetten van een webshop bijzonder eenvoudig. Alle bestellingen, betalingen en facturen worden automatisch aangemaakt en verwerkt. Het is dus niet meer nodig om handmatig een bestelling bij een groothandel in te voeren, pakbon te verzenden etcetera.