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/ordersAuthentification
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_hereParamètres de requête
| Paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
page | number | Non | 1 | Numéro de page pour la pagination |
limit | number | Non | 25 | Résultats par page (max: 250) |
status | string | Non | - | Filtrer par ID de statut personnalisé |
order_ids | string | Non | - | 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_id | boolean | Non | false | Dé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 |
search | string | Non | - | Rechercher dans le nom de commande, nom du client, entreprise ou email |
sort_by | string | Non | created_at | Champ de tri: 'created_at' ou 'name' |
sort_order | string | Non | desc | Direction 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
| Champ | Type | Description |
|---|---|---|
orders | array | Tableau d'objets de commande |
pagination | object | Informations de pagination |
Objet de commande
| Champ | Type | Description |
|---|---|---|
id | string | Identifiant unique de la commande (UUID) |
shopify_order_id | string | ID global Shopify de la commande |
name | string | Numéro de commande (par ex., #1001) |
created_at | string | null | Horodatage ISO 8601 de création de la commande dans Shopify |
custom_status | object | null | Informations sur le statut personnalisé |
custom_sub_status | object | null | Informations sur le sous-statut personnalisé |
customer | object | Informations du client |
shipping_address | object | Informations d'adresse de livraison |
total_price | string | null | Prix total de la commande |
currency | string | null | Code de devise (par ex., USD, CAD) |
line_items | array | Tableau d'objets d'articles de ligne |
note | string | null | Note/commentaires de la commande |
cancelled | boolean | null | Indique si la commande est annulée |
cancelled_at | string | null | Horodatage ISO 8601 de l'annulation de la commande |
Champs d'objet de statut
| Champ | Type | Description |
|---|---|---|
id | string | Identifiant unique du statut personnalisé |
name | string | Nom d'affichage du statut (utilise le nom public si configuré) |
color | string | Code couleur hexadécimal du statut |
Objet de sous-statut
| Champ | Type | Description |
|---|---|---|
id | string | Identifiant unique du sous-statut |
name | string | Nom du sous-statut |
Champs d'objet client
| Champ | Type | Description |
|---|---|---|
first_name | string | null | Prénom du client |
last_name | string | null | Nom de famille du client |
email | string | null | Adresse email du client |
phone | string | null | Numéro de téléphone du client |
Champs d'objet d'adresse de livraison
| Champ | Type | Description |
|---|---|---|
company | string | null | Nom de l'entreprise |
address1 | string | null | Ligne d'adresse principale |
address2 | string | null | Ligne d'adresse secondaire |
city | string | null | Nom de la ville |
province | string | null | Code d'état/province |
zip | string | null | Code postal |
country | string | null | Nom du pays |
latitude | string | null | Coordonnée de latitude |
longitude | string | null | Coordonnée de longitude |
Champs d'objet d'article de ligne
| Champ | Type | Description |
|---|---|---|
id | string | Identifiant unique pour l'article de ligne |
shopify_line_item_id | string | ID global Shopify pour l'article de ligne |
name | string | Nom du produit |
quantity | number | Quantité commandée |
Champs d'objet de pagination
| Champ | Type | Description |
|---|---|---|
page | number | Numéro de page actuel |
limit | number | Résultats par page |
total_count | number | Nombre total de commandes correspondant à la requête |
total_pages | number | Nombre total de pages |
has_next_page | boolean | Indique s'il y a une page suivante |
has_previous_page | boolean | Indique 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 minuteX-RateLimit-Remaining-Minute: Requêtes restantes dans la minute en coursX-RateLimit-Reset-Minute: Horodatage Unix de réinitialisation de la fenêtre minuteX-RateLimit-Limit-Day: Nombre maximum de requêtes par jourX-RateLimit-Remaining-Day: Requêtes restantes dans le jour en coursX-RateLimit-Reset-Day: Horodatage Unix de réinitialisation de la fenêtre jourRetry-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..."
}
}