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

1.0.2 2023-10-26 11:20 UTC

This package is auto-updated.

Last update: 2024-04-26 12:15:51 UTC


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

ClassMethodHTTP requestDescription
DestinatairesApipatchRecipientPATCH /sendings/{sending_id}/recipients/{recipient_id}Modification partielle d'un destinataire
DestinatairesApisendingsSendingIdRecipientsDeleteDELETE /sendings/{sending_id}/recipientsSuppression de tous les destinataires
DestinatairesApisendingsSendingIdRecipientsGetGET /sendings/{sending_id}/recipientsListe des destinataires d'un envoi
DestinatairesApisendingsSendingIdRecipientsImportsPostPOST /sendings/{sending_id}/recipients/importsAjout d'un ou de plusieurs destinataires à un envoi
DestinatairesApisendingsSendingIdRecipientsPostPOST /sendings/{sending_id}/recipientsAjout d'un destinataire à l'envoi
DestinatairesApisendingsSendingIdRecipientsRecipientIdDeleteDELETE /sendings/{sending_id}/recipients/{recipient_id}Suprression d'un destinataire
DestinatairesApisendingsSendingIdRecipientsRecipientIdDeliveryStatusesGetGET /sendings/{sending_id}/recipients/{recipient_id}/delivery_statusesListe des statuts de distribution d'un destinataire
DestinatairesApisendingsSendingIdRecipientsRecipientIdDownloadArchiveGetGET /sendings/{sending_id}/recipients/{recipient_id}/download_archiveTéléchargement du courrier envoyé au destinataire
DestinatairesApisendingsSendingIdRecipientsRecipientIdGetGET /sendings/{sending_id}/recipients/{recipient_id}Détail d'un destinataire
DocumentsApisendingsSendingIdDocumentsDocumentIdDeleteDELETE /sendings/{sending_id}/documents/{document_id}Suppression d'un document
DocumentsApisendingsSendingIdDocumentsDocumentIdGetGET /sendings/{sending_id}/documents/{document_id}Détail d'un document
DocumentsApisendingsSendingIdDocumentsDocumentIdSetPriorityPostPOST /sendings/{sending_id}/documents/{document_id}/set_priorityClassement des documents
DocumentsApisendingsSendingIdDocumentsGetGET /sendings/{sending_id}/documentsListe des documents d'un envoi
DocumentsApisendingsSendingIdDocumentsPostPOST /sendings/{sending_id}/documentsAjout d'un document à l'envoi.
EnvoiApisendingsGetGET /sendingsListe des envois
EnvoiApisendingsPostPOST /sendingsCréation d'un envoi
EnvoiApisendingsSendingIdDeleteDELETE /sendings/{sending_id}Suppression d'un envoi
EnvoiApisendingsSendingIdGetGET /sendings/{sending_id}Détail d'un envoi
EnvoiApisendingsSendingIdPatchPATCH /sendings/{sending_id}Modification partielle d'un envoi
EnvoiApisendingsSendingIdSubmitPostPOST /sendings/{sending_id}/submitFinalisation d'un envoi

Models

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