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: your_api_key_here

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
{
  "order": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "shopify_order_id": "gid://shopify/Order/123456789",
    "name": "#1001",
    "created_at": "2024-10-30T12:00:00Z",
    "custom_status": {
      "id": "status-uuid",
      "name": "Processing",
      "color": "#2948ff"
    },
    "custom_sub_status": {
      "id": "sub-status-uuid",
      "name": "Awaiting Parts"
    },
    "addon_statuses": [
      {
        "id": "addon-uuid-1",
        "name": "Quality Check",
        "color": "#10b981",
        "sub_status": {
          "id": "addon-sub-uuid",
          "name": "Passed"
        }
      },
      {
        "id": "addon-uuid-2",
        "name": "Packaging",
        "color": "#f59e0b",
        "sub_status": null
      }
    ],
    "customer": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john@example.com",
      "phone": "+1234567890"
    },
    "shipping_address": {
      "company": "Acme Corp",
      "address1": "123 Main St",
      "address2": "Suite 100",
      "city": "New York",
      "province": "NY",
      "zip": "10001",
      "country": "United States",
      "latitude": "40.7128",
      "longitude": "-74.0060"
    },
    "total_price": "150.00",
    "currency": "USD",
    "line_items": [
      {
        "id": "line-item-uuid",
        "shopify_line_item_id": "gid://shopify/LineItem/123456789",
        "name": "Product Name",
        "quantity": 2
      }
    ],
    "note": "Please ship carefully",
    "cancelled": false,
    "cancelled_at": null,
    "workflow_id": "uuid-workflow-1",
    "workflow_name": "Fulfillment"
  }
}

Champs de réponse

Objet de réponse racine

ChampTypeDescription
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_atstringHorodatage ISO 8601 de création de la commande dans Shopify
custom_statusobjectInformations sur le statut personnalisé
custom_sub_statusobject | nullInformations sur le sous-statut personnalisé
customerobjectInformations du client
shipping_addressobjectInformations d'adresse de livraison
total_pricestringPrix total de la commande
currencystringCode de devise (par ex., USD, CAD)
line_itemsarrayTableau d'objets d'articles de ligne
notestring | nullNote/commentaires de la commande
cancelledbooleanIndique si la commande est annulée
cancelled_atstring | nullHorodatage ISO 8601 de l'annulation de la commande
workflow_idstring | nullUUID du flux de travail auquel cette commande appartient (v1.3+ uniquement)
workflow_namestring | nullNom du flux de travail auquel cette commande appartient (v1.3+ uniquement)

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_namestringPrénom du client
last_namestringNom de famille du client
emailstringAdresse 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
address1stringLigne d'adresse principale
address2string | nullLigne d'adresse secondaire
citystringNom de la ville
provincestringCode d'état/province
zipstringCode postal
countrystringNom 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

Exemples

Requête de base (UUID)

Requête cURL
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders/550e8400-e29b-41d4-a716-446655440000" \
  -H "X-API-Key: your_api_key_here" \
  -H "X-API-Version: 1.3"

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: your_api_key_here" \
  -H "X-API-Version: 1.3"

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: your_api_key_here" \
  -H "X-API-Version: 1.3"

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
{
  "error": "Invalid order ID format",
  "details": {
    "errors": [...]
  }
}

401 Non autorisé

Clé API manquante ou invalide

401 Non autorisé
{
  "error": "Unauthorized"
}

403 Interdit

La clé API manque de permissions requises

403 Interdit
{
  "error": "Insufficient permissions"
}

404 Non trouvé

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

404 Non trouvé
{
  "error": "Order not found",
  "details": {
    "orderId": "550e8400-e29b-41d4-a716-446655440000"
  }
}

500 Erreur interne du serveur

Une erreur du serveur s'est produite

500 Erreur interne du serveur
{
  "error": "Internal server error",
  "details": {
    "message": "Error description"
  }
}