Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.devin.ai/llms.txt

Use this file to discover all available pages before exploring further.

Vue d’ensemble

L’Analytics API renvoie des messages d’erreur détaillés pour faciliter le débogage des requêtes non valides. Cette page présente les scénarios d’erreur courants et explique comment les résoudre.

Format de la réponse d’erreur

Lorsqu’une erreur se produit, l’API renvoie une réponse d’erreur accompagnée d’un message descriptif :
{
  "error": "Error message describing what went wrong"
}

Erreurs courantes

Erreurs d’authentification

Erreur : Invalid service keyCause : La clé de service fournie n’est pas valide ou a été révoquée.Solution :
  • Vérifiez que votre clé de service est correcte
  • Vérifiez que la clé de service n’a pas été révoquée
  • Générez une nouvelle clé de service si nécessaire
Erreur : Insufficient permissionsCause : La clé de service ne dispose pas des autorisations requises pour l’endpoint que vous appelez.Solution :
  • Mettez à jour les autorisations de la clé de service dans Team Settings
  • Consultez l’introduction à l’API pour connaître l’autorisation spécifique requise pour chaque endpoint

Erreurs de structure des requêtes

Erreur : at least one field or aggregation is requiredCause : La requête ne contient aucune sélection ni agrégation.Solution : Ajoutez au moins une sélection à votre requête :
"selections": [
  {
    "field": "num_acceptances",
    "aggregation_function": "QUERY_AGGREGATION_SUM"
  }
]
Erreur : invalid query table: QUERY_DATA_SOURCE_UNSPECIFIEDCause : Il y a probablement une faute de frappe dans le champ data_source.Solution : Vérifiez l’orthographe de votre source de données. Options valides :
  • QUERY_DATA_SOURCE_USER_DATA
  • QUERY_DATA_SOURCE_CHAT_DATA
  • QUERY_DATA_SOURCE_COMMAND_DATA
  • QUERY_DATA_SOURCE_PCW_DATA
Erreur : all selection fields should have an aggregation function, or none of them shouldCause : Certaines sélections ont une fonction d’agrégation, tandis que d’autres n’en ont pas.Solution : Soit ajoutez des fonctions d’agrégation à toutes les sélections, soit supprimez-les de toutes :Non valide :
"selections": [
  {
    "field": "num_acceptances",
    "aggregation_function": "QUERY_AGGREGATION_SUM"
  },
  {
    "field": "num_lines_accepted",
    "aggregation_function": "QUERY_AGGREGATION_UNSPECIFIED"
  }
]
Valide :
"selections": [
  {
    "field": "num_acceptances",
    "aggregation_function": "QUERY_AGGREGATION_SUM"
  },
  {
    "field": "num_lines_accepted",
    "aggregation_function": "QUERY_AGGREGATION_SUM"
  }
]

Erreurs de champ et d’agrégation

Erreur : invalid aggregation function for string type field ide: QUERY_AGGREGATION_SUMCause : La fonction d’agrégation n’est pas prise en charge pour le type de champ spécifié.Solution : Consultez la section Champs disponibles pour voir quelles fonctions d’agrégation sont valides pour chaque champ. Les champs de type chaîne prennent généralement uniquement en charge COUNT et UNSPECIFIED.
Erreur : tried to aggregate on a distinct field: distinct_developer_days. Consider aggregating on the non-distinct fields instead: [api_key date]Cause : Les champs qui suivent le motif distinct_* ne peuvent pas être utilisés dans la section des agrégations.Solution : Utilisez les champs alternatifs suggérés pour l’agrégation :Non valide :
"aggregations": [
  {
    "field": "distinct_developer_days",
    "name": "distinct_developer_days"
  }
]
Valide :
"aggregations": [
  {
    "field": "api_key",
    "name": "api_key"
  },
  {
    "field": "date",
    "name": "date"
  }
]
Erreur : duplicate field alias for selection/aggregation: num_acceptancesCause : Plusieurs sélections ou agrégations portent le même nom.Solution : Assurez-vous que tous les alias de champ sont uniques. N’oubliez pas que si aucun nom n’est spécifié, le nom par défaut est {aggregation_function}_{field_name}.

Erreurs de filtrage des données

Erreur : invalid group name: GroupNameCause : Le nom de groupe indiqué n’existe pas dans votre organisation.Solution :
  • Vérifiez à nouveau l’orthographe du nom du groupe
  • Vérifiez que le groupe existe dans vos Team Settings
  • Utilisez le nom exact du groupe tel qu’il apparaît dans le tableau de bord de votre Team
Erreur : invalid timestamp formatCause : L’horodatage n’est pas au format RFC 3339 correct.Solution : Utilisez le format d’horodatage correct :
2023-01-01T00:00:00Z
Exemples valides :
  • 2024-01-01T00:00:00Z
  • 2024-12-31T23:59:59Z
  • 2024-06-15T12:30:45Z
Erreur : Cannot use both group_name and emails parametersCause : Les paramètres group_name et emails ont tous les deux été fournis dans une requête Cascade Analytics.Solution : Utilisez soit group_name, soit emails, mais pas les deux :Invalide :
{
  "group_name": "engineering",
  "emails": ["user@example.com"]
}
Valide :
{
  "group_name": "engineering"
}
Ou :
{
  "emails": ["user@example.com", "user2@example.com"]
}

Limitation du taux de requêtes

Erreur : 429 Too Many RequestsCause : Vous avez dépassé la limite de requêtes de l’API.Solution :
  • Attendez avant d’envoyer d’autres requêtes
  • Implémentez un backoff exponentiel dans votre client
  • Envisagez de regrouper plusieurs requêtes en une seule lorsque c’est possible
  • Contactez le support si vous avez besoin de limites de requêtes plus élevées

Conseils de débogage

1. Commencez simplement

Commencez par des requêtes simples et augmentez progressivement la complexité :
{
  "service_key": "your_key",
  "query_requests": [
    {
      "data_source": "QUERY_DATA_SOURCE_USER_DATA",
      "selections": [
        {
          "field": "num_acceptances",
          "aggregation_function": "QUERY_AGGREGATION_COUNT"
        }
      ]
    }
  ]
}

2. Vérifiez les noms des champs

Vérifiez les noms des champs dans la documentation des champs disponibles.

3. Vérifiez la compatibilité des agrégations

Assurez-vous que vos fonctions d’agrégation sont compatibles avec les types de champs que vous sélectionnez.

4. Testez les filtres séparément

Si votre requête ne renvoie pas les résultats attendus, essayez de retirer les filtres un par un pour isoler le problème.

5. Utilisez une mise en forme JSON correcte

Veillez à ce que votre JSON soit correctement formaté et que toutes les chaînes soient correctement délimitées par des guillemets.

Obtenir de l’aide

Si vous continuez à rencontrer des problèmes :
  1. Vérifiez attentivement le message d’erreur - La plupart des erreurs incluent des indications précises sur la manière de corriger le problème
  2. Consultez les exemples - Comparez la structure de votre requête avec les exemples fonctionnels de la documentation
  3. Contactez l’assistance - Contactez l’assistance Devin Desktop en joignant votre message d’erreur spécifique et votre requête

Notes sur les versions de l’API

La gestion des erreurs et la validation ont été améliorées à partir de la version 1.10.0 de l’API. Si vous utilisez une version antérieure, envisagez de la mettre à jour pour obtenir des messages d’erreur plus détaillés.