Esempi API

Indice

Anagrafica soggetto (PHPJavaScript)
Articoli di magazzino (PHPJavaScript)
Fattura Cliente (PHPJavaScript)
Fattura Cliente Elettronica B2B (PHP )
Notifiche Fattura Elettronica B2B (PHP )
Nota Debito Cliente (PHP)
Corrispettivi (PHPJavaScript)
DDT (PHPJavaScript)
Scarica Fatture XML (API Rest Get JQueryAPI Rest Get PHP)
Scarica Fatture XML (API Rest Post JQuery)

Per l’utilizzo con il liguaggio PHP scarica JsonRPC v2 client (zip)

Esempi in PHP

Es. Inserimento nuovo soggetto

<?php
require_once("inc/JsonRpcClient.php"); 
$sincro = new JsonRpc( 'https://api.contabilitafacileonline.it/api/APIjsonrpc2.php' ); 
$soggetto = array(
	'ragionesociale' => 'Contabilità facile srl',
	'partitaiva' => '01161170319',
	'tiposoggetto' => 'SRL',
        'aziendapaob2v'=> 'B2B',
        'codiceunivoco'=> '3ZJY534',
        'pec'=> 'pec@pec.it',
	'sedi' => array(
		array('insegna' => 'Contabilità facile - uffici',
			'indirizzo' => 'Via M. Buonarroti, 10',
			'cap' => '34170',
			'comune' => 'Gorizia',
			'telefono' => '0481 091172',
			'fax' => '0481 xxxxxxx')
	),
	'rapporti' => array(
		array('tiporapporto' => 'F',
			'settore' => 'Contabilità',
			'email' => 'info@contabilitafacile.it')
	),
	'contatti' => array(
		array('nome' => 'Luca',
			'email' => 'luca@xxxxxxxxxxxxx')
	)
);
//L'invio dei dati a CFO avviene tramite il metodo soggetto dell'oggetto di tipo JsonRpc. 
//Per ogni invio/richiesta è necessario comunicare anche lo username e il token d'autenticazione.
print_r($sincro->soggetto('ditta.test','SINCRO_KEY', $soggetto));
?>

Es. Inserimento nuovo articolo

<php
require_once("inc/JsonRpcClient.php"); 
$sincro = new JsonRpc( 'https://api.contabilitafacileonline.it/api/APIjsonrpc2.php' ); 
$articolo = array(
	'codarticolo' => 'XB001',
	'categoria' => 'altro',
	'descarticolo' => 'Vaso di fiori',
	'descarticoloest' => 'Vaso di fiori 50cm x 60cm',
	'unitmisura' => 'pz',
	'prezzounitarticolo' => '35',
	'aliquota' => '21',
	'gestmagazzino' => 'SI',
	'nascosto' => 'NO',
	'fornitori' => array(
		array('tipoidfornitore' => 'CODR',
			'idfornitore' => 'RF01',
			'codartfornitore' => 'C005')
	)
);
//L'invio dei dati a CFO avviene tramite il metodo articolo del dell'oggetto di tipo JsonRpc. 
//Per ogni invio/richiesta è necessario comunicare anche lo username e il token d'autenticazione.
print_r($sincro->articolo('ditta.test','SINCRO_KEY', $articolo));
?>

Es. Fattura Cliente con ritenute

