GET

Lister les commandes

Récupérer une liste paginée de commandes avec des capacités de filtrage, tri et recherche.

Point de terminaison

Requête HTTP
GET /v1/orders

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 de requête

ParamètreTypeRequisDéfautDescription
pagenumberNon1Numéro de page pour la pagination
limitnumberNon25Résultats par page (max: 250)
statusstringNon-Filtrer par ID de statut personnalisé
order_idsstringNon-Liste d'ID de commandes séparés par des virgules. Par défaut, attend les UUID internes. Lorsque use_shopify_order_id est activé, fournir la partie numérique du GID Shopify (ex: pour 'gid://shopify/Order/450789469', utiliser '450789469')
use_shopify_order_idbooleanNonfalseDéfinir à 'true' pour utiliser les ID Shopify au lieu des UUID internes. Extraire le numéro du format GID Shopify (gid://shopify/Order/450789469 → 450789469) et le passer dans order_ids
searchstringNon-Rechercher dans le nom de commande, nom du client, entreprise ou email
sort_bystringNoncreated_atChamp de tri: 'created_at' ou 'name'
sort_orderstringNondescDirection du tri: 'asc' ou 'desc'
order_typestringNonALL (v1.2), REGULAR (v1.0, v1.1)Filtrer par type de commande : REGULAR (commandes standards), DRAFT (commandes brouillon), ou ALL (les deux types). Disponible en v1.2+
workflow_idstringNon-Filtrer les commandes par UUID de flux de travail. Retourne uniquement les commandes assignées à ce flux de travail. Disponible en v1.3+

Réponse

Retourne un objet JSON avec la structure suivante:
200 OK - Réponse de succès
{
  "orders": [
    {
      "id": "uuid",
      "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"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 25,
    "total_count": 100,
    "total_pages": 4,
    "has_next_page": true,
    "has_previous_page": false
  }
}

Champs de réponse

Objet de réponse racine

ChampTypeDescription
ordersarrayTableau d'objets de commande
paginationobjectInformations de pagination

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_statusobject | nullInformations sur le statut personnalisé
custom_sub_statusobject | nullInformations 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
notestring | nullNote/commentaires de la commande
cancelledboolean | nullIndique 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_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

Champs d'objet de pagination

ChampTypeDescription
pagenumberNuméro de page actuel
limitnumberRésultats par page
total_countnumberNombre total de commandes correspondant à la requête
total_pagesnumberNombre total de pages
has_next_pagebooleanIndique s'il y a une page suivante
has_previous_pagebooleanIndique s'il y a une page précédente

Exemples

Requête de base

Requête cURL
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders?page=1&limit=25" \
  -H "X-API-Key: your_api_key_here" \
  -H "X-API-Version: 1.3"

Filtrer par statut

Requête cURL
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders?status=abc123&sort_by=created_at&sort_order=desc" \
  -H "X-API-Key: your_api_key_here" \
  -H "X-API-Version: 1.3"

Obtenir des commandes spécifiques par UUID

Requête cURL
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders?order_ids=uuid1,uuid2,uuid3" \
  -H "X-API-Key: your_api_key_here" \
  -H "X-API-Version: 1.3"

Obtenir des commandes spécifiques par ID de commande Shopify

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

Rechercher des commandes

Requête cURL
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders?search=john@example.com&page=1&limit=50" \
  -H "X-API-Key: your_api_key_here" \
  -H "X-API-Version: 1.3"

Obtenir les commandes brouillon (v1.2+)

Requête cURL
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders?order_type=DRAFT&page=1&limit=25" \
  -H "X-API-Key: your_api_key_here" \
  -H "X-API-Version: 1.3"

Obtenir les commandes régulières (v1.2+)

Requête cURL
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders?order_type=REGULAR&page=1&limit=25" \
  -H "X-API-Key: your_api_key_here" \
  -H "X-API-Version: 1.3"

Obtenir toutes les commandes (v1.2+)

Requête cURL
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders?order_type=ALL&page=1&limit=25" \
  -H "X-API-Key: your_api_key_here" \
  -H "X-API-Version: 1.3"

Filtrer par flux de travail (v1.3+)

Requête cURL
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders?workflow_id=uuid-workflow-1&page=1&limit=25" \
  -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

Paramètres de requête invalides

400 Mauvaise requête
{
  "error": "Invalid query parameters",
  "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"
}

500 Erreur interne du serveur

Une erreur du serveur s'est produite

500 Erreur interne du serveur
{
  "error": "Failed to fetch orders",
  "details": {
    "message": "Error details..."
  }
}