Journal des modifications de l'API (v1.2)

Suivez tous les changements apportés à l'API Ultimate Custom Order Status

Convention de nommage des versions

L'API utilise un système de versionnement à deux niveaux:

Versions majeures (basées sur l'URL)

Les versions majeures avec des changements incompatibles nécessitent un changement d'URL:

  • /api/v1/* - Version 1.x
  • /api/v2/* - Version 2.x (future)

Versions mineures (basées sur l'en-tête)

Les versions mineures avec des changements rétrocompatibles utilisent l'en-tête X-API-Version:

  • X-API-Version: 1.0 - Version 1.0 (de base, sans support des statuts complémentaires)
  • X-API-Version: 1.1 - Version 1.1 (actuelle, inclut le support des statuts complémentaires)
  • X-API-Version: 1.2 - Version 1.2 (future features)

Support

Pour des questions sur le versionnement de l'API ou une assistance pour la migration:

v1.2 - December 2025

Date de sortie: December 9, 2025

Méthode d'accès: Default (no header required) or X-API-Version: 1.2

New Features

Draft Order Filtering

Added ability to filter orders by type (regular orders, draft orders, or all). Draft orders can now be managed alongside regular orders in the API.

Affected Endpoints:

  • GET /api/v1/orders - Orders list now supports order_type query parameter (REGULAR, DRAFT, ALL)
  • GET /api/v1/orders/:order_id - Order lookup now automatically detects draft vs regular orders when using Shopify IDs

List Orders Changes

New query parameter order_type allows filtering by order type:

  • REGULAR - REGULAR - Returns only regular orders (default in v1.0/v1.1)
  • DRAFT - DRAFT - Returns only draft orders
  • ALL - ALL - Returns both regular and draft orders (default in v1.2)

Examples

Examples
# Get all orders (both regular and draft) - v1.2 default
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders?order_type=ALL" \
  -H "X-API-Key: your_api_key_here" \
  -H "X-API-Version: 1.2"

# Get only regular orders
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders?order_type=REGULAR" \
  -H "X-API-Key: your_api_key_here" \
  -H "X-API-Version: 1.2"

# Get only draft orders
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders?order_type=DRAFT" \
  -H "X-API-Key: your_api_key_here" \
  -H "X-API-Version: 1.2"

Get Order Changes

When using use_shopify_order_id=true, the API now automatically tries both regular and draft order ID formats, making integration easier.

Example: Looking Up Orders by Shopify ID
# Look up a draft order by Shopify ID - v1.2 automatically tries both formats
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders/1234567890?use_shopify_order_id=true" \
  -H "X-API-Key: your_api_key_here" \
  -H "X-API-Version: 1.2"

Holiday Skipping

Added skip_holidays flag to status max_duration configuration. When enabled, holidays will be excluded when calculating status duration deadlines, similar to the existing skip_weekends feature.

Affected Endpoints:

  • GET /api/v1/statuses - Statuses list now includes skip_holidays in max_duration object
  • GET /api/v1/statuses/:status_id - Status detail now includes skip_holidays in max_duration object

Response Changes

Status responses now include the skip_holidays field in the max_duration object:

Example Response
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "Fulfillment",
  "color": "#2948ff",
  "is_independent": false,
  "is_addon": false,
  "max_duration": {
    "enabled": true,
    "seconds": 432000,
    "skip_weekends": true,
    "skip_holidays": true,
    "show_public_overdue_date": true
  }
}

Migration Guide

  • Add X-API-Version: 1.2 header to use this version explicitly
  • The order_type parameter is optional - defaults to ALL in v1.2
  • Shopify ID lookups now work for both regular and draft orders without changes
  • The skip_holidays field is now available in status max_duration configurations
  • Fully backward compatible - existing integrations continue to work

Example Request

v1.2 Request
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders?order_type=DRAFT" \
  -H "X-API-Key: your_api_key_here" \
  -H "X-API-Version: 1.2"

Breaking Changes

None - this is a backward-compatible release. The default behavior of order_type changed from REGULAR to ALL, but this is additive (returns more data, not less).

v1.1 - Novembre 2025

Date de sortie: 14 novembre 2025

Méthode d'accès: Par défaut (aucun en-tête requis) ou X-API-Version: 1.1

Nouvelles fonctionnalités

Support des statuts complémentaires

Ajout du support des statuts complémentaires sur tous les points de terminaison liés aux commandes. Les statuts complémentaires peuvent être assignés en plus des statuts principaux.

Points de terminaison affectés:

  • GET /api/v1/orders - La liste des commandes inclut maintenant un tableau addon_statuses lorsque l'en-tête X-API-Version: 1.1 est présent
  • GET /api/v1/orders/:order_id - Le détail de la commande inclut maintenant un tableau addon_statuses lorsque l'en-tête X-API-Version: 1.1 est présent
  • GET /api/v1/statuses - La liste des statuts inclut maintenant un indicateur is_addon lorsque l'en-tête X-API-Version: 1.1 est présent

Changements de réponse

Les commandes incluent maintenant un champ addon_statuses avec support optionnel des sous-statuts:

Changements de réponse
{
  "id": "uuid",
  "status": {
    "id": "status-uuid",
    "name": "Processing",
    "color": "#2948ff"
  },
  "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
    }
  ]
}

Les statuts incluent maintenant des indicateurs de classification:

Classification des statuts
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "Processing",
  "is_independent": false,
  "is_addon": false
}

Guide de migration

  • No code changes required - fully backward compatible
  • Pour accéder aux données des statuts complémentaires, ajoutez l'en-tête X-API-Version: 1.1 à vos requêtes
  • Les requêtes sans en-tête continuent de retourner le format v1.0
  • No changes required to authentication or rate limiting

Exemple de requête:

v1.1 Request
curl -X GET 'https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/orders' \
  -H 'Authorization: Bearer ucos_live_your_api_key' \
  -H 'X-API-Version: 1.1'

Breaking Changes

None - this is a backward-compatible release.

v1.0 - Version initiale

Date de sortie: Octobre 2025

Méthode d'accès: Ajoutez l'en-tête X-API-Version: 1.0 aux requêtes

Fonctionnalités

  • Liste des commandes avec pagination, filtrage et recherche
  • Récupération des détails de commande
  • Liste des statuts avec support des sous-statuts
  • Mises à jour des statuts de commande
  • Support des opérations en masse
  • Déclenchement de notifications

Points de terminaison disponibles:

  • GET /api/v1/orders
  • GET /api/v1/orders/:order_id
  • POST /api/v1/orders/:order_id/status
  • POST /api/v1/orders/status-bulk
  • GET /api/v1/statuses
  • GET /api/v1/statuses/:status_id
  • POST /api/v1/orders/:order_id/notify
  • POST /api/v1/orders/notify-bulk

Notes:

N'inclut pas le support des statuts complémentaires