<?php 
require_once("inc/JsonRpcClient.php"); 
$sincro = new JsonRpc( 'https://api.contabilitafacileonline.it/api/APIjsonrpc2.php' ); 
$documento = array( //dati di Testata del documento 	
	'rinvio' => 'NO', 
	'tipodocumento' => 10,
	'numerodocumento' => 5,
	'totaledocumento' => '267.99',
	'datadocumento' => '2012-10-28',
	'tipoidsoggetto' => 'PIVA',
	'idsoggetto' => '12345678901'
	'modellocontabile' => 85,
	'modpagamento' => '002',
	'oneridiriscossione' => '5.30',
	'jolly' => 'campo-personalizzato1=X,campo-personalizzato2=Y',
//righe di dettaglio del documento. es Articoli della fattura
	'dettaglio' => array(
		array('importo' => '125.36', 
		'tipoimportoiva' => 80,
		'aliquota' => 21,
		'soggettoritenuta' => 'NO',
		'conto' => '01'),
		array('importo' => '100.26', 
		'tipoimportoiva' => '80',
		'aliquota' => '21',
		'soggettoritenuta' => 'SI',
		'conto' => '51',
		'settconto' => '20')
	),
//Inserimento delle informazioni relative alle ritenute
	'zoccolo' => array(
		array('impritenutafiscale' => '100.26',
		'percritenutafiscale' => '5',
		'totritentuafiscale' => '5.013')
	)
);
//L'invio dei dati a CFO avviene tramite il metodo documento del dell'oggetto di tipo JsonRpc. 
//Per ogni invio/richiesta è necessario comunicare anche lo username e il token d'autenticazione.
print_r($sincro->documento('ditta.test','SINCRO_KEY', $documento));
?>

Es. Fattura Cliente Elettronica B2B

<?php 
require_once("inc/JsonRpcClient.php"); 
$sincro = new JsonRpc( 'https://api.contabilitafacileonline.it/api/APIjsonrpc2.php' ); 
$documento = array( //dati di Testata del documento 	
	'rinvio' => 'NO', 
	'tipodocumento' => 80,
	'numerodocumento' => 5,
	'totaledocumento' => '134.20',
	'datadocumento' => '2012-10-28',
	'tipoidsoggetto' => 'PIVA',
	'idsoggetto' => '12345678901'
	'modellocontabile' => 85,
	'modpagamento' => '002',
	'jolly' => 'campo-personalizzato1=X,campo-personalizzato2=Y',
//righe di dettaglio del documento. es Articoli della fattura
	'dettaglio' => array(
		array('prezzounitarticolo' => '100', 
		'tipoimportoiva' => '10',
		'aliquota' => '22',
		'unitmisura' => 'pz',
		'qtarticolo' => '1',
		'descarticolo' => 'articolo 1'),
		array('prezzounitarticolo' => '10', 
		'tipoimportoiva' => '10',
		'aliquota' => '22',
		'unitmisura' => 'pz',
		'qtarticolo' => '1',
		'descarticolo' => 'articolo 2')
	)
);
//L'invio dei dati a CFO avviene tramite il metodo documento del dell'oggetto di tipo JsonRpc. 
//Per ogni invio/richiesta è necessario comunicare anche lo username e il token d'autenticazione.
print_r($sincro->documento('ditta.test','SINCRO_KEY', $documento));
?>

Es. Fattura Cliente Elettronica B2B

<?php 
require_once("inc/JsonRpcClient.php"); 
$sincro = new JsonRpc( 'https://api.contabilitafacileonline.it/api/APIjsonrpc2.php' ); 
$dato = array( //inviare ID documento da leggere le notifiche
	'id' => 'MOAS20181031151336000000027891'
	)
);
//L'invio dei dati a CFO avviene tramite il metodo documento del dell'oggetto di tipo JsonRpc. 
//Per ogni invio/richiesta è necessario comunicare anche lo username e il token d'autenticazione.
print_r($sincro->notificafatturab2b('ditta.test','SINCRO_KEY', $dato));
?>

Avremo una risposta simile a questa:

Array
(
    [0] => stdClass Object
        (
            [id] => MOAS20181031151336000000027891
            [messaggio] => Info fattura elettronica
            [NomeFileSDI] => IT0xxxxxxxxxx_JE9U2.xml.p7m
            [NumeroFattura] => 538
            [DataFattura] => 2018-10-26
            [TipoFattura] => TD01
            [UltimaNotifica] => RC
            [Notifiche] => Array
                (
                    [0] => stdClass Object
                        (
                            [TipoNotifica] => RC
                            [EsitoNotifica] => 
                            [DescrizioneEsito] => 
                            [DataNotifica] => 2018-10-31
                        )
                )
        )
)

