Functii API > Listarea / Salvarea Facturilor, Proformelor, Avizelor, Chitante

Listarea / Salvarea Facturilor, Proformelor, Avizelor, Chitante

Metoda de salvare a facturilor, proformelor si avizelor se apeleaza la adresa: https://appv1.facturis-online.ro/facturis/api/print_invoice.php

Iata mai jos modul de apelare al acestei metode

Se face un POST pe pagina cu urmatorii parametrii:

xml_string – textul xml ce contine datele de logare si datele produsului

In cazul in care datele sunt furnizate corect, se returneaza documentul in format pdf

In cazul in care apare o eroare aceasta va fi listata ca in exemplele urmatoare:

Eroare: 10 – Trebuie sa completati seria documentului
Eroare: 11 – Trebuie sa completati numarul documentului

Va prezentam mai jos modul de apelare al acestei metode in PHP:

$xml_string='<?xml version="1.0" encoding="ISO-8859-1"?>
<addInvoice>
  <login>
       <pass>!parola_primita_de_la_facturis_online!</pass>
  </login>   
  <invoice>
      <type>F</type>
      <series>XXXX</series>
      <number>3</number>
  </invoice>
</addInvoice>';
 
 $curl_options = array(
  CURLOPT_URL => "https://appv1.facturis-online.ro/facturis/api/print_invoice.php",
  CURLOPT_POST => true,
  CURLOPT_POSTFIELDS => "xml_string=$xml_string",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HEADER => false,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_CONNECTTIMEOUT => 5
);
 
$curl = curl_init();
curl_setopt_array( $curl, $curl_options );
$result = curl_exec( $curl );

 //daca raspunsul este o eroare
if (strrpos($result, "Eroare") !== false){
  echo $result;
  die;
}
 
  header('Cache-Control: public');
  header('Content-type: application/pdf');
  //daca se doreste salvata
  //header('Content-Disposition: attachment; filename="invoice.pdf"');
  //daca se doreste vizualizata
  header('Content-Disposition: inline; filename="invoice.pdf"');
  header('Content-Length: '.strlen($result));
  echo $result;
  die;

si descrierea tag-urilor XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<addInvoice>
  <login>
       <pass>!parola_primita_de_la_facturis_online!</pass>
	    <!-- cod unic firma generat din facturis-online.ro - obligatoriu -->
  </login>   
  <invoice>
      <type>F</type>
	  <!-- tipul documentului (F - factura, P - proforma, A - aviz) - obligatoriu -->
      <series>XXXX</series>
	  <!-- seria documentului - obligatoriu -->
      <number>3</number>
	  <!-- numarul documentului - obligatoriu -->
  </invoice>
</addInvoice>

 
Va prezentam mai jos modul de apelare al metode de listare a chitantelor in PHP:


$xml_string='<?xml version="1.0" encoding="ISO-8859-1"?>
<addInvoice>
  <login>
       <pass>!parola_primita_de_la_facturis_online!</pass>
  </login> 
  <getDetails>true</getDetails>  
  <invoice>
      <type>C</type>
      <series>XXXX</series>
      <number>3</number>
      <noOnA4>3</noOnA4>// numar chitante pe A4 		
  </invoice>
</addInvoice>';
 
 $curl_options = array(
  CURLOPT_URL => "https://appv1.facturis-online.ro/facturis/api/print_invoice.php",
  CURLOPT_POST => true,
  CURLOPT_POSTFIELDS => "xml_string=$xml_string",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HEADER => false,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_CONNECTTIMEOUT => 5
);
 
$curl = curl_init();
curl_setopt_array( $curl, $curl_options );
$result = curl_exec( $curl );

 //daca raspunsul este o eroare
if (strrpos($result, "Eroare") !== false){
  echo $result;
  die;
}
 
  header('Cache-Control: public');
  header('Content-type: application/pdf');
  //daca se doreste salvata
  //header('Content-Disposition: attachment; filename="invoice.pdf"');
  //daca se doreste vizualizata
  header('Content-Disposition: inline; filename="invoice.pdf"');
  header('Content-Length: '.strlen($result));
  echo $result;
  die;



0