https://github.com/passchn/digistore-api-wrapper
Wrapper for the Digistore24.com API.
https://github.com/passchn/digistore-api-wrapper
digistore24 ecommerce php
Last synced: 10 months ago
JSON representation
Wrapper for the Digistore24.com API.
- Host: GitHub
- URL: https://github.com/passchn/digistore-api-wrapper
- Owner: passchn
- Created: 2022-01-22T22:46:34.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-12-30T17:33:07.000Z (over 3 years ago)
- Last Synced: 2024-12-31T06:13:40.709Z (over 1 year ago)
- Topics: digistore24, ecommerce, php
- Language: PHP
- Homepage:
- Size: 49.8 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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](https://getcomposer.org).
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](https://dev.digistore24.com/en/articles/3-api-basics).
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.