En esta guía, se describe la estructura común de todas las llamadas a la API.
Si usas una biblioteca cliente para interactuar con la API, no necesitarás conocer los detalles de la solicitud subyacente. Sin embargo, tener algunos conocimientos sobre la estructura de las llamadas a la API puede ser útil durante las pruebas y la depuración.
La API de Google Ads es una API de gRPC con vinculaciones de REST. Esto significa que hay dos formas de realizar llamadas a la API.
Preferido:
Crea el cuerpo de la solicitud como un búfer de protocolo.
Envía la solicitud al servidor con HTTP/2.
Deserializa la respuesta en un búfer de protocolo.
Interpreta los resultados.
La mayor parte de nuestra documentación describe el uso de gRPC.
Opcional:
Crea el cuerpo de la solicitud como un objeto JSON.
Envía la solicitud al servidor con HTTP 1.1.
Deserializa la respuesta como un objeto JSON.
Interpreta los resultados.
Consulta la guía de la interfaz de REST para obtener más información sobre el uso de REST.
Nombres de recursos
La mayoría de los objetos de la API se identifican por sus cadenas de nombres de recursos. Estas cadenas también funcionan como URLs cuando se usa la interfaz de REST. Consulta la estructura de los nombres de recursos de la interfaz de REST.
IDs compuestos
Si el ID de un objeto no es único a nivel global, se construye un ID compuesto para ese objeto anteponiendo su ID principal y una virgulilla (~).
Por ejemplo, dado que el ID de anuncio de un grupo de anuncios no es único a nivel global, le anteponemos el ID de su objeto principal (grupo de anuncios) para crear un ID compuesto único:
AdGroupIdde123+~+AdGroupAdIdde45678= ID del anuncio compuesto del grupo de anuncios de123~45678.
Encabezados de la solicitud
Estos son los encabezados HTTP (o los metadatos de gRPC) que acompañan al cuerpo de la solicitud:
Autorización
Debes incluir un token de acceso de OAuth2 en forma de Authorization: Bearer
YOUR_ACCESS_TOKEN que identifique una cuenta de administrador que actúe en nombre de un cliente o un anunciante que administre directamente su propia cuenta. En la guía de OAuth2, encontrarás instrucciones para recuperar un token de acceso. Un token de acceso es válido durante una hora después de que lo obtienes. Cuando vence, actualiza el token de acceso para recuperar uno nuevo.
Ten en cuenta que nuestras bibliotecas cliente actualizan automáticamente los tokens vencidos.
Si encuentras errores de autorización, asegúrate de usar las credenciales correctas y de tener permisos suficientes. Un error USER_PERMISSION_DENIED indica que es posible que el usuario autenticado no tenga acceso a la cuenta de cliente especificada en la solicitud. Consulta Niveles de acceso de Google Ads para obtener detalles sobre la administración de permisos.
developer-token
Un token de desarrollador es una cadena de 22 caracteres que identifica de forma única a un desarrollador de la API de Google Ads. Un ejemplo de cadena de token de desarrollador es ABcdeFGH93KL-NOPQ_STUv. El token de desarrollador debe incluirse en el formulario como developer-token :
ABcdeFGH93KL-NOPQ_STUv.
login-customer-id
Es el ID de cliente del cliente autorizado para usar en la solicitud, sin guiones (-). Si accedes a la cuenta de cliente a través de una cuenta de administrador, este encabezado es obligatorio y debe establecerse en el ID de cliente de la cuenta de administrador. Si no incluyes login-customer-id cuando te autenticas a través de una cuenta de administrador, se produce un error AuthorizationError.USER_PERMISSION_DENIED. Revisa los errores comunes para obtener más información sobre este tipo de error. Para obtener una explicación detallada de cómo se resuelve el acceso a la cuenta, consulta la guía del modelo de acceso de OAuth.
https://googleads.googleapis.com/v24/customers/1234567890/campaignBudgets:mutate
Establecer login-customer-id equivale a elegir una cuenta en la IU de Google Ads después de acceder o hacer clic en tu imagen de perfil en la parte superior derecha. Si no incluyes este encabezado, se usará el cliente operativo de forma predeterminada.
linked-customer-id
Este encabezado es obligatorio y lo utilizan los socios (como los proveedores de estadísticas de aplicaciones de terceros o los socios de datos) cuando actúan en una cuenta de Google Ads vinculada. Este encabezado debe especificar el ID de cliente de la cuenta de Google Ads que tiene la vinculación del producto.
Considera la situación en la que un socio necesita realizar llamadas a la API a una cuenta de Google Ads en función de una vinculación del producto.
- Anunciante: Es la cuenta de Google Ads que se administra o actualiza con la llamada a la API. El ID de la cuenta del anunciante se especifica en la solicitud. En REST, este es el parámetro de ruta
customerId(por ejemplo,customers/1111111111/...), y en gRPC, este es el campocustomer_iden la solicitud. - Socio: Es la cuenta del socio (por ejemplo, un proveedor de estadísticas de aplicaciones de terceros o un socio de datos).
- Cuenta vinculada: Es la cuenta de Google Ads que tiene un vínculo de producto establecido con el socio, lo que le otorga acceso al anunciante.
Un usuario que tiene acceso a Partner realiza llamadas a la API para actuar sobre las entidades en Advertiser (por ejemplo, para subir conversiones o administrar listas de usuarios). La cuenta vinculada puede ser el anunciante en sí o una cuenta de administrador del anunciante.
Los encabezados de la solicitud se deben configurar de la siguiente manera:
Authorization: Es un token de OAuth2 para un usuario que tiene acceso a Partner.developer-token: Es el token de desarrollador de la aplicación de la API, que suele estar asociado con el socio.login-customer-id: Es el ID de cliente del socio. El usuario autenticado debe tener acceso a esta cuenta.linked-customer-id: Es el ID de cliente de la cuenta vinculada. Este encabezado indica que la autorización para esta solicitud depende de la vinculación del producto de la cuenta vinculada con el socio.
Existen dos situaciones de vinculación:
- Si el Anunciante tiene un vínculo directo del producto con el Socio, la cuenta vinculada es la del Anunciante y
linked-customer-iddebe establecerse en el ID de cliente del Anunciante. - Si el anunciante es administrado por una cuenta de administrador que tiene una vinculación del producto con el socio, la cuenta vinculada es la cuenta de administrador y
linked-customer-iddebe establecerse en el ID de cliente del administrador.
Ejemplo 1: Vínculo directo
Si el anunciante 1111111111 tiene un vínculo directo con el socio 2222222222 y la llamada a la API se dirige a customers/1111111111/..., sucede lo siguiente:
Authorization: Bearer YOUR_ACCESS_TOKEN
developer-token: YOUR_DEVELOPER_TOKEN
login-customer-id: 2222222222
linked-customer-id: 1111111111
Ejemplo 2: Vínculo de administrador
Si el anunciante 1111111111 es administrado por el administrador 3333333333, el administrador 3333333333 tiene una vinculación con el socio 2222222222 y la llamada a la API se segmenta para customers/1111111111/..., sucede lo siguiente:
Authorization: Bearer YOUR_ACCESS_TOKEN
developer-token: YOUR_DEVELOPER_TOKEN
login-customer-id: 2222222222
linked-customer-id: 3333333333
Encabezados de respuesta
Los siguientes encabezados (o grpc trailing-metadata) se devuelven con el cuerpo de la respuesta. Te recomendamos que registres estos valores para depurar.
request-id
El request-id es una cadena que identifica de forma única esta solicitud.