frain / convoy
Convoy PHP SDK Library
Installs: 1 342
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 4
Forks: 0
Open Issues: 0
Requires
- php: ^7.3 || ^8.0
- php-http/client-common: ^2.5
- php-http/discovery: ^1.14
- psr/http-client: ^1.0
- psr/http-client-implementation: ^1.0
- psr/http-factory: ^1.0
- symfony/options-resolver: ^6.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- pestphp/pest: ^1.20
- php-http/curl-client: ^2.2
README
This is the Convoy PHP SDK. This SDK contains methods for easily interacting with Convoy's API. Below are examples to get you started. For additional examples, please see our official documentation at (https://convoy.readme.io/reference)
Installation
To install the package, you will need to be using Composer in your project.
The Convoy PHP SDK is not hard coupled to any HTTP Client such as Guzzle or any other library used to make HTTP requests. The HTTP Client implementation is based on PSR-18. This provides you with the convenience of choosing what PSR-7 and HTTP Client you want to use.
To get started quickly,
composer require frain/convoy symfony/http-client nyholm/psr7
Setup Client
Next, import the convoy
module and setup with your auth credentials.
use Convoy\Convoy; $convoy = new Convoy(["api_key" => "your_api_key", "project_id" => "your_project_id"]);
Create an Endpoint
An endpoint represents a target URL to receive events.
$endpointData = [ "name" => "Default Endpoint", "url" => "https://0d87-102-89-2-172.ngrok.io", "description" => "Default Endpoint", "secret" => "endpoint-secret", "events" => ["*"] ]; $response = $convoy->endpoints()->create($endpointData);
Update an Endpoint
$endpointId = "01GTVFSGBAH8NJTMT5Y1ENE218"; $endpointData = [ "name" => "Default Endpoint", "url" => "https://0d87-102-89-2-172.ngrok.io", "description" => "Default Endpoint", "secret" => "endpoint-secret", "events" => ["*"] ]; $response = $convoy->endpoints()->update($endpointId, $endpointData);
Sending an Event
To send an event, you'll need the uid
from the endpoint we created earlier.
$eventData = [ "endpoint_id" => $endpointId, "event_type" => "payment.success", "data" => [ "event" => "payment.success", "data" => [ "status" => "Completed", "description" => "Transaction Successful", "userID" => "test_user_id808" ] ] ]; $response = $convoy->events()->create($eventData);
Testing
composer test
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.