assur-connect/api-php

Assur Connect API client library for PHP.

v1.0.2 2022-04-02 17:29 UTC

This package is auto-updated.

Last update: 2024-03-30 00:17:52 UTC


README

Integrate Assur Connect insurance solutions in your PHP application(s) using the API.

Requirements

Installation via Composer

To install the package via Composer, run the following command:

composer require assur-connect/api-php

To use the package, use Composer's autoload:

require_once('vendor/autoload.php');

Dependencies

The package requires the following extensions in order to work properly:

Getting Started

// API initialization.
$api = new \AssurConnect\Api\AssurConnectApi;

// Use Sandbox environment.
$api->useSandbox();
// Or use Staging environment.
$api->useStaging();

// Authentication.
$clientRequestResource = new \AssurConnect\Api\Resources\Request\Auth\ClientResource(
    '9a250da6d-6209-4f91-8b69-1682976a7404',
    'test_c7c1d293-7a0b-45b5-8416-b9cff99270da',
    'TEST',
    '92284041-cca2-453c-a488-bfbc42a8a559',
);

$token = $api->authToken->call($clientRequestResource);
$api->setToken($token);

// Change language.
// $api->setLanguage('fr');

// Get Pricing for BeSafe insurance product.
$pricingRequestResource = new \AssurConnect\Api\Resources\Request\Besafe\PricingResource;
$pricingRequestResource->setDuration(1, 'day');
$pricingRequestResource->setBeneficiariesCount(2);
$pricingRequestResource->addActivity('VTT');
// Add Discount Code.
// $pricingRequestResource->setDiscountCode('MYDISCOUNTCODE');

$pricingResponseResource = $api->besafePricing->call($pricingRequestResource);

var_dump($pricingResponseResource);
/*
object(AssurConnect\Api\Resources\Response\Besafe\PricingResource)#8 (2) {
  ["price"]=> float(4)
  ["currency"]=> string(3) "EUR"
}
*/

// Check Subscription information for BeSafe insurance product.
$subscriberEntity = new \AssurConnect\Api\Resources\Request\Besafe\Entities\SubscriberEntity();
$subscriberEntity->setLastname('Eiffel');
$subscriberEntity->setFirstname('Tower');
$subscriberEntity->setAddress('Champ de Mars');
$subscriberEntity->setAdditionalAddress('5 avenue Anatole France');
$subscriberEntity->setZipCode('75007');
$subscriberEntity->setCity('Paris');
$subscriberEntity->setBirthdate('1989-03-31');
$subscriberEntity->setEmail('eiffel.tower@paris.city');
$subscriberEntity->setPhone('0892701239');

$subscriptionRequestResource = \AssurConnect\Api\Resources\Request\Besafe\SubscriptionResource::createFromPricingRequestResource($pricingRequestResource, $pricingResponseResource);
$subscriptionRequestResource->setSubscriber($subscriberEntity);
$subscriptionRequestResource->addBeneficiaryFromSubscriber();
$subscriptionRequestResource->addBeneficiary(
    'Triomphe',    // lastname
    'Arc',         // firstname
    '1986-07-29'   // birthDate
);
$subscriptionRequestResource->setEffectiveDate(new DateTime());
// $subscriptionRequestResource->setTransactionReference('TEST_000001');

$subscriptionCheckResponseResource = $api->besafeSubscriptionCheck->call($subscriptionRequestResource);

var_dump($subscriptionCheckResponseResource);
/*
object(AssurConnect\Api\Resources\Response\Besafe\SubscriptionResource)#11 (1) {
  ["confirmation"]=>
  string(23) "Check Integrity Data OK"
}
*/

// Create Subscription information for BeSafe insurance product (be sure to have a valid payment before).
$subscriptionResponseResource = $api->besafeSubscriptionCreate->call($subscriptionRequestResource);

var_dump($subscriptionResponseResource);
/*
object(AssurConnect\Api\Resources\Response\Besafe\SubscriptionResource)#11 (1) {
  ["confirmation"]=>
  string(19) "Subscription saved."
}
*/