Se aplica a: Centro de partners | Centro de partners operado por 21Vianet | Centro de partners para Microsoft Cloud for US Government
Cómo recuperar una colección de las facturas del asociado.
Requisitos previos
Credenciales tal como se describen en el artículo Autenticación del Centro de partners. Este escenario admite la autenticación con credenciales de aplicación independiente y app+usuario.
C#
Para obtener una colección de todas las facturas disponibles, use la propiedad Invoices para obtener una interfaz para las operaciones de factura y, a continuación, llame al método Get o GetAsync para recuperar la colección.
Para obtener una colección paginada de facturas, primero llame al método BuildIndexedQuery y páselo el tamaño de página para crear un objeto IQuery. A continuación, use la propiedad Invoices para obtener una interfaz para las operaciones de factura y, a continuación, pase el objeto IQuery al método Query o QueryAsync para enviar la solicitud y obtener la primera página.
A continuación, use la propiedad Enumerators para obtener una interfaz a la colección de enumeradores de recopilación de recursos admitidos y, a continuación, llame a Invoices.Create para crear un enumerador para recorrer la colección de facturas. Por último, use el enumerador para recuperar y trabajar con cada página de facturas, como se muestra en el ejemplo de código siguiente. Cada llamada al método Next envía una solicitud para la página siguiente de facturas en función del tamaño de página.
C#
// IAggregatePartner partnerOperations;// int invoicePageSize;// Is this an unpaged or paged request?bool isUnpaged = (this.invoicePageSize <= 0);
// If the scenario is unpaged, get all the invoices, otherwise get the first page.var invoicesPage = (isUnpaged)
? partnerOperations.Invoices.Get()
: partnerOperations.Invoices.Query(QueryFactory.Instance.BuildIndexedQuery(this.invoicePageSize));
// Create an invoice enumerator for traversing the invoice pages.var invoicesEnumerator = partnerOperations.Enumerators.Invoices.Create(invoicesPage);
int lineCounter = 1;
while (invoicesEnumerator.HasValue)
{
// Print the current invoice results page.var invoices = invoicesEnumerator.Current.Items;
foreach (var i in invoices)
{
Console.WriteLine(String.Format("{0,3}. {1} {2} {3,16:C2}",
lineCounter++,
i.Id,
i.InvoiceDate.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"),
i.TotalCharges));
}
Console.WriteLine();
Console.Write("Press any key to retrieve the next invoices page");
Console.ReadKey();
// Get the next page of invoices.
invoicesEnumerator.Next();
}
Para obtener un ejemplo ligeramente diferente, consulte Ejemplo: Aplicación de prueba de consola. Project: Clase de ejemplos del SDK del Centro de partners: GetPagedInvoices.cs
Nota
La misma API se usa para todas las compras comerciales modernas, así como para las licencias de 145p y Office. El tamaño y el desplazamiento solo se consideran para las facturas heredadas. Para todas las compras comerciales modernas, se omitirá pagesize & offset.
Use los siguientes parámetros de consulta al crear la solicitud.
Nombre
Type
Obligatorio
Descripción
size
int
No
Número de recursos de factura que se van a devolver en la respuesta. Este parámetro es opcional.
offset
int
No
Índice de base cero de la primera factura que se va a devolver.
filter
string
No
Criterios de filtro personalizados basados en texto para reducir los recursos de factura en la respuesta. Use esta condición para evitar el error de tiempo de espera. Consulte cómo usar la condición de filtro.
LeftFilter: la primera construcción de filtro, donde se especifica el campo, el valor y el operador del lado izquierdo de la expresión de filtro.
Campo: atributo que se va a usar para filtrar.
Valor: valor del atributo
Por ejemplo, "LeftFilter": {"Field":"InvoiceDate","Value":"01/01/2023","Operator":"greater_than_or_equals"} significa que desea filtrar las facturas que tienen una fecha de factura el 1 de enero de 2023 o después.
RightFilter: segunda construcción de filtro, donde se especifica el campo, el valor y el operador para el lado derecho de la expresión de filtro.
Por ejemplo, "RightFilter":{"Field":"InvoiceDate","Value":"12/31/2023","Operator":"less_than_or_equals"} significa que desea filtrar las facturas que tienen una fecha de factura el 31 de diciembre de 2023 o antes.
Operador: operador lógico que conecta los filtros izquierdo y derecho. Puede usar "and" o "or" como operador.
Por ejemplo, "Operador": "y" significa que desea filtrar las facturas que cumplen los criterios de filtro izquierdo y derecho.
Para usar un solo filtro, solo tiene que escribir el nombre, el valor y el operador del campo. No es necesario la construcción "LeftFilter" o "RightFilter".
A partir de junio de 2023, la versión 3.4.0 más reciente del SDK de .NET del Centro de partners ahora está archivada. Puede descargar esta versión del SDK de GitHub, junto con un archivo Léame que contiene información útil.
Si se ejecuta correctamente, el cuerpo de la respuesta contiene la colección de recursos de factura .
Códigos de error y de respuesta correctos
Cada respuesta incluye un código de estado HTTP que indica éxito o error y otra información de depuración. Use una herramienta de seguimiento de red para leer este código, tipo de error y otros parámetros. Para obtener la lista completa, consulta Códigos de error de REST del Centro de partners.
Microsoft Dynamics 365 Project Operations para escenarios basados en recursos/no mantenidos en existencias ofrece capacidades integrales que se han diseñado para satisfacer las necesidades tanto de los directores de proyectos como de los empleados de clientes o los contables del proyecto.
Puede usar la API de uso de Azure para obtener los registros de uso de la suscripción de Azure de un cliente durante un período de tiempo especificado.
Hay varios recursos relacionados con la factura disponibles a través de las API del Centro de partners. Estos recursos están relacionados con los detalles de la factura y del elemento de línea.
Con el Centro de partners, Proveedor de soluciones en la nube asociados pueden ver y administrar facturas, elementos de línea de conciliación y presupuesto de gasto de Azure del cliente mediante programación.
Puede obtener una colección de detalles del elemento de línea de factura (elemento de línea de facturación cerrado) de una factura especificada mediante las API del Centro de partners.