Webhooks
Webhooks konfigurieren
Setzen Sie notify_url in Ihren Assembly Instructions auf derselben Ebene wie steps. Sobald die Assembly
einen Endzustand erreicht, sendet Transloadit einen HTTP-POST an diese URL.
Jeder Status ab 200 bis ausschließlich
300 bestätigt die Zustellung. Weiterleitungen sowie Client- oder Serverfehler werden als Fehlschläge behandelt. Standardmäßig
wiederholt Transloadit fehlgeschlagene Zustellungen 5-mal mit einem exponentiellen Faktor von 1,97.
Die Bestätigung belegt den Empfang, nicht die erfolgreiche Verarbeitung. Prüfen Sie den
ok-Status oder den error-Code der verifizierten Payload,
um abgeschlossene, abgebrochene und fehlgeschlagene Assemblies zu unterscheiden. Ein erneutes Senden einer Notification
kann auch einen Assembly Status zustellen, der keinen Endzustand darstellt. Gehen Sie nicht davon aus, dass jede Zustellung den Abschluss bedeutet.
Notification-Payload begrenzen
Standardmäßig enthält ein Webhook den vollständigen Assembly Status. Setzen Sie notification_payload auf ein Array
mit einer beliebigen Kombination dieser unterstützten Filter:
without_params: Die rohen Felder der Assembly Instructions auf oberster Ebene,params,templateundmerged_params, werden weggelassen.without_result_meta_data:metawird bei jeder Datei inresultsweggelassen.without_results: Das Objektresultsauf oberster Ebene wird weggelassen.without_upload_meta_data:metawird bei jeder Datei inuploadsweggelassen.without_uploads: Das Arrayuploadsauf oberster Ebene wird weggelassen.
Beim erneuten Senden von Notifications werden die Filter wiederverwendet, die in der ursprünglichen Assembly-Anfrage angegeben wurden. Filter, die nur
in einem Template definiert sind, bleiben beim erneuten Senden nicht erhalten. Eine erneut gesendete Notification kann daher Daten enthalten, die in der ursprünglichen
Notification weggelassen wurden. Geben Sie notification_payload in der ursprünglichen Assembly-Anfrage an, wenn beim erneuten Senden
dieselben Filter gelten müssen.
Das unten stehende Payload-Schema erlaubt diese Auslassungen. Upload-meta kann auch dann fehlen, wenn der
Upload in uploads verbleibt. Andere Felder behalten ihre Bedeutung aus dem Assembly Status. Akzeptieren Sie aus Kompatibilitätsgründen zusätzliche
Felder, verlassen Sie sich aber nicht auf undokumentierte Diagnosefelder.
Signature verifizieren
Assembly-Webhooks verwenden den Medientyp application/x-www-form-urlencoded. Das
Feld transloadit enthält das exakt serialisierte Assembly Status JSON, und das
Feld signature enthält dessen HMAC in hexadezimaler Kleinschreibung.
So verifizieren Sie einen Webhook:
- Lesen Sie die Formularfelder
transloaditundsignature, ohne den Payload-String zu verändern. - Berechnen Sie einen hexadezimalen
HMAC-SHA1-Digest über den exaktentransloadit-String und verwenden Sie dabei das vertrauenswürdige Auth Secret, das wie unten beschrieben ausgewählt wird. - Vergleichen Sie den berechneten Digest mithilfe eines timing-sicheren Vergleichs mit
signature. - Parsen Sie
transloaditerst dann als JSON, wenn die Signatures übereinstimmen.
Die erste Notification einer Assembly verwendet das Auth Secret des Auth Keys, der ihre
Erstellung authentifiziert hat, auch wenn sie durch eine erneute Ausführung einer Assembly erstellt wurde. Beim erneuten Senden einer Notification wird zuerst
der Auth Key nachgeschlagen, der im Assembly Status als api_auth_key_id erfasst ist. Wenn dieser Auth Key nicht erfasst ist,
nicht aufgelöst werden kann, gelöscht wurde oder das Nachschlagen fehlschlägt, verwendet das erneute Senden der Notification
stattdessen das Auth Secret des authentifizierten Aufrufers, der das erneute Senden anfordert.
Bei der erneuten Ausführung einer Assembly bleibt die historische api_auth_key_id der übergeordneten Assembly erhalten. Wenn beispielsweise Key A
eine Assembly erstellt und Key B sie erneut ausführt, wird die erste Notification der neuen Assembly mit dem Secret
von B signiert. Beim erneuten Senden dieser Notification kann das Secret von A verwendet werden, selbst wenn B beide Endpunkte (für die erneute Ausführung und für das erneute Senden) aufruft
und beide Keys aktiv bleiben. Halten Sie die jeweils zutreffenden Secrets der übergeordneten Assembly und der Erstellung durch erneute Ausführung
für Ihren Verifier verfügbar. Gehen Sie nicht davon aus, dass jede Zustellung für eine Assembly dasselbe Secret verwendet.
Wählen Sie die Secrets für die Verifizierung aus einer vertrauenswürdigen serverseitigen Konfiguration für den erwarteten Workspace und die erwartete Assembly aus, nicht aus Feldern der unverifizierten Payload. Wenn mehr als ein konfiguriertes Secret in Frage kommt, akzeptieren Sie die Anfrage nur, wenn ihre Signature mit einem dieser vertrauenswürdigen Secrets übereinstimmt. Wenn keines übereinstimmt, lehnen Sie die Anfrage ab. Überspringen Sie die Verifizierung nicht, um eine erneut gesendete Notification zu akzeptieren.
Anders als aktuelle Signatures von API-Anfragen ist die Webhook-signature aus Gründen der Abwärtskompatibilität ein
sha1-Digest ohne Präfix. Behandeln Sie die Payload als nicht vertrauenswürdig und lehnen Sie die Anfrage ab,
wenn eines der beiden Felder fehlt, die Signature fehlerhaft formatiert ist oder der Vergleich fehlschlägt.
Verwenden Sie, sofern verfügbar, eine unserer SDK-Hilfsfunktionen zur Verifizierung. Wenn Sie die Verifizierung selbst implementieren, serialisieren Sie das geparste JSON nicht erneut, bevor Sie den HMAC berechnen: Whitespace und die Reihenfolge der Objektschlüssel sind Teil der signierten Bytefolge.
import { createHmac, timingSafeEqual } from 'node:crypto'
// authSecret must come from trusted server-side configuration.
function verifyTransloaditWebhook({ authSecret, payload, signature }) {
if (typeof payload !== 'string' || typeof signature !== 'string') return false
if (!/^[0-9a-f]+$/.test(signature)) return false
const expected = createHmac('sha1', authSecret).update(payload, 'utf8').digest()
if (signature.length !== expected.length * 2) return false
const received = Buffer.from(signature, 'hex')
return received.length === expected.length && timingSafeEqual(received, expected)
}
Formularfelder des Webhooks
Vollständiges JSON Schema
Transloadit sendet für dieses Objekt nur die aufgeführten Felder.
| Feld | Typ und Beschreibung |
|---|---|
signatureerforderlich | stringHexadezimaler HMAC-SHA1 in Kleinbuchstaben über den exakten transloadit-String, ohne Algorithmus-Präfix. Verwenden Sie ein vertrauenswürdiges Auth Secret und einen timing-sicheren Vergleich. Validierungsmuster (regulärer Ausdruck)^[0-9a-f]{40}$ |
transloaditerforderlich | stringExakter JSON-Text des gefilterten Assembly Status. Verifizieren Sie die Signature anhand dieses unveränderten Strings, bevor Sie ihn als JSON parsen. |
Verifizierte JSON-Nutzlast
Vollständiges JSON Schema
| Feld | Typ und Beschreibung | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
account_id | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
account_name | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
account_slug | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
api_auth_key_id | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
assemblyId | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
assembly_id | stringDie eindeutige ID dieser Assembly. Sie können sie beim Erstellen einer Assembly in einer Datenbank speichern und damit eingehende Notifications zuordnen. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
assembly_ssl_url | null | stringDie eindeutige URL, über die Sie den aktuellen Status dieser Assembly abfragen können und die für die Verwendung über SSL/HTTPS vorgesehen ist. Alle API-Anfragen, die an | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
assembly_url | null | stringDie eindeutige URL, über die Sie den aktuellen Status dieser Assembly abfragen können. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
build_id | stringOptionale Build-Kennung zur Fehleranalyse durch den Support. Leiten Sie daraus keine Bedeutung ab; sie kann sich zwischen Assemblies ändern. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bytes_expected | numberDie Anzahl der Bytes, deren Upload diese Assembly erwartet. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bytes_received | numberDie Anzahl der Bytes, die bisher zu dieser Assembly hochgeladen wurden. Dieser Wert wird hauptsächlich von Clients verwendet, um den Upload-Fortschritt anzuzeigen. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bytes_usage | number | nullDie Gesamtzahl der von dieser Assembly verarbeiteten Bytes, die auf Ihre Nutzungskosten angerechnet werden. Die Summe von | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
client_agent | null | stringDer User-Agent des Uploaders wird nicht offengelegt; dieses veraltete Feld ist immer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
client_ip | null | stringDie IP-Adresse des Uploaders wird nicht offengelegt; dieses veraltete Feld ist immer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
client_referer | null | stringDie Referrer-URL des Uploaders wird nicht offengelegt; dieses veraltete Feld ist immer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
companion_url | null | stringDie URL des Companion-Servers, mit dem diese Assembly gegebenenfalls kommuniziert. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
executing_jobs | Array<string>Schema eines Array-Elementsstring | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
execution_duration | number | nullDie Zeit in Sekunden, die Transloadit zum Ausführen dieser Assembly benötigt hat. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
execution_start | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
expected_tus_uploads | number | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fields | objectEine Schlüssel-Wert-Zuordnung aller zusätzlichen Felder in Ihrem Formular für Integrationen, die keine Kapselung mit Schema für zusätzliche Eigenschaftenbeliebiger Wert | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
finished_tus_uploads | number | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
has_dupe_jobs | boolean | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ignored_error_count | number | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ignored_errors | Array<object>Schema eines Array-Elements
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
info |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
info. | number | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
instance | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
is_infinite | boolean | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
jobs_queue_duration | number | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
last_job_completed | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
merged_params | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
message | stringEine für Menschen verständliche Meldung, die den Status dieser Assembly erläutert. Sie ist nicht immer vorhanden. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
notify_duration | number | nullVerstrichene Zustellzeit in Sekunden, einschließlich automatischer Wiederholungsversuche und der Verzögerungen dazwischen. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
notify_error | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
notify_response_code | number | null | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
notify_response_data | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
notify_start | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
notify_status | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
notify_url | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
num_input_files | number | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
params | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
parent_assembly_status | beliebiger Wert | nullEines der folgenden Schemas kann gelten: beliebiger Wertbeliebiger Wertnull | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
parent_id | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
previousStep | stringName des vorhergehenden Steps, der mit dem Fehler zusammenhängt, sofern verfügbar. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
queue_duration | number | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
region | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
results | objectDie Ergebnisdateien, die Transloadit bisher erstellt hat. Jeder Schlüssel dieses Objekts ist der Name des Steps, der eine bestimmte Datei erstellt hat. Da Storage-Robots keine Dateien erstellen, sind die Namen ihrer Steps hier nicht enthalten. Im Fall eines Schema für zusätzliche EigenschaftenArray<object>Weitere Schemadetails finden Sie im vollständigen JSON Schema. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
running_jobs | Array<string>Schema eines Array-Elementsstring | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
start_date | stringDatum und Uhrzeit, zu denen der Upload für diese Assembly gestartet wurde. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
started_jobs | Array<string>Schema eines Array-Elementsstring | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
started_tus_uploads | number | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
step | stringName des Steps, der mit dem Fehler zusammenhängt, sofern verfügbar. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
template | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
template_id | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
template_name | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
transloadit_client | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tus_uploads | Array<object>Schema eines Array-Elements
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tus_url | stringDie URL des tus-Servers, den diese Assembly für fortsetzbare Uploads verwendet. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
update_stream_url | null | stringDie URL eines Server-Sent-Events-Streams, über den Sie Echtzeit-Statusaktualisierungen zu dieser Assembly erhalten können. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
upload_duration | numberDie Zeit in Sekunden, die der Uploader zum Hochladen der Dateien benötigt hat. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
upload_meta_data_extracted | boolean | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
uploads | Array<object>Ein Array der für diese Assembly hochgeladenen Dateien. Weitere Informationen finden Sie in der Metadaten-Dokumentation. Schema eines Array-Elements
Eines der folgenden Schemas kann gelten: erforderliche Eigenschaften: basename, ext, field, id, mime, name, size, type, url: object
Variante 2: object
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
uppyserver_url | null | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
usage_tags | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
virusname | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
warnings | Array<object>Schema eines Array-Elements
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
websocket_url | null | stringDie URL eines Websocket-Servers (verwendet Socket.IO), von dem Sie Echtzeit-Statusaktualisierungen zu dieser Assembly erhalten können. |
Eines der folgenden Schemas kann gelten:
ok: "ASSEMBLY_EXECUTING" | "ASSEMBLY_REPLAYING" | "ASSEMBLY_UPLOADING"
Transloadit kann zusätzliche Felder senden.
| Feld | Typ und Beschreibung |
|---|---|
error | nieZeigt einen Fehlerstatus an. Dieser Schlüssel ist nur vorhanden, wenn die Assembly fehlgeschlagen ist. Dieser Wert ist unzulässig. |
okerforderlich | "ASSEMBLY_EXECUTING" | "ASSEMBLY_REPLAYING" | "ASSEMBLY_UPLOADING"Zeigt einen Lebenszyklusstatus ohne Fehler an, einschließlich Hochladen, Ausführen, abgebrochener Anfragen und stornierter Assemblies. Erfolgreiche Verarbeitung wird durch |
ok: string
Transloadit kann zusätzliche Felder senden.
| Feld | Typ und Beschreibung |
|---|---|
error | nieZeigt einen Fehlerstatus an. Dieser Schlüssel ist nur vorhanden, wenn die Assembly fehlgeschlagen ist. Dieser Wert ist unzulässig. |
okerforderlich | stringZeigt einen Lebenszyklusstatus ohne Fehler an, einschließlich Hochladen, Ausführen, abgebrochener Anfragen und stornierter Assemblies. Erfolgreiche Verarbeitung wird durch Zulässige Werte (6)
|
erforderliche Eigenschaften: error
Transloadit kann zusätzliche Felder senden.
| Feld | Typ und Beschreibung |
|---|---|
cmd | string | Array<string | number>Optionale Details zum Verarbeitungsbefehl für die Fehlerbehebung. Diagnosedetails können variieren; verwenden Sie für die programmgesteuerte Fehlerbehandlung den Eines der folgenden Schemas kann gelten: stringArray<string | number>Array<string | number>Schema eines Array-Elementsstring | number |
errorerforderlich | stringZeigt einen Fehlerstatus an. Dieser Schlüssel ist nur vorhanden, wenn die Assembly fehlgeschlagen ist. Zulässige Werte (362)
|
exitCode | number | nullOptionaler Exit-Status eines fehlgeschlagenen Verarbeitungsbefehls. Diagnosedetails können variieren; verwenden Sie für die programmgesteuerte Fehlerbehandlung den |
exitSignal | null | stringOptionales Signal, das einen Verarbeitungsbefehl beendet hat. Diagnosedetails können variieren; verwenden Sie für die programmgesteuerte Fehlerbehandlung den |
file | string |
headers | objectSchema für zusätzliche Eigenschaftenbeliebiger Wert |
is_private_address | boolean |
name | string |
numRetries | number |
ok | null |
playwright_error_code | string |
reason | null | string | number | boolean | Array<beliebiger Wert> | objectOptionale Diagnosedetails. Gehen Sie nicht davon aus, dass dieser Wert ein String ist, und zeigen Sie ihn nicht direkt an. Verwenden Sie für menschenlesbaren Text Eines der folgenden Schemas kann gelten: nullstringnumberbooleanArray<beliebiger Wert>Array<beliebiger Wert>Schema eines Array-Elementsbeliebiger WertobjectobjectSchema für zusätzliche Eigenschaftenbeliebiger Wert |
response_code | number | null |
retries | number |
retryable | boolean |
stderr | stringOptionale Diagnoseausgabe eines Verarbeitungsbefehls zur Fehlerbehebung. Diagnosedetails können variieren; verwenden Sie für die programmgesteuerte Fehlerbehandlung den |
stdout | stringOptionale Standardausgabe eines Verarbeitungsbefehls zur Fehlerbehebung. Diagnosedetails können variieren; verwenden Sie für die programmgesteuerte Fehlerbehandlung den |
url | string |
url_host | null | string |