POST

Changer le statut d'article

Changer le statut d'un article individuel. Déclenche les notifications lorsqu'elles sont configurées sur le statut cible.

Point de terminaison

Requête HTTP
POST /v1/line-items/:lineItemId/status

Authentification

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_here

Paramètres d'URL

ParamètreTypeRequisDéfautDescription
lineItemIdstring (UUID)Oui-ID interne de l'article (SyncedLineItem.id)

Corps de la requête

ParamètreTypeRequisDéfautDescription
status_idstring (UUID)Oui-ID du statut cible
sub_status_option_idstring (UUID)Conditionnel-Requis lorsque le statut cible a un groupe de sous-statuts avec des options

Réponse

Retourne la confirmation avec le statut d'article mis à jour:
200 OK - Réponse de succès
{
  "success": true,
  "data": {
    "message": "Line item status updated successfully",
    "line_item": {
      "id": "li-uuid-123",
      "status": {
        "id": "uuid-status-1",
        "name": "In Production",
        "color": "#FFA500"
      },
      "sub_status": {
        "id": "uuid-substatus-1",
        "name": "Cutting"
      }
    }
  }
}

Champs de réponse

Objet de réponse racine

ChampTypeDescription
successbooleanIndique si l'opération a réussi
dataobjectObjet de données de réponse
messagestringMessage de confirmation
line_itemobjectObjet d'article mis à jour

line_item

ChampTypeDescription
idstringID interne de l'article
statusobjectObjet de statut actuel
sub_statusobject | nullObjet de sous-statut actuel, ou null

status / sub_status

ChampTypeDescription
idstringIdentifiant du statut
namestringNom d'affichage du statut
colorstringCode couleur hexadécimal du statut

Exemples

Requête de base

Requête cURL
curl -X POST "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/line-items/li-uuid-123/status" \
  -H "X-API-Key: your_api_key_here" \
  -H "X-API-Version: 1.4" \
  -H "Content-Type: application/json" \
  -d '{
    "status_id": "uuid-status-1",
    "sub_status_option_id": "uuid-substatus-1"
  }'

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 Requête invalide

Statut d'article non activé, validation échouée, ou violation de la chaîne de produits

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é

Article, statut ou sous-statut non trouvé

404 Non trouvé
{
  "error": "Line item not found",
  "details": {
    "lineItemId": "li-uuid-123"
  }
}

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