Résoudre les problèmes liés à votre flux de données

Utilisez ces règles et solutions pour tout problème de flux de données que vous pourriez rencontrer.

Afficher les suggestions de règles

Pour répertorier toutes les règles associées à un flux de données, exécutez un appel HTTP GET à :

https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_ID>/rules

Pour en savoir plus, consultez la page Règles du flux de produits, référence de l’API.

Vous pouvez obtenir des suggestions de règles de Meta pour corriger les erreurs dans votre flux de données. Pour voir les suggestions de règles pour votre session d’importation, suivez les étapes ci-dessous :

Étape 1 : récupérer les sessions d’importation

https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_ID>/uploads

Étape 2 : récupérer les erreurs des sessions d’importation

https://graph.facebook.com/<API_VERSION>/<UPLOAD_SESSION_ID>/errors

Étape 3 : récupérer les suggestions de règles pour les erreurs d’importation

curl -i -X GET 
 "https://graph.facebook.com/<API_VERSION>/<UPLOAD_ERROR_ID>/suggested_rules?access_token={ACCESS_TOKEN}

Exemple de réponse

"data": [
  
    "attribute": "description",
    "type": "letter_case_rule",
    "params": [
      
        "key": "type",
        "value": "capitalize_first"
      
    ]
  
]

Pour en savoir plus, consultez la page Suggestions de règles, référence de l’API.

Appliquer les règles aux flux de données

Pour appliquer des règles à un flux de données, vous devez associer les règles au flux de données.

Exécutez un appel HTTP POST à :

https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_ID>/rules?attribute={ATTRIBUTE}&amp;rule_type={RULE_TYPE}&amp;params={PARAMS}

Exemple

curl -i -X POST 
  -d "attribute=google_product_category" 
  -d "rule_type=mapping_rule" 
  -d "params=%7B'map_from'%3A%20'gcategory'%7D" 
  -d "access_token={ACCESS_TOKEN}" 
  "https://graph.facebook.com/<API_VERSION>/{PRODUCT_FEED_ID}/rules" 

Exemple de réponse

"id": "{RULE_ID}"

Formatez params comme suit :

Type de règle Format Exemple Remarques

Règle de mappage

"map_from": <string>

"map_from": "gavailability"

Règle de mappage de valeurs

<string> : <string>

"InStock": "in stock"

Le nombre maximum de mappages est limité à 10 et la longueur des chaînes à 20.

Règle de casse

"type": "capitalize_first", "capitalize_all", "to_upper" ou "to_lower", au choix

"type": "capitalize_first"

Pour en savoir plus, consultez la page Règles du flux de produits, référence de l’API.

Corriger les erreurs d’importation du flux avec les règles

Corrigez et prévenez les erreurs d’importation des flux de données en cours avec des règles. Vous pouvez fournir des règles que Meta appliquera à chaque importation de flux de données. Pour chaque règle, vous devez spécifier l’attribut (colonne) auquel elle s’applique, le type de règle et les paramètres. Actuellement, vous ne pouvez pas utiliser les règles avec l’API Batch. Vous pouvez fournir les types de règles suivants :

  • Règle de mappage : mappez les attributs (noms de colonnes) d’un fichier de flux de données à des attributs que nous prenons en charge.
  • Règle de mappage de valeurs : mappez les champs (valeurs des colonnes) d’un fichier de flux de données à des champs que nous prenons en charge.
  • Règle de casse : modifiez la casse des mots dans un champ. Par exemple, remplacez les descriptions en majuscules par des descriptions en minuscules.

Voici des exemples de problèmes que vous pouvez résoudre avec les règles de mappage et de mappage de valeurs :

  • Fautes de frappe dans les attributs : remplacer gavailability par availability
  • Énumération non reconnue : remplacer InStock par in stock
  • Format du prix : remplacer 45$ par 45.00 USD
  • Traduction : remplacer Condition: Neu par Condition: New

Vous pouvez utiliser la règle de casse pour résoudre ce genre de problèmes :

  • Remplacer les descriptions en majuscules comme BRAND NEW WITH LEATHER DETAIL... par Brand new with leather detail...
  • Corriger les titres en majuscules comme FACEBOOK T-SHIRT en les remplaçant par Facebook T-shirt

Mettre à jour et supprimer des règles

Pour changer une règle associée à un flux de données, exécutez un appel HTTP POST pour mettre à jour un paramètre et HTTP DELETE pour en supprimer. Seuls les paramètres peuvent être mis à jour. Si vous voulez changer attribute ou rule_type, vous devez supprimer et recréer la règle.

https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_RULE_ID>?params={PARAMS}

Pour en savoir plus, consultez la page Règles du flux de produits, référence de l’API.

Corriger les articles manquants dans un catalogue

