Referenciando arquivos - Rest PKI Core
Existem diferentes maneiras de referenciar arquivos em chamadas à APIs do Rest PKI Core, por exemplo ao criar uma sessão de assinatura com documentos pré-definidos.
.NET
Você pode referenciar um arquivo por seu path:
var fileRef = FileReference.FromFile(@"C:\AppData\Documents\document.pdf");
Por um objeto FileInfo
contendo o path do arquivo:
var fileInfo = new FileInfo(@"C:\AppData\Documents\document.pdf");
var fileRef = FileReference.FromFile(fileInfo);
Pelo conteúdo do arquivo, passando um array de bytes, nesse caso é preciso também informar o nome do arquivo:
byte[] bytes = ...;
var fileRef = FileReference.FromBytes(bytes, "document.pdf");
Por uma stream
. Assim como em referências pelo conteúdo do arquivo, é preciso fornecer o nome do arquivo:
var fileRef = FileReference.FromStream(stream, "document.pdf");
Por URL absoluta. Nesse caso, o servidor da API irá baixar o arquivo do servidor da sua aplicação. A URL precisa ser
acessível publicamente com método GET
. Quaisquer argumentos de autorização devem estar embutidos na própria URL:
var fileRef = FileReference.FromUrl("https://yourapp.com/docs/document1.pdf?token=xxxxxxxxx");
Java
Você pode referenciar um arquivo por seu path:
FileReference fileRef = FileReference.fromFile("C:/AppData/Documents/document.pdf", null, null);
Por um objeto FileInfo
contendo o path do arquivo:
File file = new File("C:/AppData/Documents/document.pdf");
File fileRef = FileReference.fromFile(file);
Pelo conteúdo do arquivo, passando um array de bytes, nesse caso é preciso também informar o nome do arquivo:
byte[] bytes = ...;
FileReference fileRef = FileReference.fromBytes(bytes, "document.pdf", null);
Por uma stream
. Assim como em referências pelo conteúdo do arquivo, é preciso fornecer o nome do arquivo:
FileReference fileRef = FileReference.fromStream(stream, "document.pdf", "application/pdf");
Por URL absoluta. Nesse caso, o servidor da API irá baixar o arquivo do servidor da sua aplicação. A URL precisa ser
acessível publicamente com método GET
. Quaisquer argumentos de autorização devem estar embutidos na própria URL:
FileReference fileRef = FileReference.fromUrl("https://yourapp.com/docs/document1.pdf?token=xxxxxxxxx", null, null);
Direct API integration
Note
Os exemplos nessa seção exemplificam o referenciamento de arquivos numa criação de sessão de assinatura, entretanto o mesmo se aplica a qualquer API que receba arquivos.
Você pode referenciar um arquivo incluindo seu conteúdo diretamente no request, codificado em Base64, nesse caso é preciso também fornecer o nome do arquivo:
POST {endpoint}/api/signature-sessions
{
...
"documents": [
{
"file": {
"content": "Base64EncodedBytes==",
"name": "doc1.pdf"
}
},
...
]
}
Também por URL absoluta. Nesse caso, o servidor da API irá baixar o arquivo do servidor da sua aplicação. A URL precisa ser
acessível publicamente com método GET
. Quaisquer argumentos de autorização devem estar embutidos na própria URL:
POST {endpoint}/api/signature-sessions
{
...
"documents": [
{
"file": {
"url": "https://yourapp.com/docs/document1.pdf?token=xxxxxxxxx"
}
},
...
]
}