Passer au contenu principal
GET
/
v3
/
gift-cards
/
checkOrder
/
{orderId}
Vérifier le Statut d'une Commande
curl --request GET \
  --url https://api.oneclickdz.com/v3/gift-cards/checkOrder/{orderId} \
  --header 'X-Access-Token: <api-key>'
{
  "data": {
    "status": "<string>",
    "quantity": 123,
    "fulfilled_quantity": 123,
    "fulfilled_amount": 123,
    "price_per_card": 123,
    "cards": [
      {
        "value": "<string>",
        "serial": "<string>"
      }
    ]
  }
}

Vue d’ensemble

Vérifiez le statut de la commande et récupérez les codes de cartes lorsque la commande est livrée.

Paramètres de chemin

orderId
string
requis
ID de commande provenant de la réponse /placeOrder

Réponse

data
object

Exemples

curl https://api.oneclickdz.com/v3/gift-cards/checkOrder/6901616fe9e88196b4eb64b3 \
  -H "X-Access-Token: YOUR_API_KEY"

Réponse en cours de traitement

{
  "success": true,
  "data": {
    "_id": "6901616fe9e88196b4eb64b3",
    "status": "HANDLING",
    "quantity": 2,
    "product": "507f1f77bcf86cd799439011",
    "type": "type_001",
    "time": "2025-10-29T01:00:00.000Z"
  }
}

Réponse lorsque livrée

{
  "success": true,
  "data": {
    "_id": "6901616fe9e88196b4eb64b3",
    "status": "FULFILLED",
    "quantity": 2,
    "fulfilled_quantity": 2,
    "fulfilled_amount": 980,
    "price_per_card": 490,
    "cards": [
      {
        "value": "XXXX-XXXX-XXXX-XXXX",
        "serial": "123456789"
      },
      {
        "value": "YYYY-YYYY-YYYY-YYYY",
        "serial": "987654321"
      }
    ],
    "time": "2025-10-29T01:00:00.000Z"
  }
}

Exemple d’interrogation

async function pollOrder(orderId) {
  const maxAttempts = 60;

  for (let i = 0; i < maxAttempts; i++) {
    const response = await fetch(
      `https://api.oneclickdz.com/v3/gift-cards/checkOrder/${orderId}`,
      { headers: { "X-Access-Token": process.env.API_KEY } }
    );

    const { data } = await response.json();

    if (["FULFILLED", "PARTIALLY_FILLED", "REFUNDED"].includes(data.status)) {
      return data;
    }

    await new Promise((resolve) => setTimeout(resolve, 5000));
  }

  throw new Error("Timeout");
}

Gestion des statuts

Toutes les cartes livrées avec succès
  • fulfilled_quantity === quantity
  • Toutes les cartes disponibles dans le tableau cards
  • Livrez au client
Certaines cartes livrées, le reste annulé
  • fulfilled_quantity < quantity
  • Remboursement partiel effectué
  • Livrez les cartes disponibles
  • Remboursez la différence au client

Liens utiles

Passer une Commande

Créer une nouvelle commande

Liste des Commandes

Voir toutes les commandes