Aby uniknąć ciągłych zapytań ze strony klienta dotyczących statusu tłumaczeń lub generowania treści, platforma Ovesio oferuje automatyczny mechanizm powiadamiania callback.
Mechanizm ten polega na automatycznym wysyłaniu wyniku na adres URL podany przez klienta, tak szybko, jak operacja zostanie pomyślnie zakończona.
Jak to działa
- Jeśli adres
callback_url
jest ustawiony w żądaniu API lub w Workflow, system automatycznie wyśle wynik za pomocą metody POST na ten adres. - Wysłana odpowiedź jest typu
application/json
i zawiera strukturę wyniku specyficzną dla każdego typu operacji:- tłumaczenia (jedno zgłoszenie dla każdego języka)
- generowanie opisów
- generowanie tagów meta SEO
Wymagania dotyczące URL callback
- Musi zwracać kod statusu HTTP 200
- Musi odpowiedzieć z JSON:
{ "success": true }
- Jakikolwiek inny typ odpowiedzi lub kod statusu zostanie uznany za nieprawidłowy.
Mechanizm ponownego wysyłania
W przypadku nieprawidłowej odpowiedzi system automatycznie spróbuje 3 razy (pierwszy raz + 2 ponowienia).
Jeśli po 3 próbach nie zostanie otrzymana prawidłowa odpowiedź, operacja zostanie oznaczona jako nieudana przy przesyłaniu. Następnie klient ma dwie opcje:
- Może ręcznie wysłać wynik bezpośrednio z aplikacji Ovesio
- Może uzyskać wynik za pomocą punktu końcowego API dedykowanego statusu lub innych punktów końcowych przeznaczonych do pobierania statusu
Specyficzne zasady dla tłumaczeń
Callback tłumaczenia jest wysyłany tylko pod następującymi warunkami :
-
Jeśli opcja callback jest włączona w Workflow i:
- zdefiniowano domyślny
callback_url
- opcja "Ignoruj duplikaty callback" jest wyłączona
Jeśli opcja "Ignoruj duplikaty callback" jest włączona, callback zostanie wysłany tylko dla nowych tłumaczeń. Żądania dotyczące wcześniej przetłumaczonych tekstów nie wywołają nowego callbacka.
- zdefiniowano domyślny
-
Jeśli
callback_url
jest wyraźnie wysyłane w żądaniu API , nawet jeśli Workflow ma inny domyślny URL.- Jeśli chcesz włączyć zachowanie unikania duplikatów callback, możesz użyć parametru:
"delta_mode": true
Domyślna wartość to
false
.
⚠ W przypadku generowania treści (opisów, tagów meta), opcja "Ignoruj duplikaty callback" nie ma zastosowania, a odpowiedź zawsze będzie wysyłana, jeśli callback_url
jest obecny.
Format odpowiedzi wysyłanych za pomocą callback
1. Tłumaczenie tekstu
{
"id": 346,
"ref": "product/7492",
"to": "en",
"from": "ro",
"content": [
{
"key": "description",
"value": "<p>...</p>"
}
]
}
2. Generowanie opisów
{
"id": 3419,
"ref": "product/72017",
"to": "ro",
"content": {
"description": "<p>...</p>"
}
}
3. Generowanie tagów meta SEO
{
"id": 3422,
"ref": "product/71072",
"to": "ro",
"content": {
"seo_h1": "...",
"seo_h2": "...",
"seo_h3": "...",
"meta_title": "...",
"meta_description": "...",
"meta_keywords": "..."
}
}