Lenguaje

Introducción a la API de Microsoft Advertising

Cualquier usuario de Microsoft Advertising con un token de desarrollador puede empezar a usar la API de Bing Ads. Para los anunciantes que colocan un gran número de anuncios o los desarrolladores que crean herramientas de publicidad, la API de Bing Ads proporciona una interfaz de programación para Microsoft Advertising.

Puedes desarrollar tu aplicación de API de Bing Ads en cualquier lenguaje que admita servicios web. Para empezar con un SDK específico, consulte Introducción a C# | Java | PHP | Python.

Obtener un token de acceso de usuario

Tenga en cuenta el usuario con el que quiere iniciar sesión, por ejemplo, example@contoso.com. La API de Microsoft Advertising no aceptará esa dirección de correo electrónico y contraseña. En su lugar, debe establecer el elemento de encabezado AuthenticationToken que contiene un token de acceso de usuario. Puede considerar un token de acceso como si representara un nombre de usuario y una contraseña.

¿Cómo se puede obtener un token de acceso para un usuario? Como desarrollador de aplicaciones, usará una dirección URL de autorización de Microsoft para solicitar el consentimiento al usuario de Microsoft Advertising. Una vez que un usuario proporciona su consentimiento, puede obtener un token de acceso y actuar en nombre del usuario. El token de acceso representa las credenciales de usuario que tiene acceso a una o varias cuentas de Microsoft Advertising.

  1. Registrar una aplicación

  2. Solicitar el consentimiento de los usuarios para que tu aplicación administre sus cuentas de Microsoft Advertising

  3. Obtener acceso y actualizar tokens

  4. Realice su primera llamada API

Sugerencia

Para obtener más información sobre cómo obtener tokens de acceso y actualización mediante los SDK de Bing Ads, consulta Autenticación con los SDK.

Obtener un token de desarrollador

Para usar las API de Bing Ads, debes tener un token de desarrollador y credenciales de usuario válidas. Si aún no tiene una cuenta de Microsoft Advertising, puede registrarse a través de la aplicación web de Microsoft Advertising.

Nota:

Los entornos de espacio aislado y producción usan credenciales independientes. Puedes registrarte para obtener una cuenta de Sandboxaquí. Todos pueden usar el token de desarrollador de sandbox universal, es decir, BBD37VB98.

Puedes seguir estos pasos para obtener un token de desarrollador para producción.

Nota:

A partir del 31 de mayo de 2025, la página Portal para desarrolladores quedará en desuso y se reemplazará por una nueva versión aquí. Actualice los marcadores y empiece a usar la nueva página para evitar interrupciones. Si necesita preguntas o ayuda, póngase en contacto con el soporte técnico.

  1. Inicia sesión con credenciales de Super Administración en la pestaña de la cuenta del Portal para desarrolladores de Microsoft Advertising.
  2. Elija el usuario que desea asociar al token de desarrollador. Normalmente, una aplicación solo necesita un token universal, independientemente del número de usuarios que se admitan.
  3. Haga clic en el botón Solicitar token .

El token de desarrollador universal se puede usar para autenticarse con cualquier credencial de usuario de Microsoft Advertising. Puedes usar el mismo token de desarrollador universal independientemente de si la aplicación la usarán uno o varios usuarios de Microsoft Advertising. A partir de julio de 2019, este es el tipo de token predeterminado.

El token de desarrollador de usuario único solo se puede usar para autenticar a un usuario para el acceso a un cliente. Este tipo de token ha quedado en desuso en favor del token universal. Si sigue viendo que un único token de usuario está asignado a uno de sus usuarios, puede seleccionar "Actualizar a Universal".

Un token de desarrollador permite el acceso mediante programación a las cuentas permitidas para un usuario. La obtención de un token de desarrollador para el acceso a la API no concede permisos adicionales a ninguna cuenta de Microsoft Advertising. A cada usuario de Microsoft Advertising se le asigna un rol, por ejemplo, SuperAdministración o Administrador de campañas de anunciante para cada cliente al que puede tener acceso. Con un token de desarrollador, las mismas cuentas disponibles en la aplicación web Microsoft Advertising están disponibles para el usuario mediante programación a través de la API.

Dónde usar las credenciales de API

