# Assembly Status-Antwort

Transloadit verwendet ein einheitliches Antwortformat, um Assemblies zu erstellen und abzufragen, Antworten an Upload-Formulare anzuhängen und Notifications zu senden.

Das folgende Beispiel zeigt eine vollständige Antwort von Transloadit. Da Dateien parallel verarbeitet werden, entspricht die Reihenfolge in `results` **nicht** unbedingt der Reihenfolge in `uploads`. Ein einzelner Upload kann auch mehrere Ergebnisse liefern. Um Ergebnisse den Uploads zuzuordnen, können Sie das Feld `original_id` verwenden, das in beiden Elementen vorhanden ist.

## Beispielantwort

![](/_next/static/media/copy.04p1cju9qekk_.svg?dpl=dpl_GBjmaCTpH3rF6sBBsH4gkTL4K8CU)

```jsonc
{
  "assembly_id": "7828446e5acd4aa996dce3455ec914e9",
  "ok": "ASSEMBLY_COMPLETED",
  "message": "The Assembly was successfully completed.",
  "warnings": [],
  "account_id": "4ce4fb3d9d1842b6ba5d6f3ccee4b066",
  "assembly_ssl_url": "https://api2-jenks.transloadit.com/assemblies/7828446e5acd4aa996dce3455ec914e9",
  "assembly_url": "http://api2.jenks.transloadit.com/assemblies/7828446e5acd4aa996dce3455ec914e9",
  "build_id": "339",
  "bytes_expected": 486608,
  "bytes_received": 486608,
  "bytes_usage": 1097155,
  "client_agent": null,
  "client_ip": null,
  "client_referer": null,
  "companion_url": "https://api2-jenks.transloadit.com/companion/",
  "executing_jobs": [],
  "execution_duration": 5.281,
  "execution_start": "2020/01/09 12:02:08 GMT",
  "expected_tus_uploads": 1,
  "fields": {},
  "finished_tus_uploads": 1,
  "has_dupe_jobs": false,
  "instance": "jenks.transloadit.com",
  "is_infinite": false,
  "jobs_queue_duration": 0.01,
  "last_job_completed": "2020/01/09 12:02:14 GMT",
  "merged_params": "{\"steps\":{\":original\":{\"robot\":\"/upload/handle\"},\"faces_detected\":{\"use\":\":original\",\"robot\":\"/image/facedetect\",\"crop\":true,\"faces\":\"max-confidence\",\"format\":\"preserve\",\"crop_padding\":\"10%\"},\"exported\":{\"use\":[\"faces_detected\",\":original\"],\"robot\":\"/s3/store\",\"credentials\":\"demo_s3_credentials\"}},\"auth\":{\"key\":\"****\",\"expires\":\"2020-01-10T12:02:05.826Z\"}}",
  "notify_duration": null,
  "notify_response_code": null,
  "notify_start": null,
  "notify_status": null,
  "notify_url": null,
  "params": "{\"steps\":{\":original\":{\"robot\":\"/upload/handle\"},\"faces_detected\":{\"use\":\":original\",\"robot\":\"/image/facedetect\",\"crop\":true,\"faces\":\"max-confidence\",\"format\":\"preserve\",\"crop_padding\":\"10%\"},\"exported\":{\"use\":[\"faces_detected\",\":original\"],\"robot\":\"/s3/store\",\"credentials\":\"demo_s3_credentials\"}},\"auth\":{\"key\":\"****\",\"expires\":\"2020-01-10T12:02:05.826Z\"}}",
  "parent_assembly_status": null,
  "parent_id": null,
  "queue_duration": 0.184,
  "running_jobs": [],
  "start_date": "2020/01/09 12:02:06 GMT",
  "started_jobs": [
    ":original:::original",
    "faces_detected:::original",
    "exported:::original",
    "exported::faces_detected"
  ],
  "started_tus_uploads": 1,
  "template": null,
  "template_id": null,
  "transloadit_client": "node-sdk:2.0.8",
  "tus_url": "https://api2-jenks.transloadit.com/resumable/files/",
  "upload_duration": 2.814,
  "upload_meta_data_extracted": true,
  "uppyserver_url": "https://api2-jenks.transloadit.com/companion/",
  "websocket_url": "https://api2-jenks.transloadit.com/ws20074",
  "uploads": [
    {
      "id": "a30bd0776e7f4ac3817b056d102e8219",
      "basename": "joe-gardner-149699",
      "ext": "jpg",
      "field": "file",
      "from_batch_import": false,
      "is_tus_file": true,
      "md5hash": "fb205cb04b6998fe7ba364f70227cfa1",
      "mime": "image/jpeg",
      "name": "joe-gardner-149699.jpg",
      "original_basename": "joe-gardner-149699",
      "original_id": "a30bd0776e7f4ac3817b056d102e8219",
      "original_md5hash": "fb205cb04b6998fe7ba364f70227cfa1",
      "original_name": "joe-gardner-149699.jpg",
      "original_path": "/",
      "size": 485784,
      "ssl_url": "https://s3.amazonaws.com/demos.transloadit.com/a3/0bd0776e7f4ac3817b056d102e8219/joe-gardner-149699.jpg",
      "tus_upload_url": "https://api2-jenks.transloadit.com/resumable/files/f95ba7eebf22e0ebadcf9b09a3a91c65+DRCJv78IeFDneTwnYb3pagc8Bqg7IwlRAFpW8e3i.f4RSPIZXEeaxdheZiTBBvJ0pAyjxL3.U5TvUqWytvkObgz6Bh55biPZwLqzIK_mwRbjGl0UREMrju1zfy8.OgTg",
      "type": "image",
      "url": "http://demos.transloadit.com.s3.amazonaws.com/a3/0bd0776e7f4ac3817b056d102e8219/joe-gardner-149699.jpg",
      "meta": {
        "aspect_ratio": "1.500",
        "average_color": "#b09d96",
        "colorspace": "RGB",
        "date_file_modified": "2020/01/09 12:02:08 GMT",
        "frame_count": 1,
        "has_clipping_path": false,
        "has_transparency": false,
        "height": 1667,
        "width": 2500
      }
    }
  ],
  "results": {
    ":original": [
      {
        "id": "a30bd0776e7f4ac3817b056d102e8219",
        "basename": "joe-gardner-149699",
        "cost": 97157,
        "execTime": 0.81,
        "ext": "jpg",
        "field": "file",
        "from_batch_import": false,
        "is_tus_file": false,
        "md5hash": "fb205cb04b6998fe7ba364f70227cfa1",
        "mime": "image/jpeg",
        "name": "joe-gardner-149699.jpg",
        "original_basename": "joe-gardner-149699",
        "original_id": "a30bd0776e7f4ac3817b056d102e8219",
        "original_md5hash": "fb205cb04b6998fe7ba364f70227cfa1",
        "original_name": "joe-gardner-149699.jpg",
        "original_path": "/",
        "queue": "live",
        "queueTime": 0.01,
        "size": 485784,
        "ssl_url": "https://s3.amazonaws.com/demos.transloadit.com/a3/0bd0776e7f4ac3817b056d102e8219/joe-gardner-149699.jpg",
        "tus_upload_url": null,
        "type": "image",
        "url": "http://demos.transloadit.com.s3.amazonaws.com/a3/0bd0776e7f4ac3817b056d102e8219/joe-gardner-149699.jpg",
        "meta": {
          "aspect_ratio": "1.500",
          "average_color": "#b09d96",
          "colorspace": "RGB",
          "date_file_modified": "2020/01/09 12:02:08 GMT",
          "frame_count": 1,
          "has_clipping_path": false,
          "has_transparency": false,
          "height": 1667,
          "width": 2500
        }
      }
    ],
    "faces_detected": [
      {
        "id": "b8d12f6c517541ca86bf50c537cedb27",
        "basename": "joe-gardner-149699",
        "cost": 627606,
        "execTime": 0.83,
        "ext": "jpg",
        "field": "file",
        "from_batch_import": false,
        "is_tus_file": false,
        "md5hash": "2a5cd917f4281b9438956e489c63dfd2",
        "mime": "image/jpeg",
        "name": "joe-gardner-149699.jpg",
        "original_basename": "joe-gardner-149699",
        "original_id": "a30bd0776e7f4ac3817b056d102e8219",
        "original_md5hash": "fb205cb04b6998fe7ba364f70227cfa1",
        "original_name": "joe-gardner-149699.jpg",
        "original_path": "/",
        "queue": "live",
        "queueTime": 0,
        "size": 141822,
        "ssl_url": "https://s3.amazonaws.com/demos.transloadit.com/b8/d12f6c517541ca86bf50c537cedb27/joe-gardner-149699.jpg",
        "tus_upload_url": null,
        "type": "image",
        "url": "http://demos.transloadit.com.s3.amazonaws.com/b8/d12f6c517541ca86bf50c537cedb27/joe-gardner-149699.jpg",
        "meta": {
          "aspect_ratio": "0.739",
          "average_color": "#8d654d",
          "colorspace": "RGB",
          "date_file_created": "2020/01/09 12:02:09 GMT",
          "date_file_modified": "2020/01/09 12:02:12 GMT",
          "faces": [
            {
              "confidence": 99.99,
              "height": 840,
              "width": 621,
              "x1": 981,
              "x2": 1550,
              "y1": 121,
              "y2": 891
            }
          ],
          "frame_count": 1,
          "has_clipping_path": false,
          "has_transparency": false,
          "height": 840,
          "width": 621
        }
      }
    ]
  }
}

```

