# Adicionar documento base64 PDF

## Struct utilizada:

* [Signer](https://docs.zapsign.com.br/facilitadores/sdks/sdk-em-java/classes-usadas/body/signer)
* [Base64Pdf](https://docs.zapsign.com.br/facilitadores/sdks/sdk-em-go/structs/base64pdf)

## Sobre o base64:

Base64 é uma maneira simples de converter um arquivo em texto. Veja aqui uma definição mais completa <https://pt.wikipedia.org/wiki/Base64>. Assim, converter o arquivo em base64 e enviar como texto no corpo da requisição é mais fácil do que lidar com **multipart/form-data**, por exemplo.

Para testar a API, você pode converter manualmente seu PDF em base64 através de vários sites, como esse: <https://base64.guru/converter/encode/pdf>

Quando a API já estiver integrada em seu sistema, procure a função adequada na sua linguagem de programação que pode converter o arquivo em base64.

**Observação:** você deve enviar o parâmetro base64\_pdf apenas com a conversão do arquivo em base64. **Não** insira data:application/pdf;base64, na sua string.&#x20;

## Visão geral:

Na SDK em Go, temos o arquivo '**create\_doc\_frombase64pdf\_parameter\_test.go**' no diretório do projeto **SdkGo** na Zapsign! Confira o diretório clicando [aqui](https://github.com/ZapSign/SdkGo).&#x20;

Ao entrar no projeto, podemos ver claramente que existe uma estrutura de testes automatizados para cada requisição da Zapsign na pasta "**tests**". Para acessar o teste de criação de um documento via base64 em '.pdf', basta navegar em **"tests/docs/create\_doc\_frombase64pdf\_parameter\_test.go".**

![](https://3085168645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4noMoX5ZGb2-RhWjjf-887967055%2Fuploads%2FH6QrKdSf6QSY6W4XqHCv%2Fimage.png?alt=media\&token=dff6a2c4-06ad-4ff4-9a1e-11bee2b35783)

Para que esse teste consiga ter um [retorno 200](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200) e com sucesso, precisamos de algumas configurações essenciais.

* Um API Token.&#x20;
  * Descubra como achar seu [API Token](https://docs.zapsign.com.br/).
  * [Adicione seu API Token no projeto](https://docs.zapsign.com.br/facilitadores/sdks/sdk-em-go/definindo-configuracoes/adicionando-api-token)
* O Body da requisição
  * Navegue até "**models/base64.go"**
    * Configure como você quer que seu documento seja criado. Veja mais detalhes nesse link de como criar um [documento utilizando a API](https://docs.zapsign.com.br/documentos/criar-documento).

<figure><img src="https://3085168645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4noMoX5ZGb2-RhWjjf-887967055%2Fuploads%2F5RDbHaL0i0pN6KBURdl0%2FCaptura%20de%20tela%20de%202023-02-10%2016-02-05.png?alt=media&#x26;token=c5e266a3-dc92-4347-9f54-3e5c59f37e2b" alt=""><figcaption><p>Exemplo básico de um documento criado com o parâmetro base64_pdf </p></figcaption></figure>

Após toda a configuração do seu [API Token](https://docs.zapsign.com.br/), basta rodar o teste automatizado que o documento será criado com sucesso.&#x20;

<figure><img src="https://3085168645-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4noMoX5ZGb2-RhWjjf-887967055%2Fuploads%2Fxa9Do3xbBp7zQYwMdCSo%2FCaptura%20de%20tela%20de%202023-02-10%2016-11-40.png?alt=media&#x26;token=3821de37-b036-49c3-95ec-0aec6cac8bbd" alt=""><figcaption><p>Teste automatizado concluído e documento criado com sucesso.</p></figcaption></figure>

Pronto! A requisição foi realizada com sucesso e um documento foi criado em sua conta!  Fácil, né? 😁

Ficou alguma dúvida ou tem alguma sugestão de melhoria? Nos contate [aqui](https://zapsign.com.br/contato/).
