Callback - Trimiterea automată a rezultatelor

Pentru a evita verificări constante din partea clientului privind starea traducerilor sau a generării de conținut, platforma Ovesio oferă un mecanism automat de notificare prin callback.

Acest mecanism presupune trimiterea automată a rezultatului către o adresă URL furnizată de client, imediat ce operația a fost finalizată cu succes.

Cum funcționează

  • Dacă este setată o adresă callback_url în cererea API sau în Workflow, sistemul va trimite automat rezultatul folosind metoda POST către acea adresă.
  • Răspunsul trimis este de tip application/json și conține structura de rezultat specifică fiecărui tip de operație:
    • traduceri (o postare pentru fiecare limbă)
    • generare descrieri
    • generare meta tag-uri SEO

Cerințe pentru adresa URL de callback

  • Trebuie să returneze HTTP status code 200
  • Trebuie să răspundă cu JSON-ul:
    {
      "success": true
    }
  • Orice alt tip de răspuns sau status code va fi considerat invalid

Mecanism de retry

În cazul unui răspuns invalid, sistemul va încerca automat de 3 ori (prima dată + 2 retry-uri).

Dacă nici după cele 3 încercări nu se primește un răspuns valid, operația va fi marcată ca eșuată la trimitere. Ulterior, clientul are două opțiuni:

  • Poate retrimite manual rezultatul direct din aplicația Ovesio
  • Poate obține rezultatul folosind endpoint-ul API dedicat statusului sau alte endpoint-uri destinate preluării statusului

Reguli specifice pentru traduceri

Callback-ul pentru traduceri este trimis doar în următoarele condiții:

  1. Dacă este activată opțiunea de callback în Workflow și:
    • este definit un callback_url default
    • opțiunea „Ignore Duplicate Callback” este dezactivată

    Dacă opțiunea „Ignore Duplicate Callback” este activată, se va trimite callback doar pentru traduceri noi. Cererile care vizează texte deja traduse anterior nu vor declanșa un nou callback.

  2. Dacă se trimite explicit un callback_url în request-ul API, chiar dacă Workflow-ul are un alt URL implicit.
    • Dacă doriți activarea comportamentului de evitare a callback-urilor duplicate, puteți folosi parametrul:
    "delta_mode": true

    Valoarea implicită este false.

⚠ În cazul generării de conținut (descrieri, meta tag-uri), opțiunea „Ignore Duplicate Callback” nu se aplică, iar răspunsul va fi trimis întotdeauna dacă este prezent un callback_url.

Formatul răspunsurilor trimise prin callback

1. Traducere text
{
  "id": 346,
  "ref": "product/7492",
  "to": "en",
  "from": "ro",
  "content": [
    {
      "key": "description",
      "value": "<p>...</p>"
    }
  ]
}
2. Generare descrieri
{
  "id": 3419,
  "ref": "product/72017",
  "to": "ro",
  "content": {
    "description": "<p>...</p>"
  }
}
3. Generare meta tag-uri SEO
{
  "id": 3422,
  "ref": "product/71072",
  "to": "ro",
  "content": {
    "seo_h1": "...",
    "seo_h2": "...",
    "seo_h3": "...",
    "meta_title": "...",
    "meta_description": "...",
    "meta_keywords": "..."
  }
}