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"
}