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)

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',
	'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>

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