Operación del servicio PollGenerateReport: generación de informes
Obtiene el estado de una solicitud de informe.
La creación de informes es un proceso asincrónico. A continuación se muestra el flujo general para solicitar un informe.
- Cree una solicitud con los parámetros del informe. No use el objeto ReportRequest . En su lugar, debe usar uno de los objetos de solicitud de informe derivados, por ejemplo , CampaignPerformanceReportRequest. Para obtener una lista de informes, consulte la guía Tipos de informe.
- Envíe una solicitud al servicio de informes, es decir, a través de SubmitGenerateReport.
- El servicio pone en cola la solicitud hasta que pueda procesarla.
- Sondear el servicio periódicamente para obtener el estado del trabajo de informe, es decir, a través de PollGenerateReport
- Cuando el estado de sondeo sea Correcto, use la dirección URL que proporciona el servicio para descargar el informe.
Para obtener más información, consulte la guía Solicitud y descarga de un informe .
Nota:
Debe usar las mismas credenciales de usuario para SubmitGenerateReport y PollGenerateReport.
Elementos Request
El objeto PollGenerateReportRequest define los elementos body y header de la solicitud de operación de servicio. Los elementos deben estar en el mismo orden que se muestra en la solicitud SOAP.
Nota:
A menos que se indique lo contrario a continuación, se requieren todos los elementos de solicitud.
Elementos del cuerpo de la solicitud
Elemento | Descripción | Tipo de datos |
---|---|---|
ReportRequestId | Identificador de la solicitud de informe. La operación SubmitGenerateReport devuelve el identificador. El identificador es válido durante un máximo de un día. Si no ha descargado correctamente el archivo en este período, se quita del sitio de descarga y tendrá que obtener un nuevo identificador de solicitud de informe. La cadena tiene una longitud de hasta 40 y puede contener cualquier carácter. |
string |
Elementos de encabezado de solicitud
Elemento | Descripción | Tipo de datos |
---|---|---|
AuthenticationToken | Token de acceso de OAuth que representa las credenciales de un usuario que tiene permisos para cuentas de Microsoft Advertising. Para obtener más información, consulte Autenticación con OAuth. |
string |
CustomerAccountId | Identificador de la cuenta de anuncio que posee o está asociada a las entidades de la solicitud. Este elemento de encabezado debe tener el mismo valor que el elemento de cuerpo AccountId cuando ambos son necesarios. Este elemento es necesario para la mayoría de las operaciones de servicio y, como procedimiento recomendado, siempre debe establecerlo. Para obtener más información, consulte Obtención de su cuenta e identificadores de cliente. |
string |
CustomerId | Identificador de la cuenta de administrador (cliente) desde la que el usuario accede o funciona. Un usuario puede tener acceso a varias cuentas de administrador. Este elemento es necesario para la mayoría de las operaciones de servicio y, como procedimiento recomendado, siempre debe establecerlo. Para obtener más información, consulte Obtención de su cuenta e identificadores de cliente. |
string |
DeveloperToken | Token de desarrollador que se usa para acceder a Bing Ads API. Para obtener más información, consulte Obtención de un token de desarrollador. |
string |
Password | Este elemento está reservado para uso interno y se quitará de una versión futura de la API. Debe usar el elemento AuthenticationToken para establecer las credenciales de usuario. | string |
UserName | Este elemento está reservado para uso interno y se quitará de una versión futura de la API. Debe usar el elemento AuthenticationToken para establecer las credenciales de usuario. | string |
Elementos de respuesta
El objeto PollGenerateReportResponse define los elementos body y header de la respuesta de la operación de servicio. Los elementos se devuelven en el mismo orden que se muestra en soap de respuesta.
Elementos del cuerpo de la respuesta
Elemento | Descripción | Tipo de datos |
---|---|---|
ReportRequestStatus | Contiene el estado de la solicitud de informe y la dirección URL de descarga. | ReportRequestStatus |
Elementos de encabezado de respuesta
Elemento | Descripción | Tipo de datos |
---|---|---|
Seguimiento del Id. | Identificador de la entrada de registro que contiene los detalles de la llamada API. | string |
Solicitud de SOAP
Esta plantilla se generó mediante una herramienta para mostrar el orden del cuerpo y los elementos de encabezado de la solicitud SOAP. Para ver los tipos admitidos que puede usar con esta operación de servicio, consulte la referencia de elementos de cuerpo de solicitud anterior.
<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/Reporting/v13">
<Action mustUnderstand="1">PollGenerateReport</Action>
<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>
<PollGenerateReportRequest xmlns="https://bingads.microsoft.com/Reporting/v13">
<ReportRequestId i:nil="false">ValueHere</ReportRequestId>
</PollGenerateReportRequest>
</s:Body>
</s:Envelope>
SOAP de respuesta
Esta plantilla se generó mediante una herramienta para mostrar el orden de los elementos body y header para la respuesta SOAP.
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header xmlns="https://bingads.microsoft.com/Reporting/v13">
<TrackingId d3p1:nil="false" xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance">ValueHere</TrackingId>
</s:Header>
<s:Body>
<PollGenerateReportResponse xmlns="https://bingads.microsoft.com/Reporting/v13">
<ReportRequestStatus d4p1:nil="false" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">
<ReportDownloadUrl d4p1:nil="false">ValueHere</ReportDownloadUrl>
<Status>ValueHere</Status>
</ReportRequestStatus>
</PollGenerateReportResponse>
</s:Body>
</s:Envelope>
Sintaxis de código
La sintaxis de ejemplo se puede usar con los SDK de Bing Ads. Consulte Ejemplos de código de API de Bing Ads para obtener más ejemplos.
public async Task<PollGenerateReportResponse> PollGenerateReportAsync(
string reportRequestId)
{
var request = new PollGenerateReportRequest
{
ReportRequestId = reportRequestId
};
return (await ReportingService.CallAsync((s, r) => s.PollGenerateReportAsync(r), request));
}
static PollGenerateReportResponse pollGenerateReport(
java.lang.String reportRequestId) throws RemoteException, Exception
{
PollGenerateReportRequest request = new PollGenerateReportRequest();
request.setReportRequestId(reportRequestId);
return ReportingService.getService().pollGenerateReport(request);
}
static function PollGenerateReport(
$reportRequestId)
{
$GLOBALS['Proxy'] = $GLOBALS['ReportingProxy'];
$request = new PollGenerateReportRequest();
$request->ReportRequestId = $reportRequestId;
return $GLOBALS['ReportingProxy']->GetService()->PollGenerateReport($request);
}
response=reporting_service.PollGenerateReport(
ReportRequestId=ReportRequestId)
Requisitos
Servicio: ReportingService.svc v13
Namespace: https://bingads.microsoft.com/Reporting/v13
Dirección URL de solicitud
https://reporting.api.bingads.microsoft.com/Reporting/v13/GenerateReport/Poll
Elementos Request
El objeto PollGenerateReportRequest define los elementos body y header de la solicitud de operación de servicio.
Nota:
A menos que se indique lo contrario a continuación, se requieren todos los elementos de solicitud.
Elementos del cuerpo de la solicitud
Elemento | Descripción | Tipo de datos |
---|---|---|
ReportRequestId | Identificador de la solicitud de informe. La operación SubmitGenerateReport devuelve el identificador. El identificador es válido durante un máximo de un día. Si no ha descargado correctamente el archivo en este período, se quita del sitio de descarga y tendrá que obtener un nuevo identificador de solicitud de informe. La cadena tiene una longitud de hasta 40 y puede contener cualquier carácter. |
string |
Elementos de encabezado de solicitud
Elemento | Descripción | Tipo de datos |
---|---|---|
Autorización | Token de acceso de OAuth que representa las credenciales de un usuario que tiene permisos para cuentas de Microsoft Advertising. Asegúrese de que el token tiene el prefijo "Portador", esto es necesario para la autenticación adecuada. Para obtener más información, consulte Autenticación con OAuth. |
string |
CustomerAccountId | Identificador de la cuenta de anuncio que posee o está asociada a las entidades de la solicitud. Este elemento de encabezado debe tener el mismo valor que el elemento de cuerpo AccountId cuando ambos son necesarios. Este elemento es necesario para la mayoría de las operaciones de servicio y, como procedimiento recomendado, siempre debe establecerlo. Para obtener más información, consulte Obtención de su cuenta e identificadores de cliente. |
string |
CustomerId | Identificador de la cuenta de administrador (cliente) desde la que el usuario accede o funciona. Un usuario puede tener acceso a varias cuentas de administrador. Este elemento es necesario para la mayoría de las operaciones de servicio y, como procedimiento recomendado, siempre debe establecerlo. Para obtener más información, consulte Obtención de su cuenta e identificadores de cliente. |
string |
DeveloperToken | Token de desarrollador que se usa para acceder a Bing Ads API. Para obtener más información, consulte Obtención de un token de desarrollador. |
string |
Password | Este elemento está reservado para uso interno y se quitará de una versión futura de la API. Debe usar el elemento AuthenticationToken para establecer las credenciales de usuario. | string |
UserName | Este elemento está reservado para uso interno y se quitará de una versión futura de la API. Debe usar el elemento AuthenticationToken para establecer las credenciales de usuario. | string |
Elementos de respuesta
El objeto PollGenerateReportResponse define los elementos body y header de la respuesta de la operación de servicio. Los elementos se devuelven en el mismo orden que se muestra en el JSON de respuesta.
Elementos del cuerpo de la respuesta
Elemento | Descripción | Tipo de datos |
---|---|---|
ReportRequestStatus | Contiene el estado de la solicitud de informe y la dirección URL de descarga. | ReportRequestStatus |
Elementos de encabezado de respuesta
Elemento | Descripción | Tipo de datos |
---|---|---|
Seguimiento del Id. | Identificador de la entrada de registro que contiene los detalles de la llamada API. | string |
Solicitud de JSON
Esta plantilla se generó mediante una herramienta para mostrar los elementos body y header de la solicitud JSON. Para ver los tipos admitidos que puede usar con esta operación de servicio, consulte la referencia de elementos de cuerpo de solicitud anterior.
{
"ReportRequestId": "ValueHere"
}
JSON de respuesta
Esta plantilla se generó mediante una herramienta para mostrar los elementos body y header de la respuesta JSON.
{
"ReportRequestStatus": {
"ReportDownloadUrl": "ValueHere",
"Status": "ValueHere"
}
}
Sintaxis de código
Para llamar a la API REST a través de SDK, debe actualizar el SDK a una versión determinada y configurar los parámetros del sistema. La sintaxis de ejemplo se puede usar con los SDK de Bing Ads. Consulte Ejemplos de código de API de Bing Ads para obtener más ejemplos.
public async Task<PollGenerateReportResponse> PollGenerateReportAsync(
string reportRequestId)
{
var request = new PollGenerateReportRequest
{
ReportRequestId = reportRequestId
};
return (await ReportingService.CallAsync((s, r) => s.PollGenerateReportAsync(r), request));
}
static PollGenerateReportResponse pollGenerateReport(
java.lang.String reportRequestId) throws RemoteException, Exception
{
PollGenerateReportRequest request = new PollGenerateReportRequest();
request.setReportRequestId(reportRequestId);
return ReportingService.getService().pollGenerateReport(request);
}
static function PollGenerateReport(
$reportRequestId)
{
$GLOBALS['Proxy'] = $GLOBALS['ReportingProxy'];
$request = new PollGenerateReportRequest();
$request->ReportRequestId = $reportRequestId;
return $GLOBALS['ReportingProxy']->GetService()->PollGenerateReport($request);
}
response=reporting_service.PollGenerateReport(
ReportRequestId=ReportRequestId)