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'

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"
      },
      "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
    }
  ],
  "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

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"

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"

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"

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"

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"

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..."
  }
}