API SDKs

PHP SDK

Generate report with PHP

PHP SDK to generate documents (PDF DOCX ODT XLSX ODS XML ...) through the Carbone Cloud API

The source code is available on Github: https://github.com/carboneio/carbone-sdk-php

Install

composer require carboneio/carbone-sdk-php

Constructor

Start creating a new instance of the Carbone class and provide your private API key. Get your API key on your Carbone account: https://account.carbone.io/.

use Carboneio\SDK\Carbone;

$carbone = new Carbone('YOUR_API_KEY');

To use this SDK with Carbone on premise :

use Carboneio\SDK\Carbone;

$carbone = new Carbone('YOUR_API_KEY', 'https://your_carbone_URL');

Generate a report

You can generate a document using the render method. This method takes the template Id and the data as parameters. A render ID is returned and must be used to download the generated document.

$response = $carbone->renders()->render($templateId, $data);

$renderId = $response->getRenderId();

Example to render a template

Upload a template

You can upload a template to Carbone using the upload method. This method takes the content of the template as base64. The method returns a template ID used to render a template.

$response = $carbone->templates()->upload($contentBase64);

$templateId = $response->getTemplateId();

Example to upload a template

Download reports

You can download a rendered template using the download method. This method takes the render ID as a parameter.

$response = $carbone->renders()->download($renderId);

// Save the contents of the file yourself on your filesystem
$content = $response->getContent();

Example to download a rendered document

Delete a template

You can delete a template using the delete method. This method takes the template Id as a parameter.

$response = $carbone->templates()->delete($templateId);

Example to delete a template

Download a template

You can download a template using the download method. This method takes the template Id as a parameter.

$response = $carbone->templates()->download($templateId);

Example to download a template

Add custom headers

Set custom headers, such as "carbone-version" to select a specific Carbone version. By default, the SDK request the version 4 of Carbone.

$carbone->setHeaders([
  "carbone-version" => 4,
  /** Uncomment to delete automatically templates after a specific time */
  // "carbone-template-delete-after" => 86400 // 86400s = 1 day
]);

Get API Status

$response = $carbone->getStatus();
$json = $response->json();

echo "Status : " . $response->status() . "\n";
echo "Success: " . $json['success'] . "\n";
echo "Version: " . $json['version'] . "\n";
echo "Message: " . $json['message'] . "\n";