API: getStato
Descrizione
Il metodo getStato
permette di ottenere lo stato di una fattura precedentemente inviata tramite l'API. La risposta include lo stato dell'elaborazione da parte del Sistema di Interscambio (SDI), come se la fattura è stata accettata o rifiutata.
Parametri
- id_sdi (obbligatorio): L'ID della fattura assegnato dallo SDI al momento dell'invio.
- cliente (opzionale): Se l'utente è un intermediario, va specificato anche il parametro
cliente
(partita IVA del cliente che ha emesso la fattura).
Chiamata API
La chiamata deve essere effettuata tramite POST all'endpoint:
https://www.fattureweb.com/api/
Esempio di Chiamata POST
{
"action": "call",
"key": "95415ceca602e867e573f65a50c9b70bd6906828",
"code": "abcdef",
"payload": {
"api_name": "Fattura",
"method": "getStato",
"input": {
"id_sdi": "29569713",
"cliente": "IT12345678901" // opzionale, solo per intermediari
}
}
}
Esempi di Codice
$url = 'https://www.fattureweb.com/api/';
$data = array(
'action' => 'call',
'key' => '95415ceca602e867e573f65a50c9b70bd6906828',
'code' => 'abcdef',
'payload' => array(
'api_name' => 'Fattura',
'method' => 'getStato',
'input' => array(
'id_sdi' => '29569713',
'cliente' => 'IT12345678901' // opzionale, solo per intermediari
)
)
);
$options = array(
'http' => array(
'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) { /* Handle error */ }
var_dump($result);
import requests
url = 'https://www.fattureweb.com/api/'
data = {
'action': 'call',
'key': '95415ceca602e867e573f65a50c9b70bd6906828',
'code': 'abcdef',
'payload': {
'api_name': 'Fattura',
'method': 'getStato',
'input': {
'id_sdi': '29569713',
'cliente': 'IT12345678901' # opzionale, solo per intermediari
}
}
}
response = requests.post(url, json=data)
print(response.text)
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.OutputStream;
public class Main {
public static void main(String[] args) {
try {
URL url = new URL("https://www.fattureweb.com/api/");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json; utf-8");
conn.setDoOutput(true);
String jsonInputString = "{\"action\": \"call\", \"key\": \"95415ceca602e867e573f65a50c9b70bd6906828\", \"code\": \"abcdef\", \"payload\": {\"api_name\": \"Fattura\", \"method\": \"getStato\", \"input\": {\"id_sdi\": \"29569713\", \"cliente\": \"IT12345678901\"}}}";
try (OutputStream os = conn.getOutputStream()) {
byte[] input = jsonInputString.getBytes("utf-8");
os.write(input, 0, input.length);
}
int responseCode = conn.getResponseCode();
System.out.println("Response Code: " + responseCode);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Risposta di Successo
Se la chiamata ha successo, riceverai una risposta come la seguente:
{
"code": "200",
"result": [{
"piva_mittente": "IT01296270091",
"piva_destinatario": "IT01420890087",
"timestamp_invio": "2024-09-11 09:23:53",
"timestamp_aggiornamento": "2024-09-11 09:24:06",
"statoFattura": "Scartata da Sdi",
"errore_sdi": "00404 Fattura duplicata: Fattura duplicata numero 36 del 23\/04\/2024, posizione nel lotto 1: Verificare che il campo Numero dei \"DatiGeneraliDocumento\" sia unico per cedente\/prestatore, tipo documento e anno",
"tipoFattura": "fattura_attiva"
}]
}
Risposta di Errore
Se si verifica un errore, riceverai una risposta come questa:
{
"code": "409.0",
"error": "Errore nella richiesta: Dettagli dell'errore qui"
}