Si le Gestionnaire des ventes signale que certains articles de votre catalogue sont manquants ou introuvables, vous pouvez être amené·e à vérifier que votre pixel ou votre application Meta ont été correctement configurés. Vous pouvez rencontrer cette erreur dans les cas suivants :

  • Le content_id inclus dans votre pixel ou votre évènement d’application ne correspond pas à l’ID dans le flux de données du catalogue.
  • Le pixel ou l’application n’est pas associé au catalogue.
  • L’article concerné n’existe pas dans le catalogue.

Pour en savoir plus, consultez cette page.

Accédez à Blueprint pour résoudre d’autres problèmes liés aux flux.

Demander un rapport d’erreur d’importation du flux de données

Publicités de catalogue Advantage+

Vous pouvez utiliser l’API Data Feed Upload Error Report afin d’obtenir un rapport d’erreur complet pour toute session d’importation du flux. Lorsque nous recevons la demande, nous travaillons en arrière-plan pour collecter ces erreurs et les stocker dans un fichier CSV.

Pour demander un rapport d’erreur complet, utilisez POST /{upload_session_id}/error_report.

Le rapport contient les informations suivantes :

  • ID du retailer de l’article qui comportait une erreur
  • Message d’erreur
  • Gravité de l’erreur (FATAL si l’erreur a entraîné le refus de l’article, WARNING si l’article a été téléchargé, mais avec une erreur)
  • Noms des champs concernés par l’erreur
  • Fonctionnalités affectées par cette erreur ; par exemple, erreurs affectant les publicités de catalogue Advantage+ qui contiennent 'da' dans cette colonne
  • Si l’erreur bloque la fonctionnalité (true/false) ; par exemple, si l’erreur empêche l’affichage de l’article sur cette plateforme

Requête

curl -i -X POST \
  -F 'access_token=ACCESS_TOKEN' \
  https://graph.intern.facebook.com/<API_VERSION>/<upload session ID>/error_report

Réponse La réponse indique si la requête a été acceptée ou non :

{
  "success": bool,
}

Commerce

Bien souvent, il suffit d’obtenir un aperçu des erreurs et avertissements pour résoudre la plupart des problèmes d’importation de flux de produits. Toutefois, la liste complète des erreurs peut être utile pour effectuer une analyse plus approfondie. Pour télécharger une liste complète des erreurs et avertissements, vous devez d’abord envoyer une requête pour la session d’importation la plus récente (consultez la section ci-dessus).

Vous pouvez demander que le rapport d’erreur complet soit généré pour un ID de session d’importation précis.

Requête

GET https://graph.facebook.com/vX.X/{upload-session-id}/?fields=error_report

Réponse

{
  "error_report": {
    "report_status": "WRITE_FINISHED",
    "file_handle": "{link-to-the-file-location}"
  },
  "id": "493476498092860"
}

Elle devrait contenir une URL que vous pouvez télécharger (par exemple, avec wget, curl, etc.). Le fichier téléchargé contiendra le rapport d’erreur complet.

Si vous obtenez l’erreur « Cannot access an object not managed by the business owning this app » (Impossible d’accéder à un objet qui n’est pas géré par l’entreprise propriétaire de cette application), vérifiez que l’application que vous utilisez appartient à l’entreprise. Pour ce faire, accédez à Paramètres de l’entreprise > Compte > Applications.

Si le rapport n’est pas prêt, réitérez le dernier appel après quelques secondes d’attente. Vous pouvez ensuite télécharger le rapport.

Obtenir le statut du rapport d’erreur

Lorsque vous avez envoyé votre demande, utilisez GET /{upload_session_id}?fields=error_report pour obtenir l’état du rapport d’erreur.

Exemple

curl -i -X GET \
 https://graph.intern.facebook.com/<API_VERSION>/<upload session ID>?fields=error_report&access_token=ACCESS_TOKEN

Réponse

{
  "error_report": {
    "report_status": string,
    "file_handle": string, // if available
  }
  "id": "332552650711532 (https://developers.intern.facebook.com/tools/explorer/690422434302374?method=GET&path=332552650711532%3Ffields%3Derror_report&version=v3.2#)"
}

Valeurs possibles : statut renvoyé


ValeurDescription

NOT_REQUESTED

Le rapport d’erreur pour cette importation du flux de données n’a pas été demandé.

REQUESTED

La demande a été reçue et est en cours de traitement.

CREATED

Le rapport a été créé et va bientôt être converti au format CSV.

WRITE_FINISHED

Le fichier du rapport a été créé et est prêt à être téléchargé.

SESSION_DATA_NOT_FOUND

Aucune donnée n’a été trouvée pour cette session d’importation de flux de données. Il est probable qu’aucun article n’ait été traité pour cette importation de flux.

ERROR_REPORT_OUTDATED

Le rapport d’erreur date de plus de 30 jours et n’est plus disponible.

FATAL_ERROR

Une erreur s’est produite de notre côté en essayant de préparer ce rapport d’erreur. Vous pouvez réessayer de demander un rapport d’erreur.