Al llamar a una operación de servicio como GetCampaignsByAccountId, debe especificar elementos de encabezado de solicitud como DeveloperToken, CustomerId y CustomerAccountId.

<s:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
    <Action mustUnderstand="1">GetCampaignsByAccountId</Action>
    <ApplicationToken i:nil="false">ValueHere</ApplicationToken>
    <AuthenticationToken i:nil="false">ValueHere</AuthenticationToken>
    <CustomerAccountId i:nil="false">ValueHere</CustomerAccountId>
    <CustomerId i:nil="false">ValueHere</CustomerId>
    <DeveloperToken i:nil="false">ValueHere</DeveloperToken>
  </s:Header>
  <s:Body>
    <GetCampaignsByAccountIdRequest xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
      <AccountId>ValueHere</AccountId>
      <CampaignType>ValueHere</CampaignType>
    </GetCampaignsByAccountIdRequest>
  </s:Body>
</s:Envelope>

Si usa uno de los SDK de Microsoft Advertising, los elementos del encabezado de solicitud se establecen con AuthorizationData. Para obtener más información sobre la biblioteca de autenticación del SDK, consulte Autenticación con los SDK.

var authorizationData = new AuthorizationData
{
    Authentication = <AuthenticationGoesHere>, 
    CustomerId = <CustomerIdGoesHere>,
    AccountId = <AccountIdGoesHere>,
    DeveloperToken = "<DeveloperTokenGoesHere>"
};
static AuthorizationData authorizationData = new AuthorizationData();
authorizationData.setAuthentication(<AuthenticationGoesHere>);
authorizationData.setCustomerId("<CustomerIdGoesHere>");
authorizationData.setAccountId("<AccountIdGoesHere>");
authorizationData.setDeveloperToken("<DeveloperTokenGoesHere>");
$authorizationData = (new AuthorizationData())
    ->withAuthentication($AuthenticationGoesHere)
    ->withCustomerId($CustomerIdGoesHere)
    ->withAccountId($AccountIdGoesHere)
    ->withDeveloperToken($DeveloperTokenGoesHere);
authorization_data = AuthorizationData(
    authentication = <AuthenticationGoesHere>,
    customer_id = <CustomerIdGoesHere>,
    account_id = <AccountIdGoesHere>,
    developer_token = '<DeveloperTokenGoesHere>'
)

Obtener los id. de cuenta y de cliente

Para obtener el identificador de cliente y el identificador de cuenta de un usuario, puedes iniciar sesión en la aplicación web Microsoft Advertising y hacer clic en la pestaña Campañas . La dirección URL contendrá un par clave/valor cid en la cadena de consulta que identifica el identificador de cliente y un par clave/valor auxiliar que identifica el identificador de cuenta. Por ejemplo, https://ui.ads.microsoft.com/campaign/Campaigns.m?cid=FindCustomerIdHere& aid=FindAccountIdHere#/customer/FindCustomerIdHere/account/FindAccountIdHere/campaign.

Sugerencia

No confunda el número de cuenta con el identificador de la cuenta. El número de cuenta es el número de cuenta generado por el sistema que se usa para identificar la cuenta en la aplicación web de Microsoft Advertising. El número de cuenta tiene el formato xxxxxxxx, donde xxxxxxxx es una serie de ocho caracteres alfanuméricos cualesquiera. Las solicitudes de servicio de API solo usan el identificador de cuenta y nunca usan el número de cuenta.

Con la API de administración de clientes, puede obtener los identificadores de cliente y cuenta para cada usuario autenticado.

Llame a GetUser con sus credenciales de Microsoft Advertising y DeveloperToken. Dentro del cuerpo, establezca el valor de UserId nil. La respuesta incluirá un objeto User que contiene el UserId.

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
    <h:ApplicationToken i:nil="true" xmlns:h="https://bingads.microsoft.com/Customer/v13" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" />
    <h:AuthenticationToken xmlns:h="https://bingads.microsoft.com/Customer/v13">OAuthAccessTokenGoesHere</h:AuthenticationToken>
    <h:DeveloperToken xmlns:h="https://bingads.microsoft.com/Customer/v13">DeveloperTokenGoesHere</h:DeveloperToken>
  </s:Header>
  <s:Body>
    <GetUserRequest xmlns="https://bingads.microsoft.com/Customer/v13">
      <UserId i:nil="true" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" />
    </GetUserRequest>
  </s:Body>
