---
title: "Adiciona um carimbo de documento no PDF"
method: POST
path: "/fw/v1/pdf/carimbar"
tags: ["Assinador PDF"]
---

# Adiciona um carimbo de documento no PDF

`POST /fw/v1/pdf/carimbar`

## Request

- Base URL: `https://cloud-hom.bry.com.br`
- URL: `https://cloud-hom.bry.com.br/fw/v1/pdf/carimbar`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/bry/apis/bry-easy-sign-api-rest/docs/fw/v1/pdf/carimbar/post.ts> (a function with typed inputs; its response is checked against the schema)

## Request body `multipart/form-data`

- object
  - `documento[0]` string, binary, required: Documento no formato PDF que será carimbado. Para lotes, basta incrementar o valor do índice, por ex: documento[0], documento[1]
  - `tipoRetorno` string, required: Tipo de retorno da resposta [Valores disponíveis: LINK e BASE64]. Caso LINK, o arquivo será excluído após o download.
  - `algoritmoHash` string, required: Algoritmo de hash do carimbo. [Valores disponíveis: SHA1, SHA256 e SHA512].
  - `razao` string: Campo opcional para informar a razão para geração da assinatura.
  - `contato` string: Campo opcional para informar o contato do signatário na geração da assinatura.
  - `local` string: Campo opcional para informar o local onde a assinatura está sendo gerada.
  - `restructure` boolean: Define se será bloqueada a assinatura de arquivos PDF cuja tabela de estrutura de objetos esteja desestruturada. Caso o documento submetido não tenha nenhuma assinatura e tenha a tabela desestruturada, a API irá reestruturá-lo antes de assinar digitalmente. Recomendamos que o valor seja configurado como `true`, pois garante que o documento não será recusado por conta de problema na tabela de referências. [Valor Default: `false`]
  - `configuracao_imagem` ConfiguracaoImagemCarimbar[]: Configuração dos parâmetros de posição, dimensão e visualização da imagem. Deve ser informado no formato JSON. Obs: Para configurações específicas para cada documento, é necessário adicionar entradas 'configuracao_imagem' tantas vezes quanto forem necessárias.
    - `altura` string, required: Altura (em mm) da imagem que será inserida.
    - `largura` string, required: Largura (em mm) da imagem que será inserida.
    - `coordenadaX` string: Define o deslocamento horizontal (em pontosPDF) da imagem em relação à posição definida no parâmetro "posicao".
    - `coordenadaY` string: Define o deslocamento vertical (em pontosPDF) da imagem em relação à posição definida no parâmetro "posicao".
    - `posicao` string: Define a origem 0,0 do campo em relação aos quatro cantos da página. [Valores disponíveis: INFERIOR_DIREITO, INFERIOR_ESQUERDO, SUPERIOR_DIREITO e SUPERIOR_ESQUERDO].
    - `pagina` string: Define a(s) página(s) na qual a imagem será adicionada. [Valores disponíveis: PRIMEIRA, ULTIMA e TODAS].
    - `numeroPagina` string: Define o índice da página na qual a imagem será adicionada. A contagem do índice de páginas inicia em 1.
    - `campoAssinatura` string: Define o nome do campo (preexistente ou não) no documento onde a assinatura será visível.
    - `posicaoBorda` string: Define que a imagem será posicionada centralizada em uma das bordas da página. [Valores disponíveis: BORDA_DIREITA, BORDA_ESQUERDA, BORDA_INFERIOR e BORDA_SUPERIOR].
    - `rotacaoImagemBorda` string: Define a rotação da imagem para os casos de página em modo paisagem ou imagem de assinatura posicionada na borda. [Valores disponíveis: ANTI_HORARIO_90_GRAUS e HORARIO_90_GRAUS].
    - `imagemInvertida` string: Booleano que inverte a posição da imagem e do texto.
    - `proporcaoImagem` string: Inteiro que define a proporção de espaço que a imagem ocupará em relação ao texto da assinatura.
    - `marker` string: Texto que será procurado no documento para obter sua coordenada X e Y.
    - `offset` string: Offset que será utilizado para deslocar a posição na coordenada y caso um marker seja utilizado.
  - `configuracao_texto` ConfiguracaoTexto[]: Configuração do texto que será inserido na assinatura. Deve ser informado no formato JSON. A posição do texto é definida pelo parâmetro 'configuracao_imagem'. Obs: Para configurações específicas para cada documento, é necessário adicionar entradas 'configuracao_texto' tantas vezes quanto forem necessárias.
    - `texto` string: Define o texto que será incluído no campo da assinatura.
    - `incluirCN` boolean: Define se o campo CN do certificado do signatário será incluído no texto da assinatura.
    - `incluirCPF` boolean: Define se o campo CPF do certificado do signatário será incluído no texto da assinatura.
    - `incluirEmail` boolean: Define se o campo Email do certificado do signatário será incluído no texto da assinatura.
    - `rotacaoTexto` string: Define a rotação do texto. [Valores disponíveis: ANTI_HORARIO_90_GRAUS e HORARIO_90_GRAUS].
    - `fonte` string: Define a fonte do texto. [Valores disponíveis: COURIER, HELVETICA, TIMES_NEW_ROMAN].
    - `tamanhoFonte` string: Define o tamanho da fonte do texto. O valor padrão é 10.
    - `posicaoBorda` string: Define que o texto será posicionado centralizado em uma das bordas da página. [Valores disponíveis: BORDA_DIREITA, BORDA_ESQUERDA, BORDA_INFERIOR e BORDA_SUPERIOR].
    - `largura` string: Define a largura do retângulo onde o texto será inserido, em milímetros, para o caso de ter sido selecionada alguma das bordas da página para ancorar o texto (posicaoBorda). As quebras de linhas acontecerão automaticamente quando a palavra ultrapassar a largura do retângulo. O valor padrão é 127mm (360 pontos PDF - metade de uma folha A4), caso este parâmetro esteja ausente.
    - `altura` string: Define a altura do retângulo onde o texto será inserido, em milímetros, para o caso de ter sido selecionada alguma das bordas da página para ancorar o texto (posicaoBorda). O valor padrão é tamanhoFonte x número de linhas cálculado pela aplicação, caso este parâmetro esteja ausente.
  - `configuracao_anotacao[0]` ConfiguracaoAnotacao[]: Lista das configurações que definem os parâmetros de posição, dimensão e visualização de uma anotação. Deve ser informado no formato JSON. Para cada documento que se deseja adicionar anotações, é necessário enviar configurações específicas de acordo com o índice do documento, por ex: configuracao_anotacao[0], configuracao_anotacao[1]. Para adicionar múltiplas anotações a um mesmo documento é necessário adicionar entradas 'configuracao_anotacao[i]' tantas vezes quanto forem necessárias.
    - `altura` string, required: Altura (em mm) da anotação que será inserida.
    - `largura` string, required: Largura (em mm) da anotação que será inserida.
    - `coordenadaX` string: Define o deslocamento horizontal (em mm) da anotação em relação à posição definida no parâmetro "posicao".
    - `coordenadaY` string: Define o deslocamento vertical (em mm) da anotação em relação à posição definida no parâmetro "posicao".
    - `posicao` string: Define a origem 0,0 do campo em relação aos quatro cantos da página.
    - `pagina` string: Define a(s) página(s) em que a anotação será adicionada.
    - `numeroPagina` string: Define o índice da página na qual a anotação será adicionada.
    - `posicaoBorda` string: Define que a anotação será posicionada centralizada em uma das bordas da página.
    - `marker` string: Texto que será procurado para inserção da anotação.
    - `offset` string: Offset que será utilizado para deslocar a posição na coordenada y.
    - `nomeAnotacao` string: Define o nome que será atribuído à anotação.
    - `autor` string: Define o nome do autor da anotação.
    - `descricao` string: Define a descrição associada à anotação.
    - `tipo` 'IMAGEM' | 'TEXTO' | 'QRCODE', required: Define o tipo de anotação que será inserida.
    - `ignorarMargens` string: Define se as coordenadas X e Y poderão ser configuradas fora das margens da página.
    - `valor` union, required: Define o valor associado a um determinado tipo de anotação.
      - ConfiguracaoTexto
        - `texto` string: Define o texto que será incluído no campo da assinatura.
        - `incluirCN` boolean: Define se o campo CN do certificado do signatário será incluído no texto da assinatura.
        - `incluirCPF` boolean: Define se o campo CPF do certificado do signatário será incluído no texto da assinatura.
        - `incluirEmail` boolean: Define se o campo Email do certificado do signatário será incluído no texto da assinatura.
        - `rotacaoTexto` string: Define a rotação do texto. [Valores disponíveis: ANTI_HORARIO_90_GRAUS e HORARIO_90_GRAUS].
        - `fonte` string: Define a fonte do texto. [Valores disponíveis: COURIER, HELVETICA, TIMES_NEW_ROMAN].
        - `tamanhoFonte` string: Define o tamanho da fonte do texto. O valor padrão é 10.
        - `posicaoBorda` string: Define que o texto será posicionado centralizado em uma das bordas da página. [Valores disponíveis: BORDA_DIREITA, BORDA_ESQUERDA, BORDA_INFERIOR e BORDA_SUPERIOR].
        - `largura` string: Define a largura do retângulo onde o texto será inserido, em milímetros, para o caso de ter sido selecionada alguma das bordas da página para ancorar o texto (posicaoBorda). As quebras de linhas acontecerão automaticamente quando a palavra ultrapassar a largura do retângulo. O valor padrão é 127mm (360 pontos PDF - metade de uma folha A4), caso este parâmetro esteja ausente.
        - `altura` string: Define a altura do retângulo onde o texto será inserido, em milímetros, para o caso de ter sido selecionada alguma das bordas da página para ancorar o texto (posicaoBorda). O valor padrão é tamanhoFonte x número de linhas cálculado pela aplicação, caso este parâmetro esteja ausente.
      - object
        - `nome` string, required: Define o nome da imagem multipart que será utilizada na anotação.
      - ConfiguracaoQrcode
        - `dimensao` integer, required: Qualidade (em pixels) da imagem QRCode.
        - `texto` string, required: Texto do QRCode.
        - `tipoImagem` string: Formato da imagem QRCode.
        - `margem` integer: Tamanho da margem que será adicionada ao QRCode.
        - `padraoCodificacao` string: Padrão de codificação que será utilizado no texto do QRCode. Exemplos: UTF-8, UTF-16, ISO-8859-1, US-ASCII.
        - `padraoMascara` integer: Número do padrão de máscara que será utilizado para codificar o QRCode. [Valores disponíveis: [0-7]]
        - `versao` integer: Versão do QRCode que será utilizada. Quanto maior o número da versão, mais dados podem ser armazenados. [Versões disponíveis: [1-40]].
        - `compacto` boolean: Define se será gerado QRCode no modo compacto.
        - `nivelErro` 'L7' | 'M15' | 'Q25' | 'H30': Define o nível de erro que será utilizado no QRCode. O valor inteiro representa a porcentagem dos dados que podem ser perdidos. [Valores disponíveis: L7, M15, Q25 ou H30]
  - `imagem[0]` string, binary: Imagem que será inserida no campo do carimbo. Atualmente os formatos suportados são JPEG, PNG e BMP. Obs: Para imagens específicas para cada documento, é necessário adicionar entradas 'imagem[i]' para cada documento do lote.
  - `imagemFundo[0]` string, binary: Imagem que será inserida ao fundo do campo do carimbo. Atualmente os formatos suportados são JPEG, PNG e BMP. Obs: Para imagens de Fundo específicas para cada documento, é necessário adicionar entradas 'imagemFundo[i]' para cada documento do lote.
  - `imagemAnotacao[0]` string, binary: Imagem que será inserida na anotacao. O nome do parâmetro deve corresponder ao campo "valor/nome" de uma anotação com "tipo" igual a IMAGEM. É possível utilizar a mesma imagem para diferentes anotações. Atualmente os formatos suportados são JPEG, PNG e BMP.
  - `configuracao_qrcode` ConfiguracaoQrcode[]: Configuração da imagem QRCode que será inserida. Deve ser informado no formato JSON. A posição do QRCode é definida pelo parâmetro 'configuracao_imagem'. Não pode ser utilizado em conjunto com o parâmetro 'imagem'. Obs: Para configurações específicas para cada documento, é necessário adicionar entradas 'configuracao_qrcode' tantas vezes quanto forem necessárias.
    - `dimensao` integer, required: Qualidade (em pixels) da imagem QRCode.
    - `texto` string, required: Texto do QRCode.
    - `tipoImagem` string: Formato da imagem QRCode.
    - `margem` integer: Tamanho da margem que será adicionada ao QRCode.
    - `padraoCodificacao` string: Padrão de codificação que será utilizado no texto do QRCode. Exemplos: UTF-8, UTF-16, ISO-8859-1, US-ASCII.
    - `padraoMascara` integer: Número do padrão de máscara que será utilizado para codificar o QRCode. [Valores disponíveis: [0-7]]
    - `versao` integer: Versão do QRCode que será utilizada. Quanto maior o número da versão, mais dados podem ser armazenados. [Versões disponíveis: [1-40]].
    - `compacto` boolean: Define se será gerado QRCode no modo compacto.
    - `nivelErro` 'L7' | 'M15' | 'Q25' | 'H30': Define o nível de erro que será utilizado no QRCode. O valor inteiro representa a porcentagem dos dados que podem ser perdidos. [Valores disponíveis: L7, M15, Q25 ou H30]
  - `senhasDecifragem` string: Array de strings com as senhas para decifragem dos documentos enviados no lote. Deve haver uma senha para cada documento do lote remetido, que será usada na decifragem do documento no respectivo índice do lote de documentos. Exemplo: ['1234','4321']
  - `senhasCifragem` string: Array de strings com as senhas para cifragem dos documentos enviados no lote. Deve haver uma senha para cada documento do lote remetido, que será usada na cifragem do documento no respectivo índice do lote de documentos. Exemplo: ['1234','4321']

## Response `200`

- union
  - DocumentoLinkSemNonceENome
    - `identificador` string: Identificador da requisição
    - `quantidadeAssinaturas` integer: Numero de documentos da requisição
    - `documentos` object[]
      - `hash` string: Hash do documento
      - `links` object[]
        - `rel` string
        - `href` string: Link para recuperar documento assinado
  - string[]

## Other responses

- `400`: Resposta de erro da aplicação
- `default`: Para mais detalhes sobre as Respostas: [link para as respostas de erro](/openapi/assinadoresPdf.html) ou [no formato properties](/openapi/assinadoresPdfErrors.properties)

---

[API](https://skmtc.dev/bry/apis/bry-easy-sign-api-rest.md) - [All operations](https://skmtc.dev/bry/apis/bry-easy-sign-api-rest/llms.txt) - [OpenAPI document](https://skmtc.dev/bry/apis/bry-easy-sign-api-rest/revisions/c87e026e87ac?raw)