Remarque : une URL CDN utilisant ce rapport d’erreur peut être téléchargée et sera renvoyée en tant que « file_handle » lorsque le statut du rapport d’erreur (error_report) sera WRITE_FINISHED.

Gérer les erreurs d’importation du flux de produits

Publicités de catalogue Advantage+

Lisez la documentation sur les erreurs d’importation des flux de produits. Consultez également Traiter les erreurs d’importation des flux de produits, plateforme commerciale.

Requête

Pour obtenir les erreurs et avertissements concernant l’importation d’un flux de produits, vous devez d’abord envoyer une requête concernant les sessions d’importation récentes.

GET https://graph.facebook.com/vX.X/{product-feed-id}/uploads
Token: PAGE_ACCESS_TOKEN

Ensuite, vous devez utiliser upload_session_id pour récupérer les erreurs et les avertissements.

GET https://graph.facebook.com/vX.X/{upload-session-id}/errors
Token: PAGE_ACCESS_TOKEN

Exemple de réponse

Une gravité fatal indique que Meta ne peut pas intégrer l’article, tandis qu’une gravité warning signale que certains attributs recommandés sont manquants ou mal formulés.

{
  "data": [
    {
      "id": 1510567479166488,
      "summary": "A required field is missing: price.",
      "description": "Products need to have prices to run in ads. Include a price for each product in your data feed file and upload it again. Prices must include cost and an ISO currency code (for example: 10 USD instead of $10 for American dollars).",
      "severity": "fatal",
      "samples": {
        "data": [
          {
            "row_number": 2,
            "retailer_id": "yj9bpbpub5t8t22kgbq6",
            "id": "1677559492523068"
          },
          {
            "row_number": 5,
            "retailer_id": "ujn33tvbyv2vmdpo7ecb",
            "id": "1529743440653137"
          }
        ]
      }
    },
    {
      "id": 275241589314958,
      "summary": "GTIN is incorrectly formatted",
      "description": "Check that the GTIN (Global Trade Identification Number) for each of your products is in the correct format. Accepted types include UPC, EAN, JAN, and ISBN.",
      "severity": "warning",
      "samples": {
        "data": [
          {
            "row_number": 4,
            "retailer_id": "bxwb1pho9o43uxjxikcg",
            "id": "538700559625644"
          }
        ]
      }
    }
  ]
}

Commerce

Lisez la documentation sur les erreurs d’importation des flux de produits. Consultez également Comment gérer les erreurs d’importation des flux de produits, publicités de catalogue Advantage+.

Nous vous recommandons de vérifier les erreurs et les avertissements d’importation du catalogue après chaque session d’importation. Pour ce faire, accédez à la section Diagnostic de votre Gestionnaire des ventes, ou utilisez l’API Feed pour demander un aperçu des erreurs et avertissements. Commencez par envoyer une requête pour les sessions d’importation récentes.

Accédez à Blueprint pour en savoir plus sur la résolution des avertissements et des erreurs du diagnostic dans le Gestionnaire des ventes.

Requête

GET https://graph.facebook.com/vX.X/{product-feed-id}/uploads

Exemple de réponse

{
  "data": [
    {
      "id": "493476498092860",
      "start_time": "2019-07-15T12:38:36+0000",
      "end_time": "2019-07-15T12:38:47+0000"
    }
  ]
}

Ensuite, utilisez la valeur renvoyée dans le champ id pour récupérer un aperçu des erreurs et avertissements.

Requête

GET https://graph.facebook.com/vX.X/{upload-session-id}/errors

Exemple de réponse

Une gravité fatal indique que Meta ne peut pas intégrer l’article, tandis qu’une gravité warning signale que certains attributs recommandés sont manquants ou mal formulés.

{
  "data": [
    {
      "id": 1510567479166488,
      "summary": "A required field is missing: price.",
      "description": "Products need to have prices to run in ads. Include a price for each product in your data feed file and upload it again. Prices must include cost and an ISO currency code (for example: 10 USD instead of $10 for American dollars).",
      "severity": "fatal",
      "samples": {
        "data": [
          {
            "row_number": 2,
            "retailer_id": "yj9bpbpub5t8t22kgbq6",
            "id": "1677559492523068"
          },
          {
            "row_number": 5,
            "retailer_id": "ujn33tvbyv2vmdpo7ecb",
            "id": "1529743440653137"
          }
        ]
      }
    },
    {
      "id": 275241589314958,
      "summary": "GTIN is incorrectly formatted",
      "description": "Check that the GTIN (Global Trade Identification Number) for each of your products is in the correct format. Accepted types include UPC, EAN, JAN, and ISBN.",
      "severity": "warning",
      "samples": {
        "data": [
          {
            "row_number": 4,
            "retailer_id": "bxwb1pho9o43uxjxikcg",
            "id": "538700559625644"
          }
        ]
      }
    }
  ]
}