How pingencom/pingen2-sdk-php works
This is a PHP client SDK for Pingen’s document-delivery API. A typical integration obtains an OAuth access token, configures a resource endpoint for an organisation and environment, then submits documents or manages delivery resources; the SDK sends authenticated JSON:API requests and maps responses into typed DTOs. The API surface also covers batches, letters, email, e-bills, events, uploads, organisations, users, and webhooks. Source excerpts show the shared request layer and webhook handling; most endpoint implementations are unsampled, so their detailed call relationships are not asserted.
Main entry points: ResourceEndpoint.php HTTP request layer · WebhooksEndpoint.php Webhook management · IncomingWebhook.php Incoming webhook parser · Pingen.php OAuth provider
Components 22
Authentication
- OAuth provider
src/Provider/Pingen.php - Resource owner
src/ResourceOwner.php
API resources
- Resource endpoints
src/Endpoints - Letters
src/Endpoints/LettersEndpoint.php - Batches
src/Endpoints/BatchesEndpoint.php - Email delivery
src/Endpoints/EmailsEndpoint.php - E-bill delivery
src/Endpoints/EbillsEndpoint.php - File uploads
src/Endpoints/FileUploadEndpoint.php - Delivery events
src/Endpoints - Organisation and users
src/Endpoints/OrganisationsEndpoint.php - Webhook management
src/Endpoints/WebhooksEndpoint.php
Data mapping
- Response DTOs
src/Endpoints/DataTransferObjects - Request inputs
src/Support/Input.php - DTO engine
src/Support/DataTransferObject/DataTransferObject.php
Webhook handling
- Incoming webhook parser
src/IncomingWebhook/IncomingWebhook.php - Incoming event DTOs
src/IncomingWebhook/DataTransferObjects/IncomingWebhookDetails.php
SDK core
- HTTP request layer
src/ResourceEndpoint.php - Collection parameters
src/Support/CollectionParameterBag.php - API error handling
src/Exceptions/JsonApiException.php
Other components
- SDK user
- Pingen identity
- Pingen API
Connections 16
- SDK user → OAuth provider: configures
README.md - OAuth provider → Pingen identity: requests tokens
src/Provider/Pingen.php - SDK user → Letters: creates endpoint
README.md - Letters → File uploads: uploads document
- Resource endpoints → HTTP request layer: uses requests
src/Endpoints/WebhooksEndpoint.php - Webhook management → HTTP request layer: performs requests
src/Endpoints/WebhooksEndpoint.php - HTTP request layer → Pingen API: sends authenticated requests
src/ResourceEndpoint.php - HTTP request layer → API error handling: raises API errors
src/ResourceEndpoint.php - Webhook management → Collection parameters: passes filters
src/Endpoints/WebhooksEndpoint.php - Webhook management → Response DTOs: constructs responses
src/Endpoints/WebhooksEndpoint.php - SDK user → Incoming webhook parser: processes webhook
- Incoming webhook parser → Incoming event DTOs: builds details
src/IncomingWebhook/IncomingWebhook.php - Incoming webhook parser → Pingen API: verifies signed payload
- Response DTOs → DTO engine: maps response data
src/Endpoints/DataTransferObjects/Webhook/WebhookCollection.php - Request inputs → HTTP request layer: serializes request body
src/ResourceEndpoint.php - HTTP request layer → Pingen API: selects staging or production
src/ResourceEndpoint.php