graphlr / prepr-api-laravel
Prepr API wrapper for Laravel
Installs: 5 464
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 1
Open Issues: 0
Requires
- php: >=5.6.4
- guzzlehttp/guzzle: ^7.0.1
- lastguest/murmurhash: ^2.0.0
README
This Laravel package is a wrapper for the Prepr API.
Compatible with Laravel v5x, v6x, v7x, v8x.
Installation
You can install the package via composer:
composer require graphlr/prepr-api-laravel
Environment variables
PREPR_URL=https://api.eu1.prepr.io/
PREPR_TOKEN=ToKeN
PREPR_CACHE=true
PREPR_CACHE_TIME=1800
Override variables
For all the requests
config(['prepr.url' => 'https://api.eu1.prepr.io/']); config(['prepr.token' => 'ToKeN']);
The authorization can also be set for one specific request ->url('url')->authorization('token')
.
Examples
use Graphlr\Prepr\Prepr;
Get All
$apiRequest = (new Prepr) ->path('tags') ->query([ 'fields' => 'example' ]) ->get(); if($apiRequest->getStatusCode() == 200) { dump($apiRequest->getResponse()); }
Get Single
$apiRequest = (new Prepr) ->path('tags/{id}',[ 'id' => 1 ]), ->query([ 'fields' => 'example' ]) ->get(); if($apiRequest->getStatusCode() == 200) { dump($apiRequest->getResponse()); }
Post
$apiRequest = (new Prepr) ->path('tags') ->params([ 'body' => 'Example' ]) ->post(); if($apiRequest->getStatusCode() == 201) { dump($apiRequest->getResponse()); }
Put
$apiRequest = (new Prepr) ->path('tags') ->params([ 'body' => 'Example' ]) ->put(); if($apiRequest->getStatusCode() == 200) { dump($apiRequest->getResponse()); }
Delete
$apiRequest = (new Prepr) ->path('tags/{id}',[ 'id' => 1 ]) ->delete(); if($apiRequest->getStatusCode() == 204) { // Deleted. }
A/B testing
$apiRequest = (new Prepr) ->path('tags/{id}',[ 'id' => 1 ]), ->query([ 'fields' => 'example' ]) ->userId(session()->getId()) ->get(); if($apiRequest->getStatusCode() == 200) { dump($apiRequest->getResponse()); }
Multipart/Chunk upload
$apiRequest = (new Prepr) ->path('assets') ->params([ 'body' => 'Example', ]) ->file('/path/to/file.txt') // For laravel storage: storage_path('app/file.ext') ->post(); if($apiRequest->getStatusCode() == 200) { dump($apiRequest->getResponse()); }
Autopaging
$apiRequest = (new Prepr) ->path('publications') ->query([ 'limit' => 200 // optional ]) ->autoPaging(); if($apiRequest->getStatusCode() == 200) { dump($apiRequest->getResponse()); }
Debug
For debug you can use getRawResponse()
Documentation
For all the details and full documentation check out the Prepr Developer docs