in caso di errore la chiamata ritornerà un array simile:

Array
(
    [0] => stdClass Object
        (
            [errore] => Fattura non trovata
        )
)

Es. Nota Debito Cliente

<?php 
require_once("inc/JsonRpcClient.php"); 
$sincro = new JsonRpc( 'https://api.contabilitafacileonline.it/api/APIjsonrpc2.php' ); 
$documento = array( //dati di Testata del documento 	
	'rinvio' => 'NO', 
	'tipodocumento' => '11',
	'numerodocumento' => '3',
	'totaledocumento' =>; '30.25',
	'datadocumento' => '2012-10-28',
	'tipoidsoggetto' => 'CF',
	'idsoggetto' => 'mrlvvn123456H890'
	'modellocontabile' => '002',
	'modpagamento' => 'RIBA30',
	'jolly' => 'campo-personalizzato1=X,campo-personalizzato2=Y',
//righe di dettaglio del documento. es Articoli della fattura
	'dettaglio' => array(
		array('importo' => '25', 
		'tipoimportoiva' => '10',
		'aliquota' => '21',
		'soggettoritenuta' => 'NO',
		)
// Niente zoccolo in quanto non ci sono informazioni da inserire, ad esempio non
// ci sono ritenute
);
//L'invio dei dati a CFO avviene tramite il metodo documento del dell'oggetto di tipo JsonRpc. 
//Per ogni invio/richiesta è necessario comunicare anche lo username e il token d'autenticazione.
print_r($sincro->documento('ditta.test','SINCRO_KEY', $documento));
?>

Es. Corrispettivi

<?php require_once("inc/JsonRpcClient.php"); 
$sincro = new JsonRpc( 'https://api.contabilitafacileonline.it/api/APIjsonrpc2.php' ); 
$documento = array( //dati di Testata del documento 	
	'rinvio' => 'NO', 
	'tipodocumento' => 31,
	'unitaterritoriale' => 'UD',
	'dataregistrazione' => '2012-11-05',
	'totaledocumento' => 560,
	'tipoidsoggetto' => 'PIVA',
	'idsoggetto' => '12345678901'
	'modellocontabile' => 85,
	'modpagamento' => '002',
	'jolly' => 'campo-personalizzato1=X,campo-personalizzato2=Y',
//righe di dettaglio del documento. es Articoli della fattura
	'dettaglio' => array(
		'importo' => '560', 
		'tipoimportoiva' => 80,
		'aliquota' => 21)
);
//L'invio dei dati a CFO avviene tramite il metodo documento del dell'oggetto di tipo JsonRpc. 
//Per ogni invio/richiesta è necessario comunicare anche lo username e il token d'autenticazione.
print_r($sincro->documento('ditta.test','SINCRO_KEY', $documento));
?>

Es. DDT

<?php 
require_once("inc/JsonRpcClient.php"); 
$sincro = new JsonRpc( 'https://api.contabilitafacileonline.it/api/APIjsonrpc2.php' ); 
$documento = array( //dati di Testata del documento 	
	'rinvio' => 'NO', 
	'tipodocumento' =>60,
	'unitaterritoriale' => 'GO',
	'numerodocumento' => '15',
	'datadocumento' => '2012-08-10',
	'dataemissionedocumento' => '2012-08-10',
	'tipoidsoggetto' => 'CODR',
	'idsoggetto' => 'R002'
	'modellocontabile' => 85,
	'modpagamento' => '002',
//righe di dettaglio del documento. es Articoli della fattura
	'dettaglio' => array(
	// articolo 1
		array('codarticolo' => '111',
		'descarticolo' => 'articolo',
		'qtarticolo' => '2',
		'unitmisura' => 'pz',
		'prezzounitarticolo' => '15.50',
		'tipoimportoiva' => 80,
		'aliquota' => 21,
		'conto' => '01'),
	// articolo 2
		array('codarticolo' => '2222',
		'codbarre' => '84597251036597412255',
		'descarticolo' => 'articolo due',
		'qtarticolo' => '1',
		'unitmisura' => 'm',
		'prezzounitarticolo' => '10',
		'tipoimportoiva' => 80,
		'aliquota' => 21,
		'conto' => '01')
);
//L'invio dei dati a CFO avviene tramite il metodo documento del dell'oggetto di tipo JsonRpc. 
//Per ogni invio/richiesta è necessario comunicare anche lo username e il token d'autenticazione.
print_r($sincro->documento('ditta.test','SINCRO_KEY', $documento));
?>

Esempi in JavaScript

Es. Inserimento nuovo soggetto

<script type="text/javascript">// <![CDATA[
var api_url='https://api.contabilitafacileonline.it/api/APIjsonrpc2.php';
		var username='ditta.test'; var sincrokey='SINCRO_KEY';

		function inviasoggetto() {
		var soggetto={
			'ragionesociale' : 'Contabilità facile srl',
			'partitaiva' : '01161170319 ',
			'tiposoggetto' : 'SRL',
			'sedi' : [
				{'insegna' : 'Contabilità facile- uffici',
				'indirizzo' : 'Via M. Buonarroti, 10',
				'cap' : '34170',
				'comune': 'Gorizia',
				'telefono' : '0481 091172',
				'fax' : '0481 xxxxxxx'
				}
			],
			'rapporti' : [
				{'tiporapporto' : 'F',
				 'settore' : 'Contabilità',
				 'email' : 'info@contabilitafacile.it',
				}
			],
			'contatti' : [
				{'nome' : 'Luca',
				 'email' : 'luca@xxxxxxxxxxxx'
				}
			]
		};

		var request = {
		'id' : '1',
		'method' : 'soggetto',
		'jsonrpc' : '2.0',
		'params' : [username, sincrokey, soggetto]
		};

        var http_request = new XMLHttpRequest();
        var response;
        http_request.open('POST', api_url, false);
        http_request.send(JSON.stringify(request));
        response = http_request.responseText;

		alert(response);

		};
// ]]>Implementation of CF API: <a onclick="inviasoggetto()" href="#">Invia Soggetto</a>

Es. Inserimento nuovo articolo

<script type="text/javascript">// <![CDATA[
var api_url='https://api.contabilitafacileonline.it/api/APIjsonrpc2.php';
		var username='ditta.test'; var sincrokey='SINCRO_KEY';

		function inviaarticolo() {
		var articolo={
			'codarticolo' : 'XB001',
			'categoria' : 'altro',
			'descarticolo' : 'Vaso di fiori',
			'descarticoloest' : 'Vaso di fiori 50cm x 60cm',
			'unitmisura' : 'pz',
			'prezzounitarticolo' : '35',
			'aliquota' : '21',
			'gestmagazzino' : 'SI',
			'nascosto' : 'NO',
			'fornitori' : [
				{'tipoidfornitore' : 'CODR',
				 'idfornitore' : 'RF01',
				 'codartfornitore' : 'C005'
				}
			]
		};

		var request = {
		'id' : '1',
		'method' : 'articolo',
		'jsonrpc' : '2.0',
		'params' : [username, sincrokey, articolo]
		};

        var http_request = new XMLHttpRequest();
        var response;
        http_request.open('POST', api_url, false);
        http_request.send(JSON.stringify(request));
        response = http_request.responseText;

		alert(response);

		};
// ]]>Implementation of CF API: <a onclick="inviaarticolo()" href="#">Invia Articolo</a>

Es. Fattura Cliente con ritenute

CF API example<script type="text/javascript">// <![CDATA[
var api_url='https://api.contabilitafacileonline.it/api/APIjsonrpc2.php';
		var username='ditta.test'; var sincrokey='SINCRO_KEY';

		function inviadocumento() {
		var documento={
		//Dati di Testata del documento
			'rinvio' : 'NO', 
			'tipodocumento' : 10,
			'numerodocumento' : 5,
			'totaledocumento' : 267.99,
			'datadocumento' : '2012-10-28',
			'tipoidsoggetto': 'PIVA',
			'idsoggetto' : '12345678901'
			'modellocontabile' : 85,
			'modpagamento' : '002',
			'oneridiriscossione' : '5.30',
			'jolly' : 'campo-personalizzato1=X,campo-personalizzato2=Y',
		//righe di dettaglio del documento. es Articoli della fattura
			'dettaglio' :[
				{'importo' : '125.36', 
				 'tipoimportoiva' : 80,
				 'aliquota' : 21,
				 'soggettoritenuta' : 'NO',
				 'conto' : '01'},
				{'importo' : '100.26', 
				 'tipoimportoiva' : '80',
				 'aliquota' : '21',
				 'soggettoritenuta' : 'SI',
				 'conto' : '51',
		 		 'settconto' : '20'}
			],
		//Inserimento delle informazioni relative alle ritenute
			'zoccolo' :[
				{'impritenutafiscale' : '100.26',
				 'percritenutafiscale' : 5,
				 'totritentuafiscale' : '5.013'}
			]
		};

		var request = {
		'id' : '1',
		'method' : 'documento',
		'jsonrpc' : '2.0',
		'params' : [username, sincrokey, documento]
		};

        var http_request = new XMLHttpRequest();
        var response;
        http_request.open('POST', api_url, false);
        http_request.send(JSON.stringify(request));
        response = http_request.responseText;

		alert(response);

		};
// ]]>Implementation of CF API: <a onclick="inviadocumento()" href="#">Invia Documento</a>

Es. Corrispettivi

CF API example<script type="text/javascript">// <![CDATA[
var api_url='https://api.contabilitafacileonline.it/api/APIjsonrpc2.php';
		var username='ditta.test'; var sincrokey='SINCRO_KEY';

		function inviadocumento() {
		var documento={
		//Dati di Testata del documento
			'rinvio' : 'NO', 
			'tipodocumento' : 31,
			'unitaterritoriale' : 'UD',
			'dataregistrazione': '2012-11-05',
			'totaledocumento' : 560,
			'tipoidsoggetto' : 'PIVA',
			'idsoggetto' : '12345678901'
			'modellocontabile' : 85,
			'modpagamento' : '002',
			'jolly' : 'campo-personalizzato1=X,campo-personalizzato2=Y',
//righe di dettaglio del documento. es Articoli della fattura
			'dettaglio' : [
				{'importo' : '560', 
				'tipoimportoiva' : 80,
				'aliquota' : 21,
				'conto' : '01'}
			]
		}

		var request = {
		'id' : '1',
		'method' : 'documento',
		'jsonrpc' : '2.0',
		'params' : [username, sincrokey, documento]
		};

        var http_request = new XMLHttpRequest();
        var response;
        http_request.open('POST', api_url, false);
        http_request.send(JSON.stringify(request));
        response = http_request.responseText;

		alert(response);

		};
// ]]>Implementation of CF API: <a onclick="inviadocumento()" href="#">Invia Documento</a>

Es. DDT

CF API example<script type="text/javascript">// <![CDATA[
var api_url='https://api.contabilitafacileonline.it/api/APIjsonrpc2.php';
		var username='ditta.test'; var sincrokey='SINCRO_KEY';

		function inviadocumento() {
		var documento={
		//Dati di Testata del documento
			'rinvio' : 'NO', 
			'tipodocumento' : 60,
			'unitaterritoriale' :'GO',
			'numerodocumento' : '15',
			'datadocumento' : '2012-08-10',
			'dataemissionedocumento' : '2012-08-10',
			'tipoidsoggetto' : 'CODR',
			'idsoggetto' : 'R002'
			'modellocontabile' : 85,
			'modpagamento' : '002',
//righe di dettaglio del documento. es Articoli della fattura
			'dettaglio' : [
		// articolo 1
			{'codarticolo': '111',
			'descarticolo' : 'articolo',
			'qtarticolo' : '2',
			'unitmisura' : 'pz',
			'prezzounitarticolo' : '15.50',
			'tipoimportoiva' : 80,
			'aliquota' : 21,
			'conto' : '01'},
	// articolo 2
			{'codarticolo' : '2222',
			'codbarre' : '84597251036597412255',
			'descarticolo' : 'articolo due',
			'qtarticolo' : '1',
			'unitmisura' : 'm',
			'prezzounitarticolo' : '10',
			'tipoimportoiva' : 80,
			'aliquota' : 21,
			'conto' : '01'}]
		};

		var request = {
		'id' : '1',
		'method' : 'documento',
		'jsonrpc' : '2.0',
		'params' : [username, sincrokey, documento]
		};

        var http_request = new XMLHttpRequest();
        var response;
        http_request.open('POST', api_url, false);
        http_request.send(JSON.stringify(request));
        response = http_request.responseText;

		alert(response);

		};
// ]]>Implementation of CF API: <a onclick="inviadocumento()" href="#">Invia Documento</a>

Scarica Fatture XML GET

Esempio di richiesta GET con jQuery

$(document).ready(function() {
    var functionName = "fatturexml";
    var params = JSON.stringify(["username", "sincrokey", "non scaricate"]);
    var url = "https://api.contabilitafacileonline.it/api/APIrest.php?function=" + functionName + "¶ms=" + encodeURIComponent(params);

    $.ajax({
        url: url,
        method: 'GET',
        dataType: 'json',
        success: function(response) {
            console.log("Success:", response);
        },
        error: function(xhr, status, error) {
            console.log("Error:", status, error);
        }
    });
});

Scarica Fatture XML GET

Esempio di richiesta POST con PHP

<?php
$url = 'https://api.contabilitafacileonline.it/api/APIrest.php';

$data = [
    'function' => 'fatturexml',
    'params' => ['username', 'sincrokey', 'non scaricate']
];

$options = [
    'http' => [
        'header'  => "Content-type: application/json\r\n",
        'method'  => 'POST',
        'content' => json_encode($data),
    ],
];

$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);

if ($result === FALSE) {
    // Gestisci l'errore
}

var_dump($result);
?>

Scarica Fatture XML POST

Esempio di richiesta POST con jQuery

$(document).ready(function() {
    var functionName = "fatturexml";
    var params = ["username", "sincrokey", "non scaricate"];
    var data = {
        function: functionName,
        params: params
    };

    $.ajax({
        url: "https://api.contabilitafacileonline.it/api/APIrest.php",
        method: 'POST',
        contentType: 'application/json',
        data: JSON.stringify(data),
        dataType: 'json',
        success: function(response) {
            console.log("Success:", response);
        },
        error: function(xhr, status, error) {
            console.log("Error:", status, error);
        }
    });
});

Supporto API CFO

Supporto API Contabilità OnlineIn caso di necessità richiedi supporto per l’utilizzo delle API-CFO contattandoci

Vuoi ulteriori informazioni o chiarimenti?

Scopri tutti i vantaggi per la tua attività, come?

Compila il modulo per richiedere Ulteriori Informazioni o Chiarimenti
sui servizi di Contabilità facile che comprendono:
  • il Programma Gestionale online in cloud,
  • l’Assistente Contabile Personale,
  • i Servizi Aggiuntivi di Commercialista Online (Servizi Fiscali),
e un nostro esperto ti richiamerà il prima possibile, in orario di ufficio.

    PRIVACY: useremo le informazioni inviate attraverso questo modulo allo scopo esclusivo di richiamarti per fornirti le informazioni di cui hai bisogno. Sono esclusi altri utilizzi dei dati forniti. Inviando i dati dichiari di aver letto e accettato la nostra Informativa sulla Privacy.

    Centinaia di aziende hanno già scelto