Compartir a través de


Inserción de fuentes de precios (anteriormente mensajes de transacción) en Microsoft Advertising

Antes de enviar una fuente de precios:

  • Valide el mensaje para asegurarse de que es compatible con transaction XSD. Esto le ahorrará recorridos de ida y vuelta y tiempo al tener que corregir errores.

  • Asegúrese de que el mensaje contiene menos de 100 MB de datos sin comprimir o 10 MB de datos comprimidos (mediante compresión GZip). Para reducir el tráfico de red, siempre debe enviar datos comprimidos.

  • Asegúrese de que tiene menos de cinco solicitudes en cola o que se están procesando. La aplicación debe incluir la lógica necesaria para permanecer dentro del límite. Si supera el límite, se produce un error en la solicitud con el código de estado HTTP 429.

Después de validar el mensaje, envíelo a Microsoft en el cuerpo de una solicitud HTTPS POST. La dirección URL a la que envía la solicitud es:

https://hotels.api.bingads.microsoft.com/api/customers/<customerId>/transactions

Establezca <customerId> en el identificador de cliente del anunciante.

La solicitud debe incluir los encabezados siguientes:

  • Tipo de contenido: application/xml; charset=utf-8
  • Autorización: Bearer <accesstokengoeshere>

También puede especificar los siguientes encabezados opcionales:

  • Codificación de contenido: gzip
    Especifique este encabezado si comprime la fuente de precios (recomendado).

  • X-Transaction-ID: id. <definido por el usuario>
    Un identificador opaco definido por el usuario que los anunciantes usan para identificar de forma única el mensaje. Si incluye este encabezado, el identificador debe coincidir con el identificador del atributo del id elemento Transaction.

A continuación se muestra un ejemplo de solicitud POST.

POST https://hotels.api.bingads.microsoft.com/api/customers/abc123/transactions HTTP/1.1
Content-Type: application/xml; charset=utf-8
Host: hotels.api.bingads.microsoft.com

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-05-25T20:44:56-04:00" id="de0be689-d094-406e-
8027-724309deb373">
  <Result>
    <Property>13579</Property>
    <Checkin>2017-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">159.99</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">4.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="mobile"/>
      <PointOfSale id="desktop"/>
    </AllowablePointsOfSale>
  </Result>
</Transaction>

La solicitud POST coloca el mensaje en una cola que se va a procesar y, a continuación, devuelve . Es posible que tenga un máximo de cinco solicitudes en cola o que se procesen al mismo tiempo. Si supera el límite, se produce un error en la solicitud con 429.

Para determinar si Microsoft procesó correctamente el mensaje, consulte Estado de la fuente de anuncios de precios de hotel en la aplicación web Microsoft Hotel Center of Microsoft Advertising.

Si la solicitud se realiza correctamente (el mensaje se coloca correctamente en la cola), el cuerpo de la respuesta incluye un documento XML que especifica el número de bytes leídos (BytesReceived) del cuerpo de la solicitud (la fuente de precios).

<TxnResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Microsoft.BingAds.BHAC.HotelAdsAPIs.Models">
  <BytesReceived>184381</BytesReceived>
  <FeedId>6165579</FeedId>
</TxnResponse>

El FeedId elemento contiene un identificador generado por Microsoft que identifica de forma única la fuente. El informe de estado de la transacción incluye este identificador.

Si se produce un error en la solicitud, el cuerpo de la respuesta incluirá un documento XML que contiene una lista de códigos de error y mensajes que identifican por qué se produjo un error en la solicitud. Para obtener una lista de códigos de error y mensajes, consulte Códigos de error y mensajes.

La respuesta incluye el encabezado de respuesta WebRequestActivityId. El encabezado contiene el identificador asociado a la solicitud en los archivos de registro. Cada vez que se produce un error en una solicitud, capture el identificador. Si no puede resolver el problema, proporcione este identificador cuando se ponga en contacto con el soporte técnico.

¿Con qué frecuencia necesito enviar mensajes?

Envíe fuentes de precios cada vez que cambien los precios y la disponibilidad.