# Assinatura de URLs

Assinar uma URL permite que sejam feitos acessos a um recurso sem a necessidade de fornecer sua Chave de API ou JWT como autenticação.

Uma URL assinada pode ser identifica pelo parâmetro signature em seu final, exemplo:

https://api.cnpja.com/rfb/certificate?taxId=37335118000180&signature=eyJhbG...NjCczg

Neste exemplo, usuários não autenticados poderão acessar o recurso, entretanto não será possível alterar a rota /rfb/certificate, nem o parâmetro taxId=37335118000180.

A cada clique será gerada a cobrança em créditos referente ao recurso na conta do emissor da assinatura.

Esta funcionalidade é útil nos seguintes cenários:

  • Permitir que um arquivo de comprovante ou mapa seja acessado via navegador
  • Restringir o tempo que uma aplicação ou usuário seu tem acesso a um recurso

# Assina URL

POST /signature

Body

Propriedade Tipo Descrição
url
Obrigatório
string URL a ser assinada
ttl number Tempo em segundos que a URL será válida
Padrão: 7776000 (3 meses)

# Exemplos

Request
{
  "url": "https://api.cnpja.com/rfb/certificate?taxId=37335118000180",
  "ttl": 3600
}
Response
{
  "signedUrl": "https://api.cnpja.com/rfb/certificate?taxId=37335118000180&signature=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIyZDdhNTVhNy1hMTYxLTRiNTAtODI5ZC1iNDg4MjE5NGMwYjciLCJ1cmwiOiIvcmZiL2NlcnRpZmljYXRlP3RheElkPTM3MzM1MTE4MDAwMTgwIiwiaWF0IjoxNjI1ODkxMzczLCJleHAiOjE2MjU4OTQ5NzMsImF1ZCI6Imh0dHBzOi8vY25wamEuY29tLyIsImlzcyI6Imh0dHBzOi8vY25wamEuY29tLyJ9.AY9YgQfRk5jEMbkDQL7Hx2s5gEChncPQME8D5hx7PpXQdf6oqjHvN5s_Zk_y2F6srN1ZfMt1oyPJ62JZcwhWtIEL6j_7N_lnv-64w16uAL5xDBfGboNcqtxABV1Mtq-B0-mdKCHsMIw6eHDkBJXnQgGY4EELKYAOMXBF4XgcNWZN00_1nAA_iEivEIOKgyDAVbPg2Pd-zowqL_taSPuOYU_9fpLWxB2nsXLa4QfhCjdp_7kllcI83DbDAjfpVcDNYh4zuVhgoHkGHIzRFyeqOH_RU1sO-_3zDd75cF2B2u0qtyLn0i4KDcJxjK21_5Oh7oJTUd8E08-anjCdIZAIoyQyobc9Awulb86LuASFzvrE_R8uFlnglzAH_CHyGyg-VCBuKRUm0ES7iKVhaKVcWBoEb4r5BIzqO1c0nBvK9Jd_Uc3f2Zu6ouNiyQPYM9PjCRCwed8NomivJkYcUugR-KKp_M21AliocPFpHrM5zIgORxSeK-FUq4zc9jZGQo93I3f1U2Ao5kid3-xviNcNNDbON4m3GDJ1vXGjE2ZWA4IfbzdcPnJvx1-A5QD5J-gFvGRb91mrQof3ujxnTxzCgs939EXrXKL3SQ0S90b5jgrBMYFcCPQbetBGooC0zC-se4ykqEYxY95pAsqIPncoAojQ94rxztDeM4cDy-vcIlg",
  "ttl": 3600
}
Request
{
  "url": "https://api.cnpja.com/office/37335118000180/street",
  "ttl": 2592000
}
Response
{
  "signedUrl": "https://api.cnpja.com/office/37335118000180/street?signature=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIyZDdhNTVhNy1hMTYxLTRiNTAtODI5ZC1iNDg4MjE5NGMwYjciLCJ1cmwiOiIvb2ZmaWNlLzM3MzM1MTE4MDAwMTgwL3N0cmVldCIsImlhdCI6MTYyNTg5MTkxMywiZXhwIjoxNjI4NDgzOTEzLCJhdWQiOiJodHRwczovL2NucGphLmNvbS8iLCJpc3MiOiJodHRwczovL2NucGphLmNvbS8ifQ.ARcATM3zqDfNrkNfm8Lxy5uSApDpbcu7juhK_s8X-G7zBrLhotfP0O-T8OG9Oze9MglwEVX9JK8ZOWzGffdHM1SIhIgoeio71rqfYGWOFWSSX7njgcNAGo2Y69vW7VU1rlH2-dqZlncifzC_GsffbXeLnh3oP7a7qVuUgoP1knlgt1bre4c9ar7dZbZUcDawzFBAc7Nodl1QniVpyn1ORUDDDLarjVjSU5uX6lPoiFz4JXJECw3JyQuM6OqWEs8WzPwi_USJWd7WBNB-bQ2BPmyOCadSTlXQwTWxbkLBLoO_jP0WFa7wpJtk0o_u8j8MI5ciF5nAtGvBmOZ95yh4veOsLSOopygpNZeOAjTAWZ766r3_UoaGUZRwa1tOZGXBL2BTojc2cVvl7IuC4VWnlYD7lp2XiLOHE3KZRQNT8IMM6CcrCMdlTzIuV0_ULOikPujvRdqDXw8IroAHJrECYG4iL9uEaHDKCLQlv5ziBAOrgXVQvlDylCsd3YpoIGmoJG4QK0-W2aVflZzfbNpqxOzxymINl2hDYvRU3G19vLLMlkMNpQFDHXp9JYbKL3zTKpxTuiXHbya-HMf2Nt1rTOriFjw6GvYaTXQhGDqAo9xNerMThBCjq66o3ufa_95eOW6KJysWpkLHi1dofGxSDFaSAMjnpSzBaSjHrY38QPs",
  "ttl": 2592000
}

# Tipagem

Propriedade Tipo Descrição
signedUrl string URL completa com assinatura adicionada
ttl number Tempo de expiração em segundos