Como obter o pdf de um documento?
A API dos produtos cloud permite obter o PDF associado aos vários tipos de documentos do sistema, sejam eles faturas de compra, venda, notas de crédito, entradas de diário ou recibos. Para tal, poderá utilizar o identificador do registo ou a chave natural. Para imprimir um documento: Para reimprimir um documento: Para gerar um PDF num idioma diferente do idioma original, é necessário indicá-lo no Header do request. Por exemplo, para reimprimir em português um documento originalmente impresso em inglês, deve usar Accept-Language –> pt-PT. Os modelos de impressão permitem definir o layout dos documentos. Se não indicar no pedido, é sempre utilizado o modelo predefinido associado à entidade. Para especificar o modelo, deve adicionar o parâmetro conforme indicado: De seguida, é apresentada uma lista de alguns modelos disponíveis para faturas, notas de crédito/débito (vendas e compras), encomendas, guias e entradas de diário: Nota: Quando personaliza um modelo e o associa a uma empresa, este é automaticamente criado com o caractere “_” e o código da empresa. Por exemplo, personaliza o modelo Billing_ServicesInvoiceReport (fatura de serviços de vendas) e associa-o à empresa “MOVEISLDA”. Este irá designar-se Billing_ServicesInvoiceReport_MOVEISLDA. Quando pretender utilizar o modelo da fatura de serviços de vendas para a empresa “MOVEISLDA”, deverá chamar o “Billing_ServicesInvoiceReport_MOVEISLD”. Caso utilize o “Billing_ServicesInvoiceReport” para a empresa “MOVEISLDA”, a aplicação não o vai apresentar uma vez que já não está associado a esta empresa.https://baseurl/api/{{tenant}}/{{organization}}/billing/invoices/{{companyKey}}/{documentType}/{serie}/{seriesNumber}/print
https://baseurl/api/{{tenant}}/{{organization}}/billing/invoices/{{companyKey}}/{documentType}/{serie}/{seriesNumber}/printOriginal
using (HttpClient client = new HttpClient())
{
try
{
Console.WriteLine("Requesting the access token from the authorization server...");
client.BaseAddress = new Uri(RoseConstants.appBaseUrl);
client.DefaultRequestHeaders.Add("Accept-Language", "pt-PT");
(...)
}
catch (Exception ex)
{
throw new Exception(string.Format("Error getting token. {0}", ex.Message));
}
}Modelos
//?template
https://baseural/api/{{tenant}}/{{organization}}/billing/invoices/{{companyKey}}/{documentType}/{serie}/{seriesNumber}/print?template={ReportModelDefinitions}