Agent API et services externes

Référence de l’API REST FoxDesk : authentification par jetons Bearer et gestion programmatique des tickets, utilisateurs et entrées de temps via HTTP.

Authentification

Ouvrez Paramètres → Équipe et accès → Agents IA pour créer un agent IA géré, ou Paramètres → API et agents pour créer une clé limitée pour un utilisateur existant. Copiez le jeton une seule fois, stockez-le en dehors du dépôt source et envoyez les requêtes uniquement via HTTPS.

L’API évalue à la fois les portées du jeton et les autorisations de l’utilisateur qui le possède. Un jeton ne peut pas lire ou modifier les tickets auxquels son propriétaire n’a pas accès.

Au début de chaque session d’intégration

  1. GET index.php?page=api&action=agent-docs: chargez les instructions et contrats de requête correspondant à la version.
  2. GET index.php?page=api&action=agent-me: vérifiez l’identité, les autorisations et les portées du jeton.

N’utilisez pas le jeton sur la page de connexion du navigateur. Les requêtes d’agent utilisent la route canonique index.php?page=api&action=agent-*.

Points de terminaison courants

  • GET agent-list-tickets: lister et rechercher les tickets visibles.
  • GET agent-get-ticket: charger un ticket visible et sa chronologie.
  • POST agent-create-ticket: créer un ticket.
  • POST agent-add-update: ajouter un commentaire public ou une note interne sans temps.
  • POST agent-add-work-entry: ajouter atomiquement un commentaire et une entrée de temps liée.
  • POST agent-plan-work-log et agent-apply-work-log-plan: prévisualiser puis confirmer un journal de travail structuré.
  • POST agent-update-status: modifier le statut d’un ticket.
  • POST agent-log-time: ajouter une entrée de temps autonome.

La liste complète des points de terminaison, des champs et des contraintes actuelles provient de agent-docs ; n’intégrez pas un ancien schéma de requête.

Exemple de requête

FOXDESK_BASE_URL=https://helpdesk.example.com
FOXDESK_API_TOKEN=fdx_replace_with_token_from_settings

curl -fsS -X POST \
  "$FOXDESK_BASE_URL/index.php?page=api&action=agent-add-update" \
  -H "Authorization: Bearer $FOXDESK_API_TOKEN" \
  -H "Idempotency-Key: comment-ticket-542-20260729-01" \
  -H "Content-Type: application/json" \
  --data '{
    "ticket_id": 542,
    "content": "The nightly backup completed successfully.",
    "is_internal": true
  }'

Utilisez une clé Idempotency-Key unique pour chaque requête d’écriture. Commencez avec des portées en lecture seule, ajoutez des droits d’écriture uniquement pour le workflow prévu et utilisez le flux planifier/appliquer lorsqu’un utilisateur demande un journal de travail structuré.