## Erläuterung der Felder

`ok`

Zeigt einen [erfolgreichen](/de/docs/api/response-codes.md#ok-codes) Status an. Wenn bei der Assembly ein Fehler aufgetreten ist, wird stattdessen der unten beschriebene Schlüssel `error` verwendet.

`error`

Zeigt einen [Fehlerstatus](/de/docs/api/response-codes.md#fehlercodes) an. Dieser Schlüssel ist nur vorhanden, wenn die Assembly fehlgeschlagen ist.

`message`

Eine für Menschen verständliche Meldung, die den Status dieser Assembly erläutert. Sie ist nicht immer vorhanden.

`assembly_id`

Die eindeutige ID dieser Assembly. Sie können sie beim Erstellen einer Assembly in einer Datenbank speichern und damit eingehende Notifications zuordnen.

`assembly_url`

Die eindeutige URL, über die Sie den aktuellen Status dieser Assembly abfragen können.

`assembly_ssl_url`

Die 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` gesendet werden, können auch an `assembly_ssl_url` gesendet werden.

`companion_url`

Die URL des Companion-Servers, mit dem diese Assembly gegebenenfalls kommuniziert.

`websocket_url`

Die URL eines Websocket-Servers (verwendet Socket.IO), von dem Sie Echtzeit-Statusaktualisierungen zu dieser Assembly erhalten können.

`tus_url`

Die URL des tus-Servers, den diese Assembly für [fortsetzbare Uploads](/de/docs/api/resumable-uploads.md) verwendet.

`bytes_received`

Die Anzahl der Bytes, die bisher zu dieser Assembly hochgeladen wurden. Dieser Wert wird hauptsächlich von Clients verwendet, um den Upload-Fortschritt anzuzeigen.

`bytes_expected`

Die Anzahl der Bytes, deren Upload diese Assembly erwartet.

`bytes_usage`

Die Gesamtzahl der von dieser Assembly verarbeiteten Bytes, die auf Ihre Nutzungskosten angerechnet werden. Die Summe von `bytes_usage` all Ihrer Assemblies entspricht Ihrer monatlichen Gesamtnutzung.

`client_agent`

Der vom Uploader verwendete User-Agent (Browser).

`client_ip`

Die IP-Adresse des Uploaders.

`client_referer`

Die Referrer-URL des Uploaders.

`start_date`

Datum und Uhrzeit, zu denen der Upload für diese Assembly gestartet wurde.

`upload_duration`

Die Zeit in Sekunden, die der Uploader zum Hochladen der Dateien benötigt hat.

`execution_duration`

Die Zeit in Sekunden, die Transloadit zum Ausführen dieser Assembly benötigt hat.

`fields`

Eine Schlüssel-Wert-Zuordnung aller zusätzlichen Felder in Ihrem Formular für Integrationen, die keine Kapselung mit `<form>` verwenden können (wie Uppy).

`uploads`

Ein Array der für diese Assembly hochgeladenen Dateien. Weitere Informationen finden Sie in der [Metadaten-Dokumentation](/de/docs/api/metadata.md).

`results`

Die 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 `error` können Teilergebnisse enthalten sein.
