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