Please enable JS

Exemplos

Criar Documento

Tipo1
Tipo2
Tipo
Série
Cliente / Forncedor

Produtos

Produto Quantidade Preço
Adicionar

Observações

Código Fonte

<?php

require_once '../vendor/autoload.php';

use Swagger\Client\Api\DocumentApi;
use Swagger\Client\Model\Document;
use Swagger\Client\Model\Account;
use Swagger\Client\ApiException;
use Swagger\Client\Model\DocumentLine;
use Swagger\Client\Model\Product;
use Swagger\Client\Model\DocumentType;
use Swagger\Client\Model\DocumentSerie;

// PARAMETERS
$data = json_decode(file_get_contents('php://input'));

// DOCUMENT TYPE
$dt = new DocumentType();
$dt->setId($data->type);

// DOCUMENT TYPE SERIES
$ds = new DocumentSerie();
$ds->setId($data->serie);

// CUSTOMER
$account = new Account();
$account->setId($data->account);

// DOCUMENT LINES
$lines = array();
foreach ($data->lines as $l) {
    
    // PRODUCT
    $product = new Product();
    $product->setId($l->product_id);
    
    // QUANTITY AND PRICE
    $line = new DocumentLine();
    $line->setProduct($product);
    $line->setQuantity($l->quantity);
    $line->setPrice($l->price);
    
    $lines []= $line;
}

// DOCUMENT
$document = new Document();
$document->setType($dt);
$document->setSerie($ds);
$document->setAccount($account);
$document->setDescription($data->description);
$document->setLines($lines);

// E2E ACCESS KEYS
$client = new GuzzleHttp\Client([
    'headers' => [
        'api_key' => 'JHSV2V6KyqcbxvMHshRlPfunJymVt7GDfXyoK229o=',
        'company_key' => 'E2ELIVE',
    ]
]);

try {
    
    // CREATE DOCUMENT
    $api = new DocumentApi($client);
    $result = $api->documentCreate($document);
    
    header('Content-Type: application/json; charset=utf-8');
    echo $result->__toString();
    
} catch (Exception $e) {
    
    http_response_code($e->getCode());
    
    $msg = $e instanceof ApiException ? $e->getResponseBody() : $e->getMessage();
    
    if (!empty($msg)) {
        echo $msg;
    }
}

function clear($field)
{
    return empty($_REQUEST[$field]) ? null : $_REQUEST[$field];
}