This package is an SDK for the REST API.
The SDK on GitHub
Minimal PHP version: ^8.2
Requires GuzzleHttp ^7.7.0
For Laravel projects we recommend using the Laravel providers for REST or GraphQL.
You can install the SDK as a composer package.
composer require preprio/php-rest-sdk
Let's start with getting some content items from your Prepr environment.
<?php
use Preprio\PhpRestSdk\Prepr;
$apiRequest = new Prepr('{ACCESS_TOKEN}');
$apiRequest
->path('content_items')
->query([
'fields' => 'items'
])
->get();
if($apiRequest->getStatusCode() == 200) {
print_r($apiRequest->getResponse());
}
To get a single content item, pass the ID to the request.
<?php
use Preprio\PhpRestSdk\Prepr;
$apiRequest = new Prepr('{ACCESS_TOKEN}');
$apiRequest
->path('content_items/{id}', [
'id' => '1236f0b1-b26d-4dde-b835-9e4e441a6d09'
])
->query([
'fields' => 'items'
])
->get();
if($apiRequest->getStatusCode() == 200) {
print_r($apiRequest->getResponse());
}
To get all resources for an endpoint, you can use the auto paging feature.
$apiRequest
->path('content_items')
->query([
'limit' => 200 // optional
])
->autoPaging();
if($apiRequest->getStatusCode() == 200) {
print_r($apiRequest->getResponse());
}
The authorization can also be set for one specific request ->url('url')->authorization('token')
.
$apiRequest
->path('content_items')
->params([
'body' => 'Example'
])
->post();
if($apiRequest->getStatusCode() == 201) {
print_r($apiRequest->getResponse());
}
$apiRequest
->path('content_items')
->params([
'body' => 'Example'
])
->put();
if($apiRequest->getStatusCode() == 200) {
print_r($apiRequest->getResponse());
}
$apiRequest
->path('content_items/{id}',[
'id' => "398402d-dd-asd-ads3343dad"
])
->delete();
if($apiRequest->getStatusCode() == 204) {
// Deleted.
}
$apiRequest
->path('assets')
->params([
'body' => 'Example',
])
->file('/path/to/file.txt')
->post();
if($apiRequest->getStatusCode() == 200) {
print_r($apiRequest->getResponse());
}
With $apiRequest->getRawResponse()
you can get the raw response from the Prepr API.