Acest webhook oferă notificări în timp real pentru diverse evenimente din sistemul eFactura SPV ANAF, procesate prin intermediul aplicației InsideApp. Sistemul webhook eFactura este disponibil EXCLUSIV pentru clienții de tip Reseller.
Sistemul de Reseller vă permite implementarea întregului proces de facturare și arhiva SPV direct în aplicația dumneavoastră, indiferent de limbajul de programare utilizat.
Accesați toate facturile din sistemul SPV ANAF, nu doar cele din ultimele 60 de zile, oferind o vizibilitate completă asupra istoricului de facturare.
Creați și adăugați mai multe firme în contul de reseller într-un mod dinamic, fără a depinde de interfața InsideApp. Toate acțiunile se realizează prin API InsideApp.
Integrarea funcționează cu orice limbaj de programare, oferind flexibilitate maximă în dezvoltarea soluțiilor personalizate.
Pentru detalii complete despre API: doc.iapp.ro
Toate request-urile webhook sunt trimise prin metoda POST cu Content-Type: application/json
Pentru ca sistemul InsideApp să poată procesa corect notificările, endpoint-ul webhook declarat TREBUIE să returneze EXCLUSIV răspunsuri în format JSON. Orice alt format de răspuns (HTML, text simplu, XML etc.) va genera erori în procesarea automată și nu va putea fi interpretat de sistemul nostru.
Pentru a putea primi notificări webhook, este necesar să configurați URL-ul de destinație prin API-ul InsideApp. Această configurare se realizează pentru fiecare firmă din contul de reseller.
Pentru a vedea configurația actuală a webhook-urilor pentru o firmă:
Acest endpoint vă permite să vizualizați toate setările curente ale firmei, inclusiv URL-ul webhook configurat.
Pentru a activa, modifica sau dezactiva webhook-urile:
Folosiți câmpul webhook_url pentru a configura destinația notificărilor.
https://example.ro/...https://Important: Webhook-urile se trimit doar din momentul activării și pe perioada cât este setat un URL valid. Nu se trimit notificări pentru evenimente care au avut loc înainte de activare.
Pentru fiecare firmă din contul de reseller este necesar să fie activat accesul webhook dacă se doresc notificări. Fiecare firmă poate avea propriul URL sau se poate folosi același URL pentru toate.
Request-ul de webhook trimite id_firma în payload-ul JSON, permițând identificarea exactă a firmei pentru care s-a generat notificarea, chiar dacă folosiți același URL pentru multiple firme.
Acest webhook este trimis când un token a fost reîmprospătat cu succes.
{
"type": "renew",
"status": "success",
"id_firma": "69fi378428iru3423e243edawdw",
"message": "Token nou generat automat",
"expires_in": 3600,
"last_day": "2025-02-08 15:30:45",
"response_time": "2025-02-08 14:30:45"
}
| Câmp | Tip | Descriere |
|---|---|---|
type |
string | Tipul evenimentului ("renew") |
status |
string | Statusul operației ("success") |
id_firma |
string | ID-ul firmei encodat |
message |
string | Mesajul descriptiv al operației |
expires_in |
integer | Durata de viață a token-ului în secunde |
last_day |
datetime | Data și ora expirării token-ului |
response_time |
datetime | Data și ora când s-a generat notificarea |
Token-ul a fost reîmprospătat cu succes automat. Opțional, poți folosi API-ul InsideApp pentru monitorizare:
Pentru a vedea toate încercările de autorizare/reînnoire și valabilitatea noii perioade:
Acest endpoint îți oferă o listă completă cu toate încercările de autorizare și reînnoire, inclusiv valabilitatea pentru noua perioadă reînnoită.
Notă: Token-ul este deja reînnoit cu succes. Verificarea listei de autorizări este opțională pentru audit și monitorizare.
Acest webhook este trimis când reîmprospătarea unui token a eșuat.
{
"type": "renew",
"status": "error",
"id_firma": "69fi378428iru3423e243edawdw",
"message": "Eroare la reimprospatarea token-ului! - Error: invalid_grant - Description: The provided authorization grant is invalid",
"error": "invalid_grant",
"error_description": "The provided authorization grant is invalid",
"response_time": "2025-02-08 14:30:45"
}
Acțiune necesară - Reînnoire manuală: Când primiți această notificare, este necesară reînnoirea manuală a autorizării SPV. Utilizați API-ul pentru a genera un nou link de autorizare și trimiteți-l clientului pentru completarea procesului.
Motive posibile pentru care reînnoirea automată nu a funcționat:
• Semnătura fizică a clientului a expirat - certificatul digital utilizat pentru autentificare a ajuns la expirare
• Semnătura nu a putut fi reînnoită automat la ANAF - sistemul ANAF a întâmpinat probleme în procesul de reînnoire automată
| Câmp | Tip | Descriere |
|---|---|---|
type |
string | Tipul evenimentului ("renew") |
status |
string | Statusul operației ("error") |
id_firma |
string | ID-ul firmei encodat |
message |
string | Mesajul descriptiv al erorii |
error |
string | Codul de eroare returnat de server |
error_description |
string | Descrierea detaliată a erorii |
response_time |
datetime | Data și ora când s-a generat notificarea |
În cazul în care reînnoirea automată a eșuat, trebuie realizată manual autorizarea prin API-ul InsideApp:
Folosește endpoint-ul pentru a vedea toate încercările de autorizare și reînnoire:
Acest endpoint îți oferă o listă completă cu toate încercările de autorizare și reînnoire, permițându-ți să analizezi istoricul și să identifici problemele.
Pentru a reînnoi manual autorizarea SPV:
Acest endpoint va genera un nou link de autorizare care trebuie trimis utilizatorului pentru a reînnoi manual autorizarea SPV.
Important: Reînnoirea manuală necesită intervenția utilizatorului final pentru completarea procesului de autorizare SPV prin link-ul generat.
Notificare când facturile B2B au fost trimise automat în sistemul RO e-Factura.
{
"type": "notify_send_b2b",
"status": "success",
"id_firma": "69fi378428iru3423e243edawdw",
"message": "Facturile (INV-001, INV-002, INV-003) au fost trimise automat în sistemul RO e-Factura.",
"response_time": "2025-02-08 14:30:45"
}
Notă: Mesajul se adaptează automat în funcție de numărul de facturi trimise:
• Pentru o singură factură: "Factura (INV-001) a fost trimisă automat..."
• Pentru mai multe facturi: "Facturile (INV-001, INV-002) au fost trimise automat..."
| Câmp | Tip | Descriere |
|---|---|---|
type |
string | Tipul evenimentului ("notify_send_b2b") |
status |
string | Statusul operației ("success") |
id_firma |
string | ID-ul firmei encodat |
message |
string | Mesajul descriptiv cu lista facturilor trimise |
response_time |
datetime | Data și ora când s-a generat notificarea |
Facturile B2B au fost trimise automat cu succes. Opțional, poți folosi API-ul InsideApp pentru a vizualiza confirmările:
Pentru a vedea confirmarea de încărcare și indexul pentru facturile B2B trimise:
Acest endpoint îți oferă confirmarea încărcării și indexul de încărcare/descărcare pentru facturile B2B trimise automat.
Notă: Facturile B2B sunt deja trimise cu succes. Verificarea statusului este opțională pentru audit și monitoring.
Notificare când facturile B2C au fost trimise automat în sistemul RO e-Factura.
{
"type": "notify_send_b2c",
"status": "success",
"id_firma": "69fi378428iru3423e243edawdw",
"message": "Factura (INV-B2C-001) a fost trimisă automat în sistemul RO e-Factura.",
"response_time": "2025-02-08 14:30:45"
}
Notă: Similar cu B2B, mesajul se adaptează în funcție de numărul de facturi trimise.
| Câmp | Tip | Descriere |
|---|---|---|
type |
string | Tipul evenimentului ("notify_send_b2c") |
status |
string | Statusul operației ("success") |
id_firma |
string | ID-ul firmei encodat |
message |
string | Mesajul descriptiv cu factura trimisă B2C |
response_time |
datetime | Data și ora când s-a generat notificarea |
Facturile B2C au fost trimise automat cu succes. Opțional, poți folosi API-ul InsideApp pentru a vizualiza confirmările:
Pentru a vedea confirmarea de încărcare și indexul pentru facturile B2C trimise:
Acest endpoint îți oferă confirmarea încărcării și indexul de încărcare/descărcare pentru facturile B2C trimise automat.
Notă: Facturile B2C sunt deja trimise cu succes. Verificarea statusului este opțională pentru audit și monitoring.
Notificare când ați primit una sau mai multe facturi în ANAF SPV de la furnizori.
{
"type": "notify_furnizori",
"status": "success",
"id_firma": "69fi378428iru3423e243edawdw",
"message": "Ai primit una sau mai multe facturi în ANAF SPV.",
"response_time": "2025-02-08 14:30:45"
}
Utilizare: Această notificare vă permite să știți imediat când aveți facturi noi de la furnizori în sistemul ANAF SPV, putând astfel să le procesați rapid.
| Câmp | Tip | Descriere |
|---|---|---|
type |
string | Tipul evenimentului ("notify_furnizori") |
status |
string | Statusul operației ("success") |
id_firma |
string | ID-ul firmei encodat |
message |
string | Mesajul de notificare despre facturile primite |
response_time |
datetime | Data și ora când s-a generat notificarea |
Dacă folosești API-ul InsideApp, poți automatiza gestionarea facturilor de la furnizori prin următoarele endpoint-uri:
Folosește endpoint-ul pentru a obține lista completă cu toate facturile de la furnizori:
Acest endpoint îți oferă acces la toate facturile primite de la furnizori, cu posibilitatea de filtrare și sortare după diverse criterii.
Pentru a vedea detaliile complete ale unei facturi specifice:
Acest endpoint îți permite să accesezi toate detaliile unei facturi individuale, inclusiv informațiile complete despre furnizor, produse și servicii.
Pentru a descărca documentul original al facturii:
Acest endpoint îți permite să descarci documentul original al facturii în format PDF sau XML, pentru arhivare sau procesare offline.
Notificare când au trecut 36 de ore fără răspuns la o factură trimisă în sistemul RO e-Factura.
{
"type": "notify_send_timeout",
"status": "error",
"id_firma": "69fi378428iru3423e243edawdw",
"message": "Au trecut 36 de ore fără răspuns la factura trimisă. Te rugăm să reîncerci trimiterea.",
"serie": "INV",
"numar": "001234",
"response_time": "2025-02-08 14:30:45"
}
Important: Această notificare este trimisă automat după 36 de ore de la trimiterea unei facturi dacă nu s-a primit confirmare de la ANAF. Este recomandat să reîncercați trimiterea facturii.
| Câmp | Tip | Descriere |
|---|---|---|
type |
string | Tipul evenimentului ("notify_send_timeout") |
status |
string | Statusul operației ("error") |
id_firma |
string | ID-ul firmei encodat |
message |
string | Mesajul descriptiv despre timeout-ul facturii |
serie |
string | Seria facturii pentru care s-a depășit timeout-ul |
numar |
string | Numărul facturii pentru care s-a depășit timeout-ul |
response_time |
datetime | Data și ora când s-a generat notificarea |
Dacă folosești API-ul InsideApp, poți automatiza gestionarea timeout-urilor prin următoarele endpoint-uri:
Folosește endpoint-ul pentru a obține informații detaliate despre timeout-ul facturii:
Acest endpoint îți oferă informații complete despre statusul facturii și motivul timeout-ului, permițându-ți să afișezi aceste informații în interfața aplicației tale.
După verificarea statusului, retrimite factura pentru a relua procesul:
Acest endpoint îți permite să retrimiți factura în sistemul ANAF SPV, reîncepând procesul de validare și procesare.
Notificare când s-a primit un mesaj de eroare de la ANAF pentru o factură trimisă.
{
"type": "notify_send_error",
"status": "error",
"id_firma": "69fi378428iru3423e243edawdw",
"message": "Ai primit mesaj de eroare la factura trimisă (INV 001234). Te rugăm să verifici mesajele pentru mai multe detalii.",
"serie": "INV",
"numar": "001234",
"response_time": "2025-02-08 14:30:45"
}
Acțiune necesară: Când primiți această notificare, verificați mesajele din contul InsideApp pentru detaliile complete ale erorii și corectați factura înainte de a o retrimite.
| Câmp | Tip | Descriere |
|---|---|---|
type |
string | Tipul evenimentului ("notify_send_error") |
status |
string | Statusul operației ("error") |
id_firma |
string | ID-ul firmei encodat |
message |
string | Mesajul descriptiv despre eroarea facturii |
serie |
string | Seria facturii care a generat eroarea |
numar |
string | Numărul facturii care a generat eroarea |
response_time |
datetime | Data și ora când s-a generat notificarea |
Dacă folosești API-ul InsideApp, poți automatiza gestionarea erorilor prin următoarele endpoint-uri:
Folosește endpoint-ul pentru a obține informații detaliate despre eroarea primită:
Acest endpoint îți oferă informații complete despre statusul facturii și detaliile erorii, permițându-ți să afișezi aceste informații în interfața aplicației tale.
Pe baza informațiilor primite, îndrumă utilizatorul să corecteze erorile identificate în factură.
După corectarea erorilor, retrimite factura folosind:
Acest endpoint îți permite să retrimiți factura corectată în sistemul ANAF SPV, asigurându-te că toate erorile au fost rezolvate.
Configurați un endpoint care să accepte request-uri POST și să proceseze payload-ul JSON.
// Exemplu PHP
$input = file_get_contents('php://input');
$data = json_decode($input, true);
// Procesați datele în funcție de tip
switch($data['type']) {
case 'renew':
// Procesați reîmprospătarea token-ului
break;
case 'notify_send_b2b':
// Procesați trimiterea B2B
break;
// ... alte cazuri
}
Verificați că request-urile provin de la InsideApp prin validarea semnăturii sau IP-ului.
// Verificați content-type
if ($_SERVER['CONTENT_TYPE'] !== 'application/json') {
http_response_code(400);
exit('Invalid content type');
}
// Validați structura JSON
if (!isset($data['type']) || !isset($data['status'])) {
http_response_code(400);
exit('Invalid payload');
}
Returnați un răspuns HTTP 200 pentru a confirma primirea cu succes a notificării.
// Procesați datele
// ...
// Returnați confirmarea
http_response_code(200);
echo json_encode([
'status' => 'received',
'timestamp' => date('Y-m-d H:i:s')
]);
Accesați toate instrumentele pentru managementul webhook-urilor în panoul de control InsideApp
Vizualizați toate request-urile webhook trimise în timp real
Testați implementarea webhook-urilor cu date fictive
Retrimiți webhook-urile eșuate sau pentru testare suplimentară
Conectați-vă la my.iapp.ro → Reseller → eFactura Webhooks
Cont InsideApp de tip Reseller activ și configurat
Ai întrebări despre webhook-urile InsideApp? Vrei să devii reseller sau ai nevoie de ajutor?
Dorești să activezi opțiunile de webhook pentru aplicația ta și să oferi servicii eFactura clienților tăi?
Echipa noastră de suport este disponibilă pentru a te ajuta cu implementarea și configurarea webhook-urilor.