API: First Login

Descrizione

Il metodo firstLogin permette a un nuovo utente di effettuare il primo accesso e ottenere una chiave API per autenticare le richieste successive.

Parametri

  • username (obbligatorio): Il nome utente del cliente.
  • password (obbligatorio): La password associata al nome utente.

Chiamata API

La chiamata deve essere effettuata tramite POST all'endpoint:

https://www.fattureweb.com/api/

Esempio di Chiamata POST

{
    "action":"login",
    "username": "example_user",
    "password": "example_password"
}

Esempi di Codice



$url = 'https://www.fattureweb.com/api/';
$data = array(
    'action' => 'login',
    'username' => 'example_user',
    'password' => 'example_password'
);
$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':'login',
    'username': 'example_user',
    'password': 'example_password'
}

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\":\"login\", \"username\": \"example_user\", \"password\": \"example_password\"}";
            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",
    "status": "success",
    "api_key": "95415ceca602e867e573f65a50c9b70bd6906828",
    "expiration_date": 1698765432
    "codice_univoco_sdi": Q5CEI3D
}

Descrizione dei campi:

  • code: Il codice HTTP che indica il successo dell'operazione, 200.
  • status: Indica che la richiesta è stata processata con successo.
  • api_key: La chiave API generata per l'utente.
  • expiration_date: Il timestamp Unix della data di scadenza della chiave API.
  • codice_univoco_sdi: Il codice Sdi da comunicare ai propri fornitori (o ai propri clienti, se Utente Intermediario, che a loro volta dovranno comunicare ai propri fornitori).

Risposta di Errore

Se si verifica un errore, riceverai una risposta come questa:

{
    "code": "401",
    "status": "error",
    "message": "Invalid username or password"
}

Descrizione dei campi:

  • code: Il codice dell'errore, in questo caso 401, che indica un problema di autenticazione.
  • status: Indica che si è verificato un errore.
  • message: Il messaggio di errore descrittivo.