q-delivery/lf-api

API for LF

2.6.2 2021-10-19 07:37 UTC

README

Branch PHP Code Coverage
master PHP Code Coverage
develop PHP Code Coverage

Usage

Setup

use Gansel\LF\Api\FallApi;
use Symfony\Component\HttpClient\HttpClient;

$baseUri = 'https://....';
$username = '...';
$password = '...';

$client = HttpClient::create([
    'auth_basic' => [$username, $password],
    'max_duration' => 0,
]);

$fallApi = new FallApi($baseUri, $client);

Create Fall

use Gansel\LF\Api\FallApi;

$fallApi = new FallApi(/* ... */);
$fallApi->create($payload);

Get Fall

use Gansel\LF\Api\Domain\Value\Fall\FallUuid;
use Gansel\LF\Api\FallApi;

$fallApi = new FallApi(/* ... */);

$fallApi->get(
    FallUuid::fromString('123-456-789'), // the Fall UUID
);

Update Fall

Only works before calling a Transition!

use Gansel\LF\Api\Domain\Value\Fall\FallUuid;
use Gansel\LF\Api\FallApi;

$fallApi = new FallApi(/* ... */);

$fallApi->update(
    FallUuid::fromString('123-456-789'), // the Fall UUID
    [
        'field' => 'value',
        // ...
    ]
);

Set Leadsale values

use Gansel\LF\Api\Domain\Value\Fall\FallUuid;
use Gansel\LF\Api\FallApi;

$fallApi = new FallApi(/* ... */);

$now = new DateTime();

$fallApi->updateLeadsaleValues(
    FallUuid::fromString('123-456-789'), // the Fall UUID
    true, // or false, the decision by the User
    $now, // a \DateTimeInterface, when the decision was made by the user
    'Please contact him on monday 6pm', // a string, when is the best time to contact the user, or null
    '030 / 123456789', // a string, with a local phone number, or null
    '0175 / 123456789', // a string, with a mobile phone number, or null
);

Upload File to Fall

use Gansel\LF\Api\Domain\Value\Fall\FallUuid;
use Gansel\LF\Api\FallApi;

$fallApi = new FallApi(/* ... */);

$fallApi->uploadFile(
    FallUuid::fromString('123-456-789'), // the Fall UUID
    '/var/test/testfile.txt',            // use the absolute filepath
    'Fahrzeugschein',                    // a prefix which can be added to the filename
    false                                // wether this file should be marked as new in LF or not
);

Apply Transition

use Gansel\LF\Api\Domain\Value\Fall\FallUuid;
use Gansel\LF\Api\FallApi;

$fallApi = new FallApi(/* ... */);

$fallApi->applyTransition(
    FallUuid::fromString('123-456-789'), // the Fall UUID
    'einreichen'                         // the transition which should be applied
);

NOTE

create() and get() already return a FallUuid which can be used to upload a file or apply a transition!