POST
Changer les statuts d'articles en masse
Changer le statut de plusieurs articles vers le même statut cible en une seule opération. Maximum 100 articles par requête.
Point de terminaison
Requête HTTP
POST /v1/line-items/status-bulkAuthentification
Ce point de terminaison nécessite une clé API valide avec la permission
canChangeOrderStatus . 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_hereCorps de la requête
| Paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
line_item_ids | string[] | Oui | - | Tableau d'ID d'articles internes (1–100) |
status_id | string (UUID) | Oui | - | ID du statut cible |
sub_status_option_id | string (UUID) | Conditionnel | - | Requis lorsque le statut cible a des options de sous-statut |
Réponse
Retourne la confirmation avec le nombre d'articles mis à jour:
200 OK - Réponse de succès
{
"success": true,
"data": {
"message": "3 line item(s) updated successfully",
"affected_count": 3,
"requested_count": 3
}
}200 OK - Réponse de succès partiel
{
"success": true,
"data": {
"message": "2 line item(s) updated successfully",
"affected_count": 2,
"requested_count": 3,
"invalid_line_items": [
{
"lineItemId": "li-uuid-3",
"reason": "Product chain enforcement: status must follow the configured order"
}
]
}
}Champs de réponse
Objet de réponse racine
| Champ | Type | Description |
|---|---|---|
success | boolean | Indique si l'opération a réussi |
data | object | Objet de données de réponse |
message | string | Message de confirmation |
affected_count | number | Nombre d'articles mis à jour avec succès |
requested_count | number | Nombre total d'articles demandés |
invalid_line_items | array | Tableau d'articles ayant échoué la validation (présent uniquement en cas de succès partiel) |
invalid_line_items[]
| Champ | Type | Description |
|---|---|---|
lineItemId | string | ID de l'article ayant échoué |
reason | string | Raison de l'échec |
Notes
- •Maximum 100 articles par requête.
- •Ne déclenche pas de notifications (contrairement au changement d'article individuel).
- •Les champs méta sont reconstruits pour toutes les commandes parentes affectées.
Exemples
Requête de base
Requête cURL
curl -X POST "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/line-items/status-bulk" \
-H "X-API-Key: your_api_key_here" \
-H "X-API-Version: 1.4" \
-H "Content-Type: application/json" \
-d '{
"line_item_ids": ["li-uuid-1", "li-uuid-2", "li-uuid-3"],
"status_id": "uuid-status-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 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 Requête invalide
Statut d'article non activé, validation échouée, ou tous les articles ont échoué
400 Requête invalide
{
"success": false,
"error": "Line item status changes are not enabled. Set status tracking level to \"line_item\" or \"combined\" in settings."
}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é
Statut non trouvé
404 Non trouvé
{
"error": "Status not found",
"details": {
"statusId": "uuid-status-2"
}
}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"
}
}