Prise en main de PHP avec l’API Bing Ads

Pour commencer à développer des applications API Bing Ads avec PHP, vous pouvez commencer avec les exemples fournis ou suivre l’une des procédures pas à pas pour une application web ou de bureau . Les exemples ont été développés avec le Kit de développement logiciel (SDK) PHP Bing Ads et exécutés avec PHP 7.0.6. Vous devez être en mesure d’utiliser d’autres versions de PHP (supérieures à 5.6), des packages et des systèmes d’exploitation. Toutefois, certaines parties du code et de la configuration doivent peut-être être modifiées. Pour plus d’informations sur la configuration d’un environnement de développement PHP pour utiliser des services web, consultez la documentation de vos outils. Les extensions SOAP et OpenSSL doivent également être activées dans le fichier PHP.ini. Activez l’extension curl pour exécuter les exemples de chargement en bloc.

extension=php_soap.dll
extension=php_openssl.dll
extension=php_curl.dll

Vous aurez besoin d’informations d’identification utilisateur ayant accès à Microsoft Advertising en production ou en bac à sable. Pour l’environnement de production, vous aurez besoin d’un jeton de développeur de production. Tous les clients de bac à sable peuvent utiliser le jeton de développeur de bac à sable universel, c’est-à-dire BBD37VB98. Pour plus d’informations, consultez Prise en main de l’API Bing Ads et du bac à sable.

Pour vous authentifier via OAuth, vous devez également inscrire une application et obtenir l’identificateur client correspondant. Vous devez également prendre note de la clé secrète client et de l’URI de redirection si vous développez une application web. Pour plus d’informations sur l’inscription d’une application en production et sur le flux d’octroi du code d’autorisation, consultez Authentification avec OAuth et Authentification avec les KITS de développement logiciel (SDK). Bien qu’en production, vous deviez utiliser votre propre ID d’application (également nommé ID client), tous les clients Microsoft Advertising peuvent utiliser l’ID client public « Tutorial Sample App » dans le bac à sable, c’est-à-dire 4c0b021c-00c3-4508-838f-d3127e8167ff. Pour plus d’informations, consultez Bac à sable.

Installer le kit de développement logiciel (SDK)

Vous pouvez installer le Kit de développement logiciel (SDK) PHP Bing Ads à l’aide du gestionnaire de package Composer pour extraire à partir de Packagist, ou vous pouvez cloner la source à partir de GitHub. Ce guide explique comment utiliser Composer pour obtenir la dernière version du Kit de développement logiciel (SDK) PHP Bing Ads.

  1. Téléchargez et installez Composer. Les utilisateurs de Microsoft Windows doivent également ajouter composer.phar à votre variable PATH .

  2. Ouvrez une invite de commandes et tapez composer require microsoft/bingads.

    Remarque

    Les utilisateurs Windows qui n’ont pas ajouté composer.phar à path devront taper php composer.phar require microsoft/bingads à la place.

  3. Pour obtenir les mises à jour à l’avenir, tapez composer update. Si des mises à jour sont disponibles sur packagist, composer installera la dernière version.

Procédures pas à pas

Une fois que vous avez installé le Kit de développement logiciel (SDK) PHP Bing Ads, vous pouvez parcourir les exemples de code de l’API Bing Ads, télécharger les exemples sur GitHub ou suivre l’une des procédures pas à pas pour une application web ou de bureau .

Utilisation de SoapVar

Pour envoyer un type complexe qui hérite d’une classe de base, vous devez encoder l’objet en tant que SoapVar. Dans l’exemple suivant, biddableCampaignCriterion (dérivé de CampaignCriterion), LocationCriterion (dérivé de Criterion) et BidMultiplier (dérivé de CriterionBid) sont tous encodés.

$campaignCriterions = array();

$locationBiddableCampaignCriterion = new BiddableCampaignCriterion();
$locationBiddableCampaignCriterion->CampaignId = $campaignId;
$locationCriterion = new LocationCriterion();
$locationCriterion->LocationId = 190;
$encodedLocationCriterion = new SoapVar($locationCriterion, SOAP_ENC_OBJECT, 'LocationCriterion', $GLOBALS['CampaignProxy']->GetNamespace());
$locationBiddableCampaignCriterion->Criterion = $encodedLocationCriterion;
$bidMultiplier = new BidMultiplier();
$bidMultiplier->Multiplier = 0;
$encodedBidMultiplier = new SoapVar($bidMultiplier, SOAP_ENC_OBJECT, 'BidMultiplier', $GLOBALS['CampaignProxy']->GetNamespace());
$locationBiddableCampaignCriterion->CriterionBid = $encodedBidMultiplier;

$encodedCriterion = new SoapVar($locationBiddableCampaignCriterion, SOAP_ENC_OBJECT, 'BiddableCampaignCriterion', $GLOBALS['CampaignProxy']->GetNamespace());
$campaignCriterions[] = $encodedCriterion;

Si vous n’encodez pas criterionBid en tant que type concret BidMultiplier, la requête SOAP générée est un élément CriterionBid abstrait vide. Cela entraîne une exception de sérialisation avec le message « Impossible de créer une classe abstraite ».

<ns1:CriterionBid>

L’objet doit être correctement encodé avec le type complexe, par exemple BidMultiplier.

<ns1:CriterionBid xsi:type="ns1:BidMultiplier">
    <ns1:Type xsi:nil="true" />
    <ns1:Multiplier>0</ns1:Multiplier>
</ns1:CriterionBid>

La documentation de référence pour chaque objet de données spécifie si le type complexe est dérivé d’un type de base, par exemple, voir BiddableCampaignCriterion, LocationCriterion et BidMultiplierer.

Le WSDL définit également la hiérarchie, par exemple, la définition suivante pour BidMultiplier.

<xs:complexType name="BidMultiplier">
  <xs:complexContent mixed="false">
    <xs:extension base="tns:CriterionBid">
      <xs:sequence>
        <xs:element minOccurs="0" name="Multiplier" type="xs:double"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
<xs:element name="BidMultiplier" nillable="true" type="tns:BidMultiplier"/>

Voir aussi

Bibliothèques clientes de l’API Bing Ads
Exemples de code de l’API Bing Ads
Adresses du service web de l’API Bing Ads
Gestion des erreurs et des exceptions de service
Bac à sable