Introdução ao PHP com Bing Ads API
Para começar a desenvolver Bing Ads aplicações API com PHP, pode começar com os exemplos fornecidos ou seguir uma das instruções da aplicação para uma aplicação Web ou de Ambiente de Trabalho . Os exemplos foram desenvolvidos com o Bing Ads SDK PHP e executados com PHP 7.0.6. Deverá conseguir utilizar outras versões do PHP (superior a 5.6), pacotes e sistemas operativos. No entanto, determinadas partes do código e da configuração poderão ter de ser alteradas. Para obter informações sobre como configurar um ambiente de desenvolvimento PHP para utilizar serviços Web, consulte a documentação das suas ferramentas. As extensões SOAP e OpenSSL também devem ser ativadas no ficheiro PHP.ini. Ative a extensão curl para executar os exemplos de carregamento em massa.
extension=php_soap.dll
extension=php_openssl.dll
extension=php_curl.dll
Precisará de credenciais de utilizador com acesso ao Microsoft Advertising em produção ou sandbox. Para o ambiente de produção, precisará de um token de programador de produção. Todos os clientes do sandbox podem utilizar o token de programador de sandbox universal, ou seja, BBD37VB98. Para obter mais informações, veja Introdução à API Bing Ads e ao Sandbox.
Para autenticar através do OAuth, também tem de registar uma aplicação e obter o identificador de cliente correspondente. Também tem de tomar nota do segredo do cliente e redirecionar o URI se estiver a desenvolver uma aplicação Web. Para obter mais detalhes sobre como registar uma aplicação na produção e o fluxo de concessão de código de autorização, veja Authentication with OAuth and Authentication With the SDKs (Autenticação com OAuth e Autenticação com os SDKs). Apesar de, em produção, ter de utilizar o seu próprio ID de aplicação (também conhecido como ID de cliente), todos os clientes do Microsoft Advertising podem utilizar o ID de cliente público "Tutorial Sample App" no sandbox, ou seja, 00001111-aaaa-2222-bbbb-3333cccc4444. Para obter mais informações, consulte Sandbox.
Instalar o SDK
Pode instalar o Bing Ads SDK PHP com o gestor de pacotes Compositor para obter a partir do Packagist ou pode clonar a origem a partir do GitHub. Este guia descreve como pode utilizar o Composer para obter a versão mais recente do SDK PHP Bing Ads.
Transfira e instale o Composer. Os utilizadores do Microsoft Windows também devem adicionar composer.phar à variável PATH .
Abra uma linha de comandos e escreva
composer require microsoft/bingads
.Nota
Os utilizadores do Windows que não tenham adicionado composer.phar ao PATH terão de escrever
php composer.phar require microsoft/bingads
.Para obter atualizações no futuro, escreva
composer update
. Se existirem atualizações disponíveis no packagist, o compositor irá instalar a versão mais recente.
Instruções
Assim que tiver o Bing Ads SDK PHP instalado, pode navegar no Bing Ads Exemplos de Código da API, transferir os exemplos no GitHub ou seguir uma das instruções da aplicação para uma aplicação Web ou de Ambiente de Trabalho .
Utilizar o SoapVar
Para enviar um tipo complexo que herda de uma classe base, tem de codificar o objeto como uma SoapVar. No exemplo seguinte, BiddableCampaignCriterion (derivado de CampaignCriterion), LocationCriterion (derivado do Critério) e BidMultiplier (derivado de CriterionBid) estão todos codificados.
$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;
Se não codificar o CriterionBid como tipo concreto BidMultiplier, o pedido gerado SOAP é um elemento CritérioBid abstrato vazio. Isto resultará numa exceção de serialização com a mensagem "Não é possível criar uma classe abstrata".
<ns1:CriterionBid>
O objeto tem de ser codificado corretamente com o tipo complexo, por exemplo, BidMultiplier.
<ns1:CriterionBid xsi:type="ns1:BidMultiplier">
<ns1:Type xsi:nil="true" />
<ns1:Multiplier>0</ns1:Multiplier>
</ns1:CriterionBid>
A documentação de referência para cada objeto de dados especifica se o tipo complexo é ou não derivado de um tipo base, por exemplo, veja BiddableCampaignCriterion, LocationCriterion e BidMultiplier.
O WSDL também define a hierarquia, por exemplo, a seguinte definição para 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"/>
See Also
Bibliotecas de Cliente da API Bing Ads
Exemplos de Código da API do Bing Ads
Endereços do Serviço Web da API Bing Ads
Processamento de Erros e Exceções do Serviço
Sandbox