Aller au contenu

Ressources

Variantes

Chaque point de terminaison Variantes, avec la portée qu'il impose, le corps qu'il accepte, une réponse lisible et les refus qu'il peut renvoyer.

Lister les variantes de taille et de couleur.

get/organizations/{organization}/passports/{id}/variants
Portée
passports:read
Idempotency-Key
Non accepté
Renvoie
200

Paramètres de chemin

organizationchaîneObligatoire

L'organisation pour laquelle cette requête agit. La clé doit disposer d'une autorisation sur celle-ci.

idchaîneObligatoire

L'identifiant de la ressource. Traitez-le comme une chaîne opaque.

Paramètres de requête

limitchaîneFacultatif

Le nombre d'enregistrements à renvoyer. Le serveur peut en renvoyer moins.

cursorchaîneFacultatif

Le next_cursor de la page précédente. Un curseur encode les filtres avec lesquels il a été généré ; son utilisation avec d’autres filtres entraîne l’erreur cursor_invalid.

gtinchaîneFacultatif

Renvoyer uniquement la variante portant ce GTIN. Les GTIN valides de 8, 12, 13 ou 14 chiffres sont normalisés sur 14 chiffres.

Erreurs

Tous les refus que ce point de terminaison peut renvoyer, avec le statut qui les accompagne.

