Die Migration
Was umgesetzt ist
Unterstützt
POST /v1/async/taskPOST /v1/async/task/batchGET /v1/async/task/{id}Webhook-CallbacksNicht umgesetzt
Synchrone
/v1/monitor/*-Endpunkte/v1/async/status/v1/monitor/*-Familie fehlt bewusst. Jede Engine hier läuft asynchron; eine Anfrage, die für die Dauer
einer Abfrage blockiert, bietet dieser Dienst nicht an.
Wo sich das Verhalten unterscheidet
1. Kein Ratenbegrenzer: Batches nutzen
1. Kein Ratenbegrenzer: Batches nutzen
Es gibt kein Ratenlimit pro Schlüssel. Für große Volumen nutzen Sie die Batch-Einreichung, um Roundtrips zu sparen.Siehe Regionen und Best Practices.
2. Credits gelten pro Engine
2. Credits gelten pro Engine
credits ist als Teil des Umschlags in jeder Antwort enthalten. Antworten beim Einreichen und Pollen melden
{ "creditsToCharge": 0, "creditsCharged": 0 }; Webhooks melden die Credit-Kosten der Engine (1–3 Credits je nach Engine).Fehlgeschlagene Tasks werden nicht berechnet. Credit-Guthaben sehen Sie im Dashboard.3. Manche Engine × Region-Paare werden sofort abgelehnt
3. Manche Engine × Region-Paare werden sofort abgelehnt
Eine Kombination kann gar nicht bedient werden:
CHATGPT/PERPLEXITY/GEMINI nach CN, wo kein Exit verfügbar ist
und die Anfrage das Ziel nie erreicht. Sie scheitert sofort mit 422 REGION_UNSUPPORTED, statt angenommen zu werden.
422 REGION_UNAVAILABLE deckt die vorübergehende Variante desselben Falls ab.Ein Client, der davon ausgeht, dass jede wohlgeformte Einreichung angenommen wird, braucht hier eine Verzweigung.
Siehe Regionen.4. include-Flags sind meist wirkungslos
4. include-Flags sind meist wirkungslos
Die
payload.include-Flags werden akzeptiert, doch die meisten Engines liefern eine Antwort mit fester Form und
ignorieren sie. Nur ChatGPT berücksichtigt alle; GEMINI berücksichtigt nur markdown und rawResponse.Wenn Sie etwa html von Gemini anfordern, wird das stillschweigend ignoriert: kein Fehler, kein Feld. Siehe die
Tabelle der unterstützten Flags.5. Ein zusätzlicher Statuscode: 422
5. Ein zusätzlicher Statuscode: 422
Die Fehlerbehandlung ist ansonsten konventionell: Validierungsfehler liefern
400, 401 meldet MISSING_API_KEY,
404 meldet RESOURCE_NOT_FOUND, und details nennt das fehlerhafte Feld.Neu ist nur das oben beschriebene 422-Paar (REGION_UNSUPPORTED, REGION_UNAVAILABLE). Wir teilen Ihnen vorab mit,
wenn eine Region nicht bedient werden kann. Ein Client, der nie ein 422 behandeln musste, wird sie also zu sehen bekommen.6. Ein fehlgeschlagener Task erhält einen error-String auf oberster Ebene
6. Ein fehlgeschlagener Task erhält einen error-String auf oberster Ebene
GET /v1/async/task/{id} auf einen FAILED-Task liefert ein error-Feld auf oberster Ebene, das das
Task-Status-Schema sonst nicht definiert, und zwar als einfachen String, nicht als Objekt
{code, message, timestamp} wie bei Fehlern auf Anfrageebene.body.error als fehlgeschlagene Anfrage deutet, missversteht einen erfolgreich
abgerufenen fehlgeschlagenen Task. Verzweigen Sie stattdessen nach task.status.Diese Verhaltensweisen wurden durch Aufrufe dieser API ermittelt, nicht durch das Lesen eines Schemas. Weichen eine
veröffentlichte Spezifikation und eine tatsächliche Antwort voneinander ab, dokumentieren diese Seiten die tatsächliche Antwort.
Den passenden taskType wählen
Ruft Ihre bisherige Integration einen Endpunkt pro Engine auf, entspricht der Engine-Name einem taskType:
Dass
GOOGLE „AI Overview“ bedeutet, ist eine Namenskonvention, kein Google-Produktname. Die Antwort ist ein
SERP-Umschlag mit aioverview als nullbarem Element; siehe die GOOGLE-Form.Die Umstellung prüfen
Lassen Sie Ihre bestehende Integration eine Zeit lang parallel zu dieser laufen und vergleichen Sie die Felder, die Sie tatsächlich nutzen, in der Praxisresponse.text, response.sources[] und response.markdown. Ein Schattenvergleich
erkennt Formabweichungen, die eine Schemaprüfung übersieht, etwa eine befüllte, aber anders sortierte Quellenliste.