GET

Obtenir une commande

Récupérer des informations détaillées sur une commande spécifique par son ID.

Point de terminaison

Requête HTTP
GET /v1/orders/:order_id

Authentification

Ce point de terminaison nécessite une clé API valide avec la permission canViewOrders . La clé API doit être passée dans l'en-tête X-API-Key .
En-tête requis
X-API-Key: ucos_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Paramètres d'URL

ParamètreTypeRequisDescription
order_idstringOuiIdentifiant de commande (UUID par défaut, ou partie numérique de l'ID Shopify si le paramètre de requête use_shopify_order_id est true). Pour les ID de commande Shopify, extraire le numéro du format GID (par ex., pour 'gid://shopify/Order/450789469', utiliser '450789469').

Paramètres de requête

ParamètreTypeRequisDéfautDescription
use_shopify_order_idbooleanNonfalseDéfinir à 'true' pour rechercher la commande en utilisant l'ID Shopify au lieu de l'UUID. Extraire le numéro du format GID Shopify (gid://shopify/Order/450789469 → 450789469) et l'utiliser dans le paramètre de chemin order_id.

Réponse

Retourne un objet JSON avec les détails de la commande:
200 OK - Réponse de succès
{
  "success": true,
  "data": {
    "order": {
      "id": "string",
      "shopify_order_id": "string",
      "name": "string",
      "created_at": "string",
      "custom_status": {
        "id": "string",
        "name": "string",
        "color": "string"
      },
      "custom_sub_status": {
        "id": "string",
        "name": "string"
      },
      "customer": {
        "first_name": "string",
        "last_name": "string",
        "email": "string",
        "phone": "string"
      },
      "shipping_address": {
        "company": "string",
        "address1": "string",
        "address2": "string",
        "city": "string",
        "province": "string",
        "zip": "string",
        "country": "string",
        "latitude": "string",
        "longitude": "string"
      },
      "total_price": "string",
      "currency": "string",
      "line_items": [
        {
          "id": "string",
          "shopify_line_item_id": "string",
          "name": "string",
          "quantity": 0,
          "title": "string",
          "variant_title": "string",
          "sku": "string",
          "shopify_product_id": null,
          "shopify_variant_id": null,
          "custom_status": null,
          "custom_sub_status": null
        }
      ],
      "note": "string",
      "cancelled": true,
      "cancelled_at": null,
      "addon_statuses": [
        {
          "id": "string",
          "name": "string",
          "display_name": "string",
          "color": "string",
          "sub_status": {
            "id": "string",
            "name": "string"
          },
          "assigned_at": "string"
        }
      ]
    }
  }
}

Champs de réponse

Objet de réponse racine

ChampTypeDescription
successbooleanToujours true pour une réponse réussie.
dataobjectCharge utile de le point de terminaison. Ses champs sont détaillés dans les tableaux ci-dessous.
orderobjectL'objet de commande contenant tous les détails de la commande

Objet de commande

ChampTypeDescription
idstringIdentifiant unique de la commande (UUID)
shopify_order_idstringID global Shopify de la commande
namestringNuméro de commande (par ex., #1001)
created_atstring | nullHorodatage ISO 8601 de création de la commande dans Shopify
custom_statusobjectInformations sur le statut personnalisé
custom_sub_statusobjectInformations sur le sous-statut personnalisé
customerobjectInformations du client
shipping_addressobjectInformations d'adresse de livraison
total_pricestring | nullPrix total de la commande
currencystring | nullCode de devise (par ex., USD, CAD)
line_itemsarrayTableau d'objets d'articles de ligne
addon_statusesarrayTableau d'objets de statuts additionnels (v1.1+ seulement)
notestring | nullNote/commentaires de la commande
cancelledbooleanIndique si la commande est annulée
cancelled_atstring | nullHorodatage ISO 8601 de l'annulation de la commande

Champs d'objet de statut

ChampTypeDescription
idstringIdentifiant unique du statut personnalisé
namestringNom d'affichage du statut (utilise le nom public si configuré)
colorstringCode couleur hexadécimal du statut

Objet de sous-statut

ChampTypeDescription
idstringIdentifiant unique du sous-statut
namestringNom du sous-statut

Champs d'objet client

ChampTypeDescription
first_namestring | nullPrénom du client
last_namestring | nullNom de famille du client
emailstring | nullAdresse email du client
phonestring | nullNuméro de téléphone du client

Champs d'objet d'adresse de livraison

ChampTypeDescription
companystring | nullNom de l'entreprise
address1string | nullLigne d'adresse principale
address2string | nullLigne d'adresse secondaire
citystring | nullNom de la ville
provincestring | nullCode d'état/province
zipstring | nullCode postal
countrystring | nullNom du pays
latitudestring | nullCoordonnée de latitude
longitudestring | nullCoordonnée de longitude

Champs d'objet d'article de ligne

ChampTypeDescription
idstringIdentifiant unique pour l'article de ligne
shopify_line_item_idstringID global Shopify pour l'article de ligne
namestringNom du produit
quantitynumberQuantité commandée
titlestring | nullTitre du produit
variant_titlestring | nullTitre de la variante, ou null
skustring | nullUGS, ou null
shopify_product_idstring | nullGID du produit Shopify, ou null
shopify_variant_idstring | nullGID de la variante Shopify, ou null

Champs d'objet de statut additionnel

ChampTypeDescription
idstringIdentifiant unique du statut additionnel
namestringNom d'affichage du statut additionnel
display_namestringNom d'affichage public du statut additionnel
assigned_atstringHorodatage de l'attribution du statut additionnel à la commande
colorstringCode couleur hexadécimal du statut additionnel
sub_statusobjectSous-statut optionnel pour l'addon

Objet de sous-statut additionnel

ChampTypeDescription
idstringIdentifiant unique du sous-statut additionnel
namestringNom du sous-statut additionnel

Exemples

Requête de base (UUID)

Requête cURL
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders/8c1d4e2f-0a53-49b7-b6e4-7f2d9c3a5e10" \
  -H "X-API-Key: ucos_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
  -H "X-API-Version: 1.2"

Utilisation de l'ID de commande Shopify

Requête cURL
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders/5460132438316?use_shopify_order_id=true" \
  -H "X-API-Key: ucos_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
  -H "X-API-Version: 1.2"

Obtenir une commande brouillon (v1.2+)

Requête cURL
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders/1234567890?use_shopify_order_id=true" \
  -H "X-API-Key: ucos_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
  -H "X-API-Version: 1.2"

Limitation de débit

Ce point de terminaison est soumis à des limites de débit par minute et par jour en fonction de votre clé API. Les informations de limite de débit sont renvoyées dans les en-têtes de réponse:
  • X-RateLimit-Limit-Minute: Nombre maximum de requêtes par minute
  • X-RateLimit-Remaining-Minute: Requêtes restantes dans la minute en cours
  • X-RateLimit-Reset-Minute: Horodatage Unix de réinitialisation de la fenêtre minute
  • X-RateLimit-Limit-Day: Nombre maximum de requêtes par jour
  • X-RateLimit-Remaining-Day: Requêtes restantes dans le jour en cours
  • X-RateLimit-Reset-Day: Horodatage Unix de réinitialisation de la fenêtre jour
  • Retry-After: Secondes à attendre avant de réessayer (en cas de limitation)

Réponses d'erreur

400 Mauvaise requête

Format d'ID de commande invalide

400 Mauvaise requête
{
  "success": false,
  "error": "Validation failed",
  "details": {
    "errors": [
      {
        "code": "invalid_type",
        "expected": "string",
        "received": "undefined",
        "path": [
          "status_id"
        ],
        "message": "Required"
      }
    ]
  }
}

401 Non autorisé

Clé API manquante ou invalide

401 Non autorisé
{
  "success": false,
  "error": "Missing API key. Include it in the X-API-Key header"
}

403 Interdit

La clé API manque de permissions requises

403 Interdit
{
  "success": false,
  "error": "Insufficient permissions. Required: canViewOrders"
}

404 Non trouvé

Commande non trouvée ou n'appartient pas à cette boutique

404 Non trouvé
{
  "success": false,
  "error": "Order not found"
}

500 Erreur interne du serveur

Une erreur du serveur s'est produite

500 Erreur interne du serveur
{
  "success": false,
  "error": "Internal server error",
  "details": {
    "message": "An unexpected error occurred"
  }
}