jp10 / maileva-simple-sdk
API pour envoyer et suivre des courriers postaux. Elle comprend les fonctions clés pour : - créer un envoi, - ajouter des documents et des destinataires, - choisir ses options, - suivre la production. Pour connaitre les notifications (webhooks) concernées par cette API, consultez la documenta
Requires
- php: ^7.4 || ^8.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.3
- guzzlehttp/psr7: ^1.7 || ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.5
- phpunit/phpunit: ^8.0 || ^9.0
README
API pour envoyer et suivre des courriers postaux.
Elle comprend les fonctions clés pour :
- créer un envoi,
- ajouter des documents et des destinataires,
- choisir ses options,
- suivre la production.
Pour connaitre les notifications (webhooks) concernées par cette API, consultez la documentation de l'API notification_center.
Installation & Usage
Requirements
PHP 7.4 and later. Should also work with PHP 8.0.
Composer
To install the bindings via Composer, add the following to composer.json
:
composer require jp10/maileva-simple-sdk
Getting Started
Please follow the installation procedure and then run the following:
La classe Maileva\Client\Maileva a 3 fonctions :
//Retourne un objet Maileva\Client\Api\EnvoiApi
$maileva->envoi();
//Retourne un objet Maileva\Client\Api\DocumentsApi
$maileva->documents():
//Retourne un objet Maileva\Client\Api\DestinatairesApi
$maileva->destinataires();
Il suffit ensuite d'utiliser les endpoints de chaque objet.
<?php
require_once(__DIR__ . '/vendor/autoload.php');
$maileva = new \Maileva\Client\Maileva(
'<YOU-MAILEVA-LOGIN>',
'<YOU-MAILEVA-PASSWORD>',
'<YOU-MAILEVA-client_id>',
'<YOU-MAILEVA-client_secret>',
new GuzzleHttp\Client(),
new \Maileva\Client\Configuration()
);
//Création d'une lettre
$body = new \Maileva\Client\Model\SendingCreation(
[
"name" => "Résiliation d'un abonnement téléphonique",
"custom_id" => "order_1234",
"custom_data" => "order_1234",
"acknowledgement_of_receipt" => true,
"acknowledgement_of_receipt_scanning" => true,
"color_printing" => true,
"duplex_printing" => true,
"optional_address_sheet" => false,
"notification_email" => "do_not_reply@maileva.com",
"sender_address_line_1" => "Société Durand",
"sender_address_line_2" => "M. Pierre DUPONT",
"sender_address_line_3" => "Batiment B",
"sender_address_line_4" => "10 avenue Charles de Gaulle",
"sender_address_line_5" => "",
"sender_address_line_6" => "94673 Charenton-Le-Pont",
"sender_country_code" => "FR",
"archiving_duration" => 3,
"return_envelope_reference" => 123456
]
); // \Maileva\Client\Model\RecipientCreation |
try {
$result = $maileva->envoi()->sendingsPost($body);
echo '<pre>';
print_r($result);
echo '</pre>';
} catch (Exception $e) {
echo 'Exception when calling EnvoiApi->sendingsPost: ', $e->getMessage(), PHP_EOL;
}
$sending_id = $result->getId();
//Suppression d'une lettre
try {
$result = $apiInstance->sendingsSendingIdDelete($sending_id);
echo '<pre>';
print_r($result);
echo '</pre>';
} catch (Exception $e) {
echo 'Exception when calling EnvoiApi->sendingsSendingIdDelete: ', $e->getMessage(), PHP_EOL;
}
//Récupération de toutes les lettres
try {
$result = $maileva->envoi()->sendingsGet();
echo '<pre>';
print_r($result);
echo '</pre>';
} catch (Exception $e) {
echo 'Exception when calling EnvoiApi->sendingsSendingIdGet: ', $e->getMessage(), PHP_EOL;
API Endpoints
All URIs are relative to https://api.sandbox.maileva.net/mail/v2
Class | Method | HTTP request | Description |
---|---|---|---|
DestinatairesApi | patchRecipient | PATCH /sendings/{sending_id}/recipients/{recipient_id} | Modification partielle d'un destinataire |
DestinatairesApi | sendingsSendingIdRecipientsDelete | DELETE /sendings/{sending_id}/recipients | Suppression de tous les destinataires |
DestinatairesApi | sendingsSendingIdRecipientsGet | GET /sendings/{sending_id}/recipients | Liste des destinataires d'un envoi |
DestinatairesApi | sendingsSendingIdRecipientsImportsPost | POST /sendings/{sending_id}/recipients/imports | Ajout d'un ou de plusieurs destinataires à un envoi |
DestinatairesApi | sendingsSendingIdRecipientsPost | POST /sendings/{sending_id}/recipients | Ajout d'un destinataire à l'envoi |
DestinatairesApi | sendingsSendingIdRecipientsRecipientIdDelete | DELETE /sendings/{sending_id}/recipients/{recipient_id} | Suprression d'un destinataire |
DestinatairesApi | sendingsSendingIdRecipientsRecipientIdDeliveryStatusesGet | GET /sendings/{sending_id}/recipients/{recipient_id}/delivery_statuses | Liste des statuts de distribution d'un destinataire |
DestinatairesApi | sendingsSendingIdRecipientsRecipientIdDownloadArchiveGet | GET /sendings/{sending_id}/recipients/{recipient_id}/download_archive | Téléchargement du courrier envoyé au destinataire |
DestinatairesApi | sendingsSendingIdRecipientsRecipientIdGet | GET /sendings/{sending_id}/recipients/{recipient_id} | Détail d'un destinataire |
DocumentsApi | sendingsSendingIdDocumentsDocumentIdDelete | DELETE /sendings/{sending_id}/documents/{document_id} | Suppression d'un document |
DocumentsApi | sendingsSendingIdDocumentsDocumentIdGet | GET /sendings/{sending_id}/documents/{document_id} | Détail d'un document |
DocumentsApi | sendingsSendingIdDocumentsDocumentIdSetPriorityPost | POST /sendings/{sending_id}/documents/{document_id}/set_priority | Classement des documents |
DocumentsApi | sendingsSendingIdDocumentsGet | GET /sendings/{sending_id}/documents | Liste des documents d'un envoi |
DocumentsApi | sendingsSendingIdDocumentsPost | POST /sendings/{sending_id}/documents | Ajout d'un document à l'envoi. |
EnvoiApi | sendingsGet | GET /sendings | Liste des envois |
EnvoiApi | sendingsPost | POST /sendings | Création d'un envoi |
EnvoiApi | sendingsSendingIdDelete | DELETE /sendings/{sending_id} | Suppression d'un envoi |
EnvoiApi | sendingsSendingIdGet | GET /sendings/{sending_id} | Détail d'un envoi |
EnvoiApi | sendingsSendingIdPatch | PATCH /sendings/{sending_id} | Modification partielle d'un envoi |
EnvoiApi | sendingsSendingIdSubmitPost | POST /sendings/{sending_id}/submit | Finalisation d'un envoi |
Models
- AcceptedImport
- CountryCode
- DeliveryStatusesResponse
- DeliveryStatusesResponseDeliveryStatusesInner
- DocumentResponse
- DocumentsOverrideItem
- DocumentsResponse
- EnvelopeType
- ErrorResponse
- ErrorsResponse
- ImportRecipients
- PagingResponse
- PostageType
- Priority
- RecipientCreation
- RecipientCreationImport
- RecipientPostageClass
- RecipientResponse
- RecipientStatus
- RecipientsCounts
- RecipientsImportResponse
- RecipientsResponse
- RejectedImport
- ReturnEnvelope
- ReturnEnvelopeOutput
- SendingCreation
- SendingResponse
- SendingStatus
- SendingUpdate
- SendingsResponse
- SendingsSendingIdDocumentsPostRequestMetadata
Authorization
Authentication schemes defined for the API:
bearerAuth
- Type: Bearer authentication (JWT)
oAuth2PasswordProduction
- Type:
OAuth
- Flow:
password
- Authorization URL: ``
- Scopes:
- all: CRUD on ressources
oAuth2PasswordSandbox
- Type:
OAuth
- Flow:
password
- Authorization URL: ``
- Scopes:
- all: CRUD on ressources
Tests
To run the tests, use:
composer install
vendor/bin/phpunit
Author
About this package
This PHP package is automatically generated by the OpenAPI Generator project:
- API version:
2.8
- Build package:
org.openapitools.codegen.languages.PhpClientCodegen