Ressourcen

Importe

Jeder Importe-Endpunkt, mit dem Scope, den er durchsetzt, dem Körper, den er annimmt, einer lesbaren Antwort und den Ablehnungen, die er zurückgeben kann.

Einen asynchronen Massenimport starten.

post/organizations/{organization}/imports
Scope
passports:write
Idempotency-Key
Wird akzeptiert
Liefert
202

Pfadparameter

organizationstringPflicht

Die Organisation, für die diese Anfrage handelt. Der Zugangsschlüssel muss dafür freigegeben sein.

Anfragekörper

rowsarray of objectsPflicht

Zwischen 1 und 500 Zeilen. Ein Überschreiten dieser Obergrenze wird mit einer eigenen max_rows-Regel abgelehnt — auf diese Ablehnung verzweigt eine Schleife, die in Stapeln arbeitet. Ein unbekannter Schlüssel an beliebiger Stelle einer Zeile ist ein Fehler und kein stillschweigend verworfenes Feld.

categorystringPflicht

Eine Kategoriekennung aus GET /categories.

dataobjectPflicht

Der Inhalt des Produktpasses, genau so, wie POST /passports ihn entgegennimmt.

external_idstringOptional

Ihre Kennung für die Zeile. Sie kommt im Ergebnis je Zeile zurück — so lässt sich eine fehlgeschlagene Zeile zuordnen.

Fehler

Jede Ablehnung, die dieser Endpunkt zurückgeben kann, samt dem HTTP-Status, mit dem sie eintrifft.

Anfrage
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports" \
  -X POST \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "rows": [
    {
      "external_id": "SKU-4471-BLK",
      "category": "textile",
      "data": {
        "product_name": "Merino Crew Neck",
        "manufacturer_country": "FR"
      }
    },
    {
      "external_id": "SKU-4471-NVY",
      "category": "textile",
      "data": {
        "product_name": "Merino Crew Neck Navy",
        "manufacturer_country": "FR"
      }
    }
  ]
}'
Antwort · 202
{
  "object": "import_job",
  "id": "7b52909a-8f2c-4e1d-9b3a-6d5f4e3c2b1a",
  "name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports/7b52909a-8f2c-4e1d-9b3a-6d5f4e3c2b1a",
  "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
  "livemode": true,
  "status": "queued",
  "total_rows": 2,
  "succeeded_rows": 0,
  "failed_rows": 0,
  "pending_rows": 2,
  "attempts": 0,
  "created_at": "2026-08-02T09:50:00.114Z",
  "started_at": null,
  "completed_at": null
}

POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports

Importaufträge auflisten.

get/organizations/{organization}/imports
Scope
passports:read
Idempotency-Key
Wird nicht akzeptiert
Liefert
200

Pfadparameter

organizationstringPflicht

Die Organisation, für die diese Anfrage handelt. Der Zugangsschlüssel muss dafür freigegeben sein.

Abfrageparameter

limitstringOptional

Wie viele Datensätze zurückgegeben werden. Der Server darf weniger liefern.

cursorstringOptional

Der next_cursor der vorherigen Seite. Ein Cursor kodiert die Filter, unter denen er ausgegeben wurde; wird er mit anderen Filtern gesendet, folgt eine Ablehnung mit cursor_invalid.

statusstringOptional

Nur Aufträge in diesem Status zurückgeben.

Fehler

Jede Ablehnung, die dieser Endpunkt zurückgeben kann, samt dem HTTP-Status, mit dem sie eintrifft.

Anfrage
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports?status=completed" \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"
Antwort · 200
{
  "object": "list",
  "data": [
    {
      "object": "import_job",
      "id": "7b52909a-8f2c-4e1d-9b3a-6d5f4e3c2b1a",
      "name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports/7b52909a-8f2c-4e1d-9b3a-6d5f4e3c2b1a",
      "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
      "livemode": true,
      "status": "completed",
      "total_rows": 2,
      "succeeded_rows": 1,
      "failed_rows": 1,
      "pending_rows": 0,
      "attempts": 1,
      "created_at": "2026-08-02T09:50:00.114Z",
      "started_at": "2026-08-02T09:50:03.902Z",
      "completed_at": "2026-08-02T09:50:05.441Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports?status=completed

Einen Importauftrag samt Fortschritt abrufen.

get/organizations/{organization}/imports/{id}
Scope
passports:read
Idempotency-Key
Wird nicht akzeptiert
Liefert
200

Pfadparameter

organizationstringPflicht

Die Organisation, für die diese Anfrage handelt. Der Zugangsschlüssel muss dafür freigegeben sein.

idstringPflicht

Die Kennung der Ressource. Behandeln Sie sie als undurchsichtige Zeichenkette.

Abfrageparameter

row_limitstringOptional

Wie viele Ergebnisse je Zeile mit dem Auftrag ausgeliefert werden.

after_row_indexstringOptional

Ergebnisse je Zeile ab diesem Zeilenindex zurückgeben, sodass sich auch ein großer Auftrag vollständig durchlaufen lässt.

Fehler

Jede Ablehnung, die dieser Endpunkt zurückgeben kann, samt dem HTTP-Status, mit dem sie eintrifft.

Anfrage
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports/7b52909a-8f2c-4e1d-9b3a-6d5f4e3c2b1a?row_limit=50" \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"
Antwort · 200
{
  "object": "import_job",
  "id": "7b52909a-8f2c-4e1d-9b3a-6d5f4e3c2b1a",
  "name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports/7b52909a-8f2c-4e1d-9b3a-6d5f4e3c2b1a",
  "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
  "livemode": true,
  "status": "completed",
  "total_rows": 2,
  "succeeded_rows": 1,
  "failed_rows": 1,
  "pending_rows": 0,
  "attempts": 1,
  "created_at": "2026-08-02T09:50:00.114Z",
  "started_at": "2026-08-02T09:50:03.902Z",
  "completed_at": "2026-08-02T09:50:05.441Z",
  "rows": {
    "object": "list",
    "data": [
      {
        "object": "import_row",
        "row_index": 0,
        "external_id": "SKU-4471-BLK",
        "status": "succeeded",
        "passport_id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
        "passport_name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
        "error": null,
        "processed_at": "2026-08-02T09:50:04.771Z"
      },
      {
        "object": "import_row",
        "row_index": 1,
        "external_id": "SKU-4471-NVY",
        "status": "failed",
        "passport_id": null,
        "passport_name": null,
        "error": {
          "code": "unknown_category",
          "detail": null
        },
        "processed_at": "2026-08-02T09:50:05.180Z"
      }
    ],
    "has_more": false,
    "next_after_row_index": null
  }
}

GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports/7b52909a-8f2c-4e1d-9b3a-6d5f4e3c2b1a?row_limit=50

Importe — API-Referenz von PassportCraft | PassportCraft