</s:Envelope>

A continuación, llame a SearchAccounts con el UserId devuelto mediante el paso anterior. La cuenta de anunciante devuelta (o cuentas) incluirá los identificadores de cuenta y cliente.

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
    <h:ApplicationToken i:nil="true" xmlns:h="https://bingads.microsoft.com/Customer/v13" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" />
    <h:AuthenticationToken xmlns:h="https://bingads.microsoft.com/Customer/v13">OAuthAccessTokenGoesHere</h:AuthenticationToken>
    <h:DeveloperToken xmlns:h="https://bingads.microsoft.com/Customer/v13">DeveloperTokenGoesHere</h:DeveloperToken>
  </s:Header>
  <s:Body>
    <SearchAccountsRequest xmlns="https://bingads.microsoft.com/Customer/v13">
      <Predicates xmlns:a="https://bingads.microsoft.com/Customer/v13/Entities" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:Predicate>
          <a:Field>UserId</a:Field>
          <a:Operator>Equals</a:Operator>
          <a:Value>UserIdGoesHere</a:Value>
        </a:Predicate>
      </Predicates>
      <Ordering i:nil="true" xmlns:a="https://bingads.microsoft.com/Customer/v13/Entities" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" />
      <PageInfo xmlns:a="https://bingads.microsoft.com/Customer/v13/Entities" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:Index>0</a:Index>
        <a:Size>10</a:Size>
      </PageInfo>
    </SearchAccountsRequest>
  </s:Body>
</s:Envelope>

Sugerencia

Consulte Buscar ejemplo de código de cuentas de usuario para ver un ejemplo de código que devuelve las cuentas del usuario autenticado actual.

Referencia de elementos de encabezado

Las operaciones de servicio de la API de Bing Ads usan el Protocolo simple de acceso a objetos (SOAP) para intercambiar los mensajes de solicitud y respuesta con la operación de servicio. Para obtener más información, consulte Protocolo de servicios de API de Bing Ads.

Cada solicitud SOAP debe incluir los siguientes encabezados SOAP, que contienen las credenciales del usuario.

Nota:

Los elementos CustomerAccountId y CustomerId no son aplicables a los servicios de facturación y administración de clientes.

Elemento Descripción Tipo de datos
ApplicationToken Este elemento de encabezado no se usa y debe omitirse. string
AuthenticationToken Token de acceso de OAuth que representa a un usuario de la cuenta de Microsoft que tiene permisos para las cuentas de Microsoft Advertising. Para obtener más información, consulte Autenticación con OAuth. string
CustomerAccountId El identificador de la cuenta propietaria de las entidades de la solicitud. Este elemento de encabezado debe tener el mismo valor que el elemento de cuerpo AccountId cuando ambos sean necesarios. Este elemento es necesario para la mayoría de las operaciones de servicio y, como procedimiento recomendado, siempre debe configurarlo. string
Identificador de cliente El identificador del cliente que contiene y es propietario de la cuenta. Si administras una cuenta de otro cliente, debes usar ese id. de cliente en lugar de tu propio id. de cliente. Este elemento es necesario para la mayoría de las operaciones de servicio y, como procedimiento recomendado, siempre debe configurarlo. string
DeveloperToken El token de desarrollador usado para acceder a la API de Bing Ads. string

¿Necesita ayuda?

Para obtener sugerencias para solucionar problemas, consulta Manejo de errores y excepciones de servicio.

El foro Microsoft Q&A está disponible para que la comunidad de desarrolladores formule y responda preguntas sobre las API de Microsoft Ads y los scripts de Microsoft Advertising. Microsoft supervisa los foros y responde a las preguntas que la comunidad aún no ha respondido.

Importante

Para asegurarse de que vemos su pregunta, etiquétela con "advertising-api".

Si la investigación afecta a datos personales o de cuentas confidenciales, o si no encuentra la información que necesita para resolver el problema a través de Microsoft Q&A, póngase en contacto con el soporte técnico de Microsoft Advertising. Para resolver el problema de forma eficaz, proporcione al soporte técnico los detalles solicitados en Engaging Support.

Consulta también

Introducción a la API de Microsoft Advertising
Conceptos de la API de Microsoft Advertising