Classes are keep updated with the Documentation at https://api.fattureincloud.it/v1/documentation/dist/
You can find your KEYS at https://secure.fattureincloud.it/api
Each API Method found in the API doc has its Class, here is a list of the currently available ones:
- Svbk\FattureInCloud\Struct\DocDettagliRequest
- Svbk\FattureInCloud\Struct\DocDettagliResponse
- Svbk\FattureInCloud\Struct\DocNuovoArticolo
- Svbk\FattureInCloud\Struct\DocNuovoPagamento
- Svbk\FattureInCloud\Struct\DocNuovoRequest
- Svbk\FattureInCloud\Struct\DocNuovoResponse
- Svbk\FattureInCloud\Struct\InfoListaRequest
- Svbk\FattureInCloud\Struct\InfoListaResponse
more will be available as soon as we have time to map it. Make a PR if you need a missing one.
use Svbk\FattureInCloud;
use Svbk\FattureInCloud\Struct\DocNuovoArticolo as Product;
use Svbk\FattureInCloud\Struct\DocNuovoRequest as Invoice;
use Svbk\FattureInCloud\Struct\DocNuovoPagamento as Payment;
$client = new FattureInCloud\Client( 'API_UID', 'API_KEY' );
$invoiceProduct = new Product(
array(
'nome' => 'Product Name',
'prezzo_lordo' => 10,
'cod_iva' => 0,
)
);
$payment_date = FattureInCloud\Date::createFromFormat( 'Y-m-d H:i:s', date('Y-m-d H:i:s') ); //now
$expire_date = $payment_date;
$invoicePayment = new Payment(
array(
'data_scadenza' => $expire_date,
'importo' => 'auto', //calculate invoice total automatically
'metodo' => '{{wallet_id}}', //place here your wallet identifier
'data_saldo' => $payment_date,
)
);
$newInvoice = new Invoice(
array(
// New Customer will be created by passing details directly.
'nome' => 'Customer Name',
'indirizzo_via' => 'Customer Address',
'indirizzo_cap' => '50000', //Postal Code
'indirizzo_citta' => 'Customer City',
'indirizzo_provincia' => 'Customer State/Province',
'piva' => 'VATID000000', //vat ID
'cf' => 'FISCALCODEXXXXX',
'paese' => 'Customer Country', //must be obtained via $client->getInfoList( array( 'lista_paesi' ) );
'lista_articoli' => array( $invoiceProduct ),
'lista_pagamenti' => array( $invoicePayment ),
'prezzi_ivati' => true, // VAT included
)
);
$result = $client->createDoc( FattureInCloud\Client::TYPE_FATTURA, $newInvoice );
if ( $result && ! $result->error ) {
$invoice_id = $result->new_id;
} else {
die( sprintf( '[FattureInCloud] Can\'t create invoice. Error: %s', isset($result->error) ? $result->error : '' ) );
}