Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use a a API de promoções da Microsoft Store para gerenciar programaticamente campanhas publicitárias promocionais para aplicativos registrados na conta do Partner Center da sua organização. Essa API permite que você crie, atualize e monitore suas campanhas e outros ativos relacionados, como direcionamento e criação. Essa API é especialmente útil para desenvolvedores que criam grandes volumes de campanhas e que desejam fazê-lo sem usar o Partner Center. Essa API usa o Azure AD (Azure Active Directory) para autenticar as chamadas de seu aplicativo ou serviço.
As etapas a seguir descrevem o processo de ponta a ponta:
- Certifique-se de que você concluiu todos os pré-requisitos.
- Antes de chamar um método na API de promoções da Microsoft Store, obtenha um token de acesso do Azure AD. Depois de obter um token, você terá 60 minutos para usar esse token em chamadas à API de promoções da Microsoft Store antes que o token expire. Depois que o token expirar, você poderá gerar um novo token.
- Chame a API de promoções da Microsoft Store.
Como alternativa, você pode criar e gerenciar campanhas publicitárias usando o Partner Center e todas as campanhas publicitárias criadas programaticamente por meio da API de promoções da Microsoft Store também podem ser acessadas no Partner Center. Para obter mais informações sobre como gerenciar campanhas publicitárias no Partner Center, consulte Criar uma campanha publicitária para seu aplicativo.
Observação
Qualquer desenvolvedor com uma conta do Partner Center pode usar a API de promoções da Microsoft Store para gerenciar campanhas publicitárias para seus aplicativos. As agências de mídia também podem solicitar acesso a essa API para executar campanhas publicitárias em nome de seus anunciantes. Se você for uma agência de mídia que deseja saber mais sobre essa API ou solicitar acesso a ela, envie sua solicitação para storepromotionsapi@microsoft.com.
Etapa 1: Concluir pré-requisitos para usar a API de promoções da Microsoft Store
Antes de começar a escrever código para chamar a API de promoções da Microsoft Store, verifique se você concluiu os pré-requisitos a seguir.
Antes de conseguir criar e iniciar uma campanha publicitária usando esta API, você deve primeiro criar uma campanha publicitária paga usando a página de campanhas publicitárias no Partner Center, e deve adicionar pelo menos um instrumento de pagamento nesta página. Depois de fazer isso, você poderá criar com êxito linhas de entrega faturáveis para campanhas publicitárias usando essa API. As linhas de entrega para campanhas publicitárias criadas usando esta API cobrarão automaticamente o instrumento de pagamento padrão escolhido na página de campanhas do Anúncio no Partner Center.
Você (ou sua organização) deve ter um diretório do Azure AD e deve ter permissão de administrador global para o diretório. Se você já usa o Microsoft 365 ou outros serviços empresariais da Microsoft, já tem o diretório do Azure AD. Caso contrário, você pode criar um novo Azure AD no Partner Center sem custo adicional.
Você deve associar um aplicativo do Azure AD à sua conta do Partner Center, recuperar a ID do locatário e a ID do cliente para o aplicativo e gerar uma chave. O aplicativo do Azure AD representa o aplicativo ou serviço do qual você deseja chamar a API de promoções da Microsoft Store. Você precisa da ID do locatário, da ID do cliente e da chave para obter um token de acesso do Azure AD que você passa para a API.
Observação
Você só precisa executar essa tarefa uma vez. Depois de ter a ID do locatário, a ID do cliente e a chave, você poderá reutilizá-los sempre que precisar criar um novo token de acesso do Azure AD.
Para associar um aplicativo do Azure AD à sua conta do Partner Center e recuperar os valores necessários:
No Partner Center, associe sua conta do Partner Center ao diretório do Azure AD da sua organização.
Em seguida, na página usuários do
na seção de configurações da Conta do Partner Center, adicione o aplicativo do Azure AD que representa o aplicativo ou serviço que você usará para gerenciar campanhas de promoção para sua conta do Partner Center. Certifique-se de atribuir a este aplicativo a função de Gerenciador . Se o aplicativo ainda não existir no diretório do Azure AD, você poderá criar um novo aplicativo do Azure AD no Partner Center.Retorne à página Usuários, clique no nome do aplicativo do Azure AD para acessar as configurações do aplicativo e copie os valores de ID do Locatário e ID do Cliente.
Clique em Adicionar nova chave. Na tela a seguir, anote o valor da chave . Você não poderá acessar essas informações novamente depois de sair desta página. Para obter mais informações, consulte Gerenciar chaves para um aplicativo do Azure AD.
Etapa 2: Obter um token de acesso do Azure AD
Antes de chamar qualquer um dos métodos na API de promoções da Microsoft Store, primeiro você deve obter um token de acesso do Azure AD que você passa para o cabeçalho de Autorização de cada método na API. Depois de obter um token de acesso, você terá 60 minutos para usá-lo antes que ele expire. Depois que o token expirar, você poderá atualizar o token para poder continuar a usá-lo em outras chamadas à API.
Para obter o token de acesso, siga as instruções em Chamadas de Serviço para Serviço usando Credenciais de Cliente para enviar um HTTP POST para o endpoint https://login.microsoftonline.com/<tenant_id>/oauth2/token. Aqui está uma solicitação de exemplo.
POST https://login.microsoftonline.com/<tenant_id>/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded; charset=utf-8
grant_type=client_credentials
&client_id=<your_client_id>
&client_secret=<your_client_secret>
&resource=https://manage.devcenter.microsoft.com
Para o valor tenant_id no URI POST e os parâmetros client_id e client_secret, especifique a ID do locatário, a ID do cliente e a chave do aplicativo que você recuperou do Partner Center na seção anterior. Para o parâmetro do recurso
Depois que o token de acesso expirar, você poderá atualizá-lo seguindo as instruções aqui.
Etapa 3: Chamar a API de promoções da Microsoft Store
Depois de ter um token de acesso do Azure AD, você estará pronto para chamar a API de promoções da Microsoft Store. Você deve passar o token de acesso para o cabeçalho de autorização de cada método.
No contexto da API de promoções da Microsoft Store, uma campanha publicitária consiste em um objeto de campanha
Para obter mais informações sobre esses objetos e seus métodos relacionados, consulte a tabela a seguir.
| Objeto | Descrição |
|---|---|
| Campanhas | Esse objeto representa a campanha publicitária e está na parte superior da hierarquia do modelo de objeto para campanhas publicitárias. Esse objeto identifica o tipo de campanha que você está executando (paga, casa ou comunidade), o objetivo da campanha, as linhas de veiculação da campanha e outros detalhes. Cada campanha pode ser associada a apenas um aplicativo. Para obter mais informações sobre os métodos relacionados a esse objeto, consulte Gerenciar campanhas publicitárias. Observação Depois de criar uma campanha publicitária, você pode recuperar os dados de desempenho da campanha usando o método Get ad campaign performance data na API de análise da Microsoft Store . |
| Linhas de entrega | Cada campanha tem uma ou mais linhas de entrega que são usadas para comprar inventário e entregar seus anúncios. Para cada linha de entrega, você pode definir a segmentação, definir o preço do lance e decidir quanto deseja gastar definindo um orçamento e vinculando-se aos criativos que deseja usar. Para obter mais informações sobre os métodos relacionados a esse objeto, consulte Gerenciar linhas de entrega para campanhas publicitárias. |
| Direcionamento de perfis | Cada linha de entrega tem um perfil de direcionamento que especifica os usuários, geografias e tipos de inventário que você deseja direcionar. Perfis de destino podem ser criados como um modelo e compartilhados entre linhas de entrega. Para obter mais informações sobre os métodos relacionados a esse objeto, consulte Gerenciar perfis de direcionamento para campanhas publicitárias. |
| Criativos | Cada linha de entrega tem um ou mais anúncios criativos que representam os anúncios que são mostrados aos clientes como parte da campanha. Um criativo pode estar associado a uma ou mais linhas de entrega, mesmo em campanhas publicitárias, desde que sempre represente o mesmo aplicativo. Para obter mais informações sobre os métodos relacionados a esse objeto, consulte Gerenciar criativos para campanhas publicitárias. |
O diagrama a seguir ilustra a relação entre campanhas, linhas de entrega, perfis de destino e criativos.
hierarquia da campanha publicitária
Exemplo de código
O exemplo de código a seguir demonstra como obter um token de acesso do Azure AD e chamar a API de promoções da Microsoft Store de um aplicativo de console C#. Para usar este exemplo de código, atribua as variáveis tenantId, clientId, clientSecret e appID aos valores apropriados para seu cenário. Este exemplo requer o pacote Json.NET da Newtonsoft para desserializar os dados JSON retornados pela API de promoções da Microsoft Store.
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
namespace TestPromotionsAPI
{
class Program
{
static void Main(string[] args)
{
string tenantId = "<your tenant ID>";
string clientId = "<your client ID>";
string clientSecret = "<your secret>";
string scope = "https://manage.devcenter.microsoft.com";
// Retrieve an Azure AD access token
string accessToken = GetClientCredentialAccessToken(
tenantId,
clientId,
clientSecret,
scope).Result;
int pageSize = 100;
int startPageIndex = 0;
// This is your app's Store ID. This ID is available on
// the App identity page of the Dev Center dashboard.
string appID = "<your app's Store ID>";
// Call the Windows Store promotions API
CallPromotionsAPI(accessToken, appID, pageSize, startPageIndex);
Console.Read();
}
private static void CallPromotionsAPI(string accessToken, string appID, int fetch, int skip)
{
string requestURI;
// Get ad campaigns.
requestURI = string.Format(
"https://manage.devcenter.microsoft.com/v1.0/my/promotion/campaign?applicationId={0}&fetch={1}&skip={2}&campaignSetSortColumn=createdDateTime",
appID, fetch, skip);
HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Get, requestURI);
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
WebRequestHandler handler = new WebRequestHandler();
HttpClient httpClient = new HttpClient(handler);
HttpResponseMessage response = httpClient.SendAsync(requestMessage).Result;
Console.WriteLine(response);
Console.WriteLine(response.Content.ReadAsStringAsync().Result);
response.Dispose();
}
public static async Task<string> GetClientCredentialAccessToken(string tenantId, string clientId, string clientSecret, string scope)
{
string tokenEndpointFormat = "https://login.microsoftonline.com/{0}/oauth2/token";
string tokenEndpoint = string.Format(tokenEndpointFormat, tenantId);
dynamic result;
using (HttpClient client = new HttpClient())
{
string tokenUrl = tokenEndpoint;
using (
HttpRequestMessage request = new HttpRequestMessage(
HttpMethod.Post,
tokenUrl))
{
string content =
string.Format(
"grant_type=client_credentials&client_id={0}&client_secret={1}&resource={2}",
clientId,
clientSecret,
scope);
request.Content = new StringContent(content, Encoding.UTF8, "application/x-www-form-urlencoded");
using (HttpResponseMessage response = await client.SendAsync(request))
{
string responseContent = await response.Content.ReadAsStringAsync();
result = JsonConvert.DeserializeObject(responseContent);
}
}
}
return result.access_token;
}
}
}
Tópicos relacionados
- Gerenciar campanhas publicitárias
- Gerenciar linhas de entrega para campanhas publicitárias
- Gerenciar perfis de direcionamento para campanhas publicitárias
- Gerenciar criativos para campanhas publicitárias
- Obter dados de desempenho da campanha publicitária