Addlify / Docs / API

Documentație REST API

Acces programatic la Addlify Finance și Legal pentru clienții Enterprise. Scanare contracte în lot, integrare ERP, audit log de conformitate.

EN RO
Cuprins

Autentificare și rate limits

Toate endpoint-urile Enterprise API se autentifică prin cheia ta de licență sau o cheie API cu scope generată din panoul de cont. Trimite întotdeauna cheile pe HTTPS — niciodată în query string-ul URL în producție (folosește POST body).

📦 Cerință plan: Cabinet deblochează audit log; Enterprise deblochează bulk scan + ERP API. Fiecare produs Addlify (Finance, Legal) are propria cheie de licență — nu sunt interschimbabile.

Rate limits

EndpointLimităFereastră
bulk-scan.php200 cereripe oră, per licență
erp-api.php500 cereripe oră, per licență
audit.php (GET)30 cereripe oră, per IP

La depășire limită, răspuns HTTP 429 cu JSON {"success": false, "message": "Prea multe cereri"}.

Legal — Scanare contracte în lot

Doar Enterprise

POST https://addlify.uk/api/legal/bulk-scan.php

Scanează unul sau mai multe texte de contract folosind rule pack-urile Addlify Legal (drept UK + RO). Returnează probleme detectate cu citarea articolului/secțiunii și sugestie de reformulare.

Parametri cerere

CâmpNecesarDescriere
license_keyObligatoriuCheia ta Enterprise Legal (sau cheie API cu permisiunea legal_bulk_scan)
textObligatoriu*Textul contractului (scan unic). Max 200 KB.
text[]Opțional*Array de texte (scan în lot, max 10 per cerere). Folosit în loc de text.
langOpționalro (default), en, sau auto (detecție heuristică)

Exemplu — un singur contract

# cURL — scanează o clauză de contract
curl -X POST https://addlify.uk/api/legal/bulk-scan.php \
  -d "license_key=LEGAL-XXXX-XXXX-XXXX-XXXX" \
  --data-urlencode "text=Furnizorul își rezervă dreptul de a modifica unilateral tarifele oricând, fără preaviz." \
  -d "lang=ro"

Exemplu — bulk scan (Python)

import requests

clauze = [
    "Furnizorul își rezervă dreptul de a modifica unilateral...",
    "The Provider reserves the right to unilaterally modify...",
]

r = requests.post(
    "https://addlify.uk/api/legal/bulk-scan.php",
    data={
        "license_key": "LEGAL-XXXX-XXXX-XXXX-XXXX",
        "text[]": clauze,
        "lang": "auto",
    },
    timeout=30,
)
rezultat = r.json()
for idx, scan in enumerate(rezultat["scans"]):
    print(f"Clauza {idx}: {len(scan['issues'])} probleme")
    for issue in scan["issues"]:
        print(f"  [{issue['severity']}] {issue['title']}")

Schema răspuns

{
  "success": true,
  "scans": [
    {
      "text_index": 0,
      "issues": [
        {
          "ruleId": "B2C-UNILATERAL-MOD-001",
          "severity": "ERROR",        // ERROR | WARNING | INFO
          "category": "clauza_abuziva",
          "lawRef": "Legea 193/2000, Anexa lit. b)",
          "title": "Modificare unilaterală fără justificare",
          "description": "...",
          "suggestion": "...",
          "matchText": "...modifica unilateral...",
          "startOffset": 42,
          "endOffset": 88
        }
      ]
    }
  ],
  "meta": {
    "total_rules_evaluated": 42,
    "duration_ms": 87
  }
}

Finance — Integrare ERP

Doar Enterprise

POST https://addlify.uk/api/finance/erp-api.php

Integrare ERP pentru Addlify Finance: trimitere e-Factura UBL programatic, validare CIF/TVA la ANAF, generare SAF-T D406, listă deadline-uri. Conceput pentru vendori de software contabil și firme mari cu ERP-uri custom.

Cheia API recomandată: Pentru integrări ERP, generează o cheie dedicată din panoul cont → Chei API ERP. Nu folosi license_key-ul brut în scripturi de producție — folosește o cheie cu scope, revocabilă.

Parametri cerere

CâmpNecesarDescriere
api_keyObligatoriuCheia API generată (recomandat) SAU cheia ta Enterprise license_key
actionObligatoriuUna din: cif_lookup, efactura_send, saft_generate, deadline_list
...Parametri specifici acțiunii (vezi mai jos per acțiune)

Exemplu — verificare CIF / TVA

curl -X POST https://addlify.uk/api/finance/erp-api.php \
  -d "api_key=ak_live_..." \
  -d "action=cif_lookup" \
  -d "cif=RO12345678"
{
  "success": true,
  "cif": "12345678",
  "valid": true,
  "name": "FIRMA EXEMPLU SRL",
  "address": "Str. Exemplu 1, București",
  "vat_payer": true,
  "date_registered": "2010-03-15",
  "checked_at": "2026-05-09T14:22:00Z"
}

Acces audit log

Cabinet+ și Enterprise

GET https://addlify.uk/api/legal/audit.php

Audit log de conformitate per licență. Înregistrează evenimente scan, CRUD clauze firmă, modificări rule packs, update brand, apeluri bulk scan API, înregistrare/deconectare dispozitiv. Se randează ca pagină HTML (pentru browser); folosește ?format=json pentru acces programatic.

Parametri query

CâmpNecesarDescriere
keyObligatoriuCheia ta de licență (Cabinet sau Enterprise)
fromOpționalData început YYYY-MM-DD (default: acum 30 zile)
toOpționalData sfârșit YYYY-MM-DD (default: azi)
formatOpționalhtml (default) sau json

Exemplu — fetch ca JSON

curl "https://addlify.uk/api/legal/audit.php?key=LEGAL-XXX&from=2026-01-01&to=2026-05-09&format=json"
{
  "success": true,
  "license_key": "LEGAL-XXX...",
  "range": { "from": "2026-01-01", "to": "2026-05-09" },
  "events": [
    {
      "action": "legal_scan",
      "created_at": "2026-05-09T13:42:11Z",
      "ip": "86.123.45.67",
      "details": { "issues_found": 3, "document_chars": 12450 }
    }
  ]
}

Coduri eroare

HTTPÎnțelesCauză frecventă
400Bad requestParametri obligatorii lipsă, input malformat
401NeautorizatAPI key invalid, revocat sau expirat
403InterzisPlanul nu include endpoint-ul, sau scope-ul cheii e insuficient
404NegăsitLicense key nu există
413Payload prea mareText peste 200 KB, sau bulk > 10 elemente
429Prea multe cereriRate limit atins (200/h scan, 500/h ERP, 30/h audit)
500Eroare serverTranzient — retry cu exponential backoff

Toate erorile returnează JSON cu {"success": false, "message": "...", "code": "..."}.

📞 Ai nevoie de cheie API sau integrare custom?
Planul Enterprise include suport pentru setup integrări. Email support@addlify.uk cu cazul de utilizare — răspundem în 1 zi lucrătoare.