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:
-
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.
- este definit un
-
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": "..."
}
}