Skip to content

passchn/digistore-api-wrapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Digistore24 Api Wrapper plugin for PHP

No further development

I'm not using Digistore24 anymore myself. So it is very unlikely that I will further develop this package.

Installation

You can install this plugin using composer.

The recommended way to install composer packages is:

composer require passchn/digistore-api-wrapper

Connect to the API

To connect to the Api, create an instance of DigistoreClient, passing your api key from Digistore24.com:

use DigistoreApi\DigistoreClient;

$api = new DigistoreClient($api_key);

Test the connection:

return $api->isConnected() // true or false 

If false, or some API-call went wrong, and you got a null-response, check for the last error message, or all errors that have occurred:

$api->getLastError() // error message (string) or null
$api->getErrors() // array of Exceptions or null 

Get data from the API

This plugin is a wrapper for thr original Digistore24 API. See the full reference here: dev.digistore24.com.

The aim is to have known return types (e.g., Buyer or Purchase with defined fields), and to provide an easier access.

However, ust a few of the possible queries are supported right now. In general, you can always use this method to call any endpoint:

$api->call($method, ...$arguments)

Supported wrapper-endpoints

Purchases

Get one DigistoreApi\Purchases\Purchase or null by order id / purchase id:

$api->Purchases->get($id);

Get a DigistoreApi\Purchases\Purchase[] or null by passing an array of order ids:

$api->Purchases->getMany([
    '12345',
    '67890',
    '...'
]);

Buyers

Get a DigistoreApi\Buyers\Buyer (or null) by id or email.

$api->Buyers->get($id_or_email);

Get an array of Buyers or null by passing a list of emails or ids:

$api->Buyers->getMany([$id_or_email, $other_email, $some_id]);

Deliveries

Count Deliveries that have not been processed yet.

$deliveries = $api->Deliveries->countOpen() // ?int

Find Deliveries by purchase id / order id:

$deliveries = $api->Deliveries->listForPurchase("ABC123") // ?array

Find Deliveries for a certain time range (defaults to last 6 weeks):

$deliveries = $api->Deliveries->listForTimeRange() // ?array

Find Deliveries by type/state, e.g. request (not processed yet), delivery (sent by you), or cancelled.

$deliveries = $api->Deliveries->listByTypes([
    DeliveryTypes::REQUEST,
    DeliveryTypes::DELIVERY,
]) // ?array 

Contribution

You can contribute to this plugin via Pull Requests.

About

Wrapper for the Digistore24.com API.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages