PHP code example of antonioprimera / contractera-laravel-client

1. Go to this page and download the library: Download antonioprimera/contractera-laravel-client library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

antonioprimera / contractera-laravel-client example snippets


use AntonioPrimera\ContracteraLaravelClient\ContracteraClient;

$contracteraAccount = app(ContracteraClient::class)->provisionAccount(
    externalAccountId: 'agrocity-account-'.$agrocityAccount->id,
    name: $agrocityAccount->name,
);

$agrocityAccount->forceFill([
    'contractera_account_id' => $contracteraAccount->id,
    'contractera_external_account_id' => $contracteraAccount->externalAccountId,
    'contractera_account_token' => $contracteraAccount->accountToken,
])->save();

protected function casts(): array
{
    return [
        'contractera_account_token' => 'encrypted',
        'contractera_connected_at' => 'datetime',
        'contractera_disconnected_at' => 'datetime',
    ];
}

$client = app(ContracteraClient::class);

$accounts = $client->listAccounts();

$account = $client->updateAccount($contracteraAccountId, [
    'name' => 'Updated account name',
]);

$account = $client->regenerateAccountToken($contracteraAccountId);

$client->deleteAccount($contracteraAccountId);

$accountClient = app(ContracteraClient::class)
    ->forAccountToken($agrocityAccount->contractera_account_token);

$templates = $accountClient->listTemplates();

$template = $accountClient->uploadTemplate(
    name: 'Contract arenda',
    placeholderPattern: '__#__',
    file: $request->file('file'),
);

$placeholders = $accountClient->listPlaceholders($templateId);

$updated = $accountClient->updatePlaceholders($templateId, [
    [
        'key' => 'OWNER_NAME',
        'label' => 'Nume proprietar',
        'input_type' => 'text',
        '

$preview = $accountClient->validatePreview($templateId, [
    'OWNER_NAME' => 'Ion Popescu',
]);

if ($preview->valid) {
    echo $preview->html;
}

$document = $accountClient->generateDocument(
    templateId: $templateId,
    values: [
        'OWNER_NAME' => 'Ion Popescu',
    ],
    format: 'docx',
);

$document->id;
$document->status;
$document->downloadUrls;

$document = $accountClient->generatedDocument($documentId);

$response = $accountClient->downloadDocument($documentId, 'docx');

return response($response->body(), $response->status(), [
    'Content-Type' => $response->header('Content-Type'),
    'Content-Disposition' => $response->header('Content-Disposition'),
]);
bash
php artisan vendor:publish --tag="contractera-laravel-client-config"
http
GET /contractera/templates
POST /contractera/templates
GET /contractera/templates/{templateId}/placeholders
PATCH /contractera/templates/{templateId}/placeholders
POST /contractera/templates/{templateId}/validate-preview
POST /contractera/templates/{templateId}/generate
GET /contractera/generated-documents/{documentId}
GET /contractera/generated-documents/{documentId}/download?format=docx|pdf|html
txt
tests/Feature/ContracteraIntegrationTest.php