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.