Requête
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants?limit=25" \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"
Réponse · 200
{
  "object": "list",
  "data": [
    {
      "object": "variant",
      "id": "d41d8cd9-8f00-4b20-a204-9800998ecf84",
      "name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants/d41d8cd9-8f00-4b20-a204-9800998ecf84",
      "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
      "passport_id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
      "passport": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
      "gtin": "03453120000011",
      "size": "M",
      "colour": "Navy",
      "livemode": true,
      "created_at": "2026-08-01T12:00:03.114Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants?limit=25

Créer des variantes de taille et de couleur.

post/organizations/{organization}/passports/{id}/variants
Portée
passports:write
Idempotency-Key
Accepté
Renvoie
201

Paramètres de chemin

organizationchaîneObligatoire

L'organisation pour laquelle cette requête agit. La clé doit disposer d'une autorisation sur celle-ci.

idchaîneObligatoire

L'identifiant de la ressource. Traitez-le comme une chaîne opaque.

Corps de la requête

variantsliste d’objetsObligatoire

Envoyez 1 à 1000 variantes pour un passeport textile ou général, dans la limite de 2000 par passeport, toutes requêtes confondues. Le lot entier est inséré ou refusé, puis renvoyé dans l’ordre de la requête. Les GTIN et les paires taille/couleur doivent être uniques. Le GTIN principal de ce passeport est autorisé. Un GTIN principal ou de variante appartenant à un autre passeport de la même organisation et du même mode est refusé, y compris si ce passeport est dans la corbeille. Après une requête réussie, une nouvelle tentative avec la même Idempotency-Key restitue le résultat initial avant toute nouvelle vérification de conflit ou de capacité. Un refus corrigeable lors de la vérification préalable ne réserve pas la clé. Les identifiants du connecteur permettent d’ajouter des variantes uniquement aux brouillons, sans pouvoir les supprimer.

gtinchaîneObligatoire

Un GTIN valide de 8, 12, 13 ou 14 chiffres, clé de contrôle comprise. Stocké et renvoyé sur 14 chiffres.

sizechaîneFacultatif

Taille de 1 à 70 caractères Unicode après suppression des caractères d’espacement en début et en fin. Indiquez la taille, la couleur ou les deux.

colourchaîneFacultatif

Couleur de 1 à 70 caractères Unicode après suppression des caractères d’espacement en début et en fin. Les paires taille/couleur sont uniques sans distinction de casse.

Erreurs

Tous les refus que ce point de terminaison peut renvoyer, avec le statut qui les accompagne.

Requête
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants" \
  -X POST \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "variants": [
    {
      "gtin": "03453120000011",
      "size": "M",
      "colour": "Navy"
    }
  ]
}'
Réponse · 201
{
  "object": "list",
  "data": [
    {
      "object": "variant",
      "id": "d41d8cd9-8f00-4b20-a204-9800998ecf84",
      "name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants/d41d8cd9-8f00-4b20-a204-9800998ecf84",
      "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
      "passport_id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
      "passport": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
      "gtin": "03453120000011",
      "size": "M",
      "colour": "Navy",
      "livemode": true,
      "created_at": "2026-08-01T12:00:03.114Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants

Supprimer une variante. Les identifiants du connecteur ne permettent pas de supprimer des variantes.

Destructif
delete/organizations/{organization}/passports/{id}/variants/{variantId}
Portée
passports:write
Idempotency-Key
Accepté
Renvoie
200

Paramètres de chemin

organizationchaîneObligatoire

L'organisation pour laquelle cette requête agit. La clé doit disposer d'une autorisation sur celle-ci.

idchaîneObligatoire

L'identifiant de la ressource. Traitez-le comme une chaîne opaque.

variantIdchaîneObligatoire

L'identifiant de la ressource. Traitez-le comme une chaîne opaque.

Erreurs

Tous les refus que ce point de terminaison peut renvoyer, avec le statut qui les accompagne.

Requête
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants/d41d8cd9-8f00-4b20-a204-9800998ecf84" \
  -X DELETE \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
Réponse · 200
{
  "object": "variant",
  "id": "d41d8cd9-8f00-4b20-a204-9800998ecf84",
  "deleted": true
}

DELETE /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants/d41d8cd9-8f00-4b20-a204-9800998ecf84

Supprimer des variantes par GTIN.

Destructif
post/organizations/{organization}/passports/{id}/variants/remove
Portée
passports:write
Idempotency-Key
Accepté
Renvoie
200

Paramètres de chemin

organizationchaîneObligatoire

L'organisation pour laquelle cette requête agit. La clé doit disposer d'une autorisation sur celle-ci.

idchaîneObligatoire

L'identifiant de la ressource. Traitez-le comme une chaîne opaque.

Corps de la requête

gtinstableau de chaînesObligatoire

Envoyez 1 à 1000 GTIN valides, normalisés sur 14 chiffres. Les entrées présentes sont supprimées ; les autres figurent dans absent. Une nouvelle tentative avec la même clé restitue le résultat réussi initial ; sans clé, les entrées déjà supprimées figurent dans absent. Chaque appel supprimant effectivement des variantes d’un passeport publié ou désactivé compte une fois dans le plafond des opérations destructives. Les identifiants du connecteur ne permettent pas cette suppression. Le traitement se fait par lots limités. Si un lot ultérieur échoue, error.details.removed indique les suppressions effectuées. Réessayez sans Idempotency-Key pour traiter le reste ; la même clé restitue l’échec enregistré.

Erreurs

Tous les refus que ce point de terminaison peut renvoyer, avec le statut qui les accompagne.

Requête
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants/remove" \
  -X POST \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "gtins": [
    "03453120000011"
  ]
}'
Réponse · 200
{
  "removed": [
    "03453120000011"
  ],
  "absent": []
}

POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants/remove

Lit les tailles et couleurs qu’une personne vérifie avant la publication, avec leur empreinte.

get/organizations/{organization}/passports/{id}/variants/review
Portée
passports:read
Idempotency-Key
Non accepté
Renvoie
200

Paramètres de chemin

organizationchaîneObligatoire

L'organisation pour laquelle cette requête agit. La clé doit disposer d'une autorisation sur celle-ci.

idchaîneObligatoire

L'identifiant de la ressource. Traitez-le comme une chaîne opaque.

Erreurs

Tous les refus que ce point de terminaison peut renvoyer, avec le statut qui les accompagne.

Requête
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants/review" \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"
Réponse · 200
{
  "object": "variant_review",
  "passport": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "fingerprint": "3b2f1e0d9c8b7a6f5e4d3c2b1a0f9e8d7c6b5a4f3e2d1c0b9a8f7e6d5c4b3a2f",
  "agent_written_count": 1,
  "variants": [
    {
      "id": "d41d8cd9-8f00-4b20-a204-9800998ecf84",
      "gtin": "03453120000011",
      "size": "M",
      "colour": "Navy",
      "agent_written": {
        "keyId": "pcmcp_a1",
        "keyName": "Claude",
        "at": "2026-09-18T09:12:44.000Z",
        "sourceClass": "agent_asserted"
      }
    },
    {
      "id": "8d3f1c22-6b7e-4d1a-9e2f-5a6b7c8d9e0f",
      "gtin": "05012345678900",
      "size": "L",
      "colour": "Navy",
      "agent_written": null
    }
  ]
}

GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants/review