0

Dans Business Manager, chaque annonce principale Facebook est associée à un formulaire de leadgen (chaque fois que je crée une annonce, je crée également un nouveau formulaire). Il devrait donc être possible de récupérer le formulaire leadgen attaché à une annonce. Je sais que je peux obtenir toutes les formes leadgen via un lien graphique et un jeton de page, mais cela ne suffira pas car il n'y a aucun moyen de déterminer quelle forme est connectée à quelle annonce.Est-il possible d'obtenir le formulaire leadgen (associé à une annonce) à partir d'un objet d'annonce?

Cela dit, voici la réponse que je reçois en questionnant pour les annonces dans un compte de l'annonce:

[data:protected] => Array 
    (
     [account_id] => 
     [ad_review_feedback] => 
     [adlabels] => 
     [adset] => Array 
      (
       [id] => 123123123123123 
      ) 

     [adset_id] => 123123123123123 
     [bid_amount] => 
     [bid_info] => 
     [bid_type] => ABSOLUTE_OCPM 
     [campaign] => Array 
      (
       [id] => 123123123123123 
      ) 

     [campaign_id] => 123123123123123 
     [configured_status] => ACTIVE 
     [conversion_specs] => Array 
      (
       [0] => Array 
        (
         [action.type] => Array 
          (
           [0] => leadgen 
          ) 

         [leadgen] => Array 
          (
           [0] => 123123123123442 
          ) 

        ) 

      ) 

     [created_time] => 2017-04-10T16:40:00-0400 
     [creative] => Array 
      (
       [id] => 123123123123123 
      ) 

     [effective_status] => CAMPAIGN_PAUSED 
     [id] => 12312312312312312 
     [last_updated_by_app_id] => 123123123123123 
     [name] => My Ad 
     [recommendations] => Array 
      (
       [0] => Array 
        (
         [title] => Creative Is Not Eligible For Instagram 
         [message] => Creative is not eligible for Instagram. Your ad will still be eligible to show in other placements. Instagram feed video duration can not be longer than 60 seconds. 
         [code] => 1942020 
         [importance] => HIGH 
         [confidence] => HIGH 
         [blame_field] => creative 
        ) 

      ) 

     [status] => ACTIVE 
     [tracking_specs] => Array 
      (
       [0] => Array 
        (
         [action.type] => Array 
          (
           [0] => post_engagement 
          ) 

         [page] => Array 
          (
           [0] => 123123123123123 
          ) 

         [post] => Array 
          (
           [0] => 123123123123123 
          ) 

        ) 

       [1] => Array 
        (
         [action.type] => Array 
          (
           [0] => link_click 
          ) 

         [post] => Array 
          (
           [0] => 123123123123123 
          ) 

         [post.wall] => Array 
          (
           [0] => 123123123123123 
          ) 

        ) 

      ) 

     [updated_time] => 2017-04-10T16:40:53-0400 
     [date_format] => 
     [display_sequence] => 0 
     [execution_options] => 
     [redownload] => 
     [filename] => 
    ) 

C'est mon objet d'annonces, de ce que je peux obtenir beaucoup de choses, la création de l'annonce, le compte de l'annonce , la campagne, l'Adset, etc ... Ce serait génial si je peux obtenir le lien ou l'identifiant du formulaire leadgen quelque part dans l'un d'entre eux! La chose qui m'a le plus troublé, c'est que je pensais que le tableau leadgen dans la réponse ci-dessus était l'ID de formulaire dont j'avais besoin, mais il semble être le même ID pour chaque objet d'annonce que j'ai interrogé. savoir quel ID c'est (pas un ID de formulaire).

Toute aide est appréciée.

MISE À JOUR:

En creusant à travers Facebook à la recherche de quelque chose sans rapport, je suis tombé sur ceci:

$ad = new Ad(<AD_ID>); 
$leads = $ad->getLeads(); 

Je pensais, ce qui suit pourrait fonctionner:

// My Ad Object 
    $ads = $account->getAds(array(
     AdFields::AD_REVIEW_FEEDBACK, 
     AdFields::ADLABELS, 
     AdFields::ADSET, 
     AdFields::ADSET_ID, 
     AdFields::BID_AMOUNT, 
     AdFields::BID_INFO, 
     AdFields::BID_TYPE, 
     AdFields::CAMPAIGN, 
     AdFields::CAMPAIGN_ID, 
     AdFields::CONFIGURED_STATUS, 
     AdFields::CONVERSION_SPECS, 
     AdFields::CREATED_TIME, 
     AdFields::CREATIVE, 
     AdFields::EFFECTIVE_STATUS, 
     AdFields::LAST_UPDATED_BY_APP_ID, 
     AdFields::NAME, 
     AdFields::RECOMMENDATIONS, 
     AdFields::STATUS, 
     AdFields::TRACKING_SPECS, 
     AdFields::UPDATED_TIME, 
     AdFields::DATE_FORMAT, 
     AdFields::DISPLAY_SEQUENCE, 
     AdFields::EXECUTION_OPTIONS, 
     AdFields::REDOWNLOAD, 
     AdFields::FILENAME 
     )); 

    foreach ($ads as $ad) { 
     print_r($ad->getLeads(array(
      LeadFields::AD_ID, 
      LeadFields::AD_NAME, 
      LeadFields::ADSET_ID, 
      LeadFields::ADSET_NAME, 
      LeadFields::CAMPAIGN_ID, 
      LeadFields::CAMPAIGN_NAME, 
      LeadFields::CREATED_TIME, 
      LeadFields::CUSTOM_DISCLAIMER_RESPONSES, 
      LeadFields::FIELD_DATA, 
      LeadFields::FORM_ID, 
      LeadFields::ID, 
      LeadFields::IS_ORGANIC, 
      LeadFields::POST 
      ))); 

Cependant , Je reçois chacun des champs Ad là-haut, mais je ne reçois aucun des champs de l'objet principal

Répondre

0

On dirait qu'il n'y a aucun moyen aujourd'hui d'obtenir une forme de leadgen à partir d'une annonce en plus de la méthode getLeads() que j'ai mentionnée ci-dessus; ce qui fonctionne bien, sauf que cela ne ferait que retourner quelque chose s'il y avait des pistes sur cette forme. S'il n'y a pas de prospects (ce qui n'est généralement pas le cas si la campagne n'a pas été lancée, etc.) ... Il n'existe actuellement aucun moyen de déterminer quelle forme est connectée à une publicité via une API.