# Preparação de documento(s)

A preparação de documentos é um processo destinado a obter um arquivo já preparado para receber a assinatura e também o hash a ser assinado.

O processo é feito de forma assíncrona. Ao iniciar-se o processo é gerado um TCN (Token de controle da transação), o TCN deve ser utilizado para identificar a transação no momento da recuperação do documento.

&#x20;Os campos retornados para cada documento são:&#x20;

**prepared\_checksum** - Hash para verificação da integridade do documento preparado;

**prepared\_result** - URL para download do documento preparado;

**prepared\_hash** - Hash a ser assinado e incorporado ao documento preparado.

<mark style="color:green;">`POST`</mark> `http://cess.local/signature-service`

#### Headers

| Name          | Type   | Description                                                   |
| ------------- | ------ | ------------------------------------------------------------- |
| Authorization | string | Basic, Bearer ou VCSchema (Veja "Autenticação e Autorização") |
| Content-Type  | string | application/json                                              |
| Accept        | string | application/json                                              |

#### Request Body

| Name                   | Type    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ---------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| certificate\_alias     | string  | Identifica qual certificado será utilizado para realizar assinatura.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| documents\_destination | string  | <p>- <strong>AWS\_S3</strong> (o arquivo assinado será salvo no bucket S3)<br>- <strong>GCP\_STORAGE</strong> (o arquivo assinado será salvo no bucket Google Cloud Platform Storage) </p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| mode                   | string  | <p> Modo de operação<br> - sync<br> - async</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| type                   | string  | <p>Tipo de assinatura<br>- CMS-attached<br>- CMS-detached<br>- PDFSignature <br>- CAdEs-attached<br>- CAdEs-detached<br>- PAdEs<br>- XAdES <br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| notification\_callback | string  | <p>URL de callback para notificação, o sistema irá notificar quando o processo de assinatura for finalizado, será feito uma requisição HTTP(s) - POST na URL informada, na chamada será concatenado o código transação no final da url informada neste parâmetro.<br><br>URL informada: <em><http://endpointx.com?tcn=></em> <br>URL que será feita a requisição HTTP: <em><http://endpointx.com></em>?tcn=tcn\_aqui\_123456</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| policy                 | string  | <p>Políticas por tipo de assinatura<br><br>- CMS: <br>    - Default ( Assinatura padrão CMS )<br>    - TSA ( Assinatura padrão CMS incluindo assinatura da carimbadora do tempo )<br>- PDFSignature:<br>    - Default ( Assinatura padrão PDF - Adobe )<br>    - TSA ( Assinatura padrão de PDF - Adobe incluindo assinatura da carimbadora do tempo )<br>- CAdEs/PAdEs:<br>    - AD\_RB ( ICP Brasil )<br>    - AD\_RT ( ICP Brasil )<br>- XAdES:<br>    - AD\_RB<br>    - AD\_RT<br>    - AD\_RC<br>    - AD\_RA</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| hash\_algorithm        | string  | Algoritmo de hash que será utilizado na assinatura (SHA1,SHA256, SHA384 ou SHA512)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| signature\_settings    | object  | <p>Parâmetros adicionais de configuração de assinatura, devem ser enviados para configuração de assinatura visível (PDFSignature/PAdES)<br><br>- <strong>id</strong> ( Identificador da configuração de assinatura )<br>- <strong>contact</strong> ( Contato do assinante )<br>- <strong>location</strong> ( Localização da assinatura, Ex: Washington-DC )<br>- <strong>reason</strong> ( Motivo da assinatura )<br>-<strong>visible\_signature</strong> (true or false, desabilita a assinatura visível) <br>- <strong>visible\_sign\_page</strong> ( Página onde será inserido a assinatura visível. OBS: Este é um campo do tipo inteiro. Envie 1 para a primeira página, -1 para última e "\*" ou -100 para todas as páginas.)<br>- <strong>visible\_sign\_x</strong> ( Coordenada X na página onde  será inserido a assinatura visível )<br>- <strong>visible\_sign\_y</strong> (  Coordenada Y na página onde  será inserido a assinatura visível )<br>- <strong>visible\_sign\_width</strong> ( Largura da imagem da assinatura visível )<br>- <strong>visible\_sign\_height</strong> ( Altura da imagem da assinatura visível )<br>- <strong>visible\_sign\_scale</strong> ( Escala (%) da imagem da assinatura visível )<br>- <strong>visible\_sign\_img</strong> ( Bytes de uma imagem PNG no formato DATA URI com a assinatura do usuário - RFC 2397 )<br>- <strong>extraInfo</strong> (Array para adicionar metadados no PDF, útil para prescrição médica. Contendo as chaves <em>name</em> e <em>value.</em> Exemplo<em>:  "extraInfo": \[{ "name": "2.16.1.12.1.2", "value": "Atestado Médico" }]</em> )<br>-<strong>prepare\_fields\_value</strong> (Array para adicionar valores aos formulários do PDF. Contendo as chaves <em>name</em>, <em>type</em> e <em>value</em>. Exemplo: "<em>prepare\_fields\_value": \[ { "name": "03\_Cidade Local de Atendimento", "type": "text", "value": "Goiania" }]</em> )<br><br>Parâmetros adicionais para configuração de assinatura devem ser enviados para assinatura padrão <strong>XAdES</strong><br>  - <strong>tag\_name</strong> (Nome da tag a ser assinada)<br>  - <strong>tag\_id</strong> (Id da tag a ser assinada)</p> |
| auto\_fix\_document    | boolean | Habilita autocorreção do documento caso disponível                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| tsa\_server\_id        | string  | Identificador da carimbadora do tempo                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| tsa\_hash\_algorithm   | string  | Algoritmo de hash que será utilizado na assinatura do carimbo do tempo (SHA1,SHA256, SHA384 ou SHA512)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| documents\_source      | string  | <p>Origem dos documentos:<br>- <strong>DATA\_URL</strong> ( Arquivo encodado na URL - <https://tools.ietf.org/html/rfc2397> ) <br>- <strong>FILE\_PATH</strong> ( Caminho do arquivo local do arquivo )<br>- <strong>UPLOAD\_REFERENCE</strong> ( O conteúdo do arquivo deverá ser enviado posteriormente via API )<br>- <strong>AWS\_S3</strong> (nome do objeto no bucket do S3)<br>- <strong>GCP\_STORAGE</strong> (nome do objeto no bucket do GCP)<br>- <strong>HASH</strong> (o hash deverá ser em hexadecimal - enviado na chave data de documents)</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| documents              | string  | <p>Caso o documents\_source seja do tipo DATA\_URL ou FILE\_PATH esse parâmetro deve ser enviado.<br><br>Lista de especificação de documento(s) a ser(em) assinado(s), caso seja enviado mais de um item na lista, automaticamente a requisição será reconhecida como transação de assinatura em lote.<br><br>- i<strong>d</strong> ( Identificador do documento na transação )<br>- <strong>data</strong> ( Conteúdo compatível com especificado no data source )<br>- <strong>destination\_file\_name</strong> (Caso esteja utilizando <em>documents\_destination</em> com valor <em>AWS\_S3 ou GCP\_STORAGE,</em> poderá ser definido o nome do objeto. Se o nome não for definido, será criado um identificar aleatório com a seguinte lei de formação: <em>ano</em><strong>/</strong><em>mês</em><strong>/</strong><em>dia</em><strong>/</strong><em>timestamp</em><strong>\_</strong><em>númeroAleatório8dígitos</em></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

{% tabs %}
{% tab title="200 " %}

```json
{
	"certificate_alias": "",
	"type": "PAdEs",
	"hash_algorithm": "SHA256",
	"auto_fix_document": true,
    "mode":"async",
	"signature_settings": [{
		"id": "default",
		"contact": "123456789",
		"location": "GoianiaGO",
		"reason": "Aprovação de documento"
	}],
	"documents_source": "UPLOAD_REFERENCE"
}
```

{% endtab %}
{% endtabs %}

### Download do documento preparado

Para fazer o download do documento preparado, basta acessar a url retornada em **prepared\_result**.

<mark style="color:blue;">`GET`</mark> `http://cess.local/file-transfer/<tcn>/<document id>?prepared=true`

#### Path Parameters

| Name                                           | Type   | Description |
| ---------------------------------------------- | ------ | ----------- |
| tcn<mark style="color:red;">\*</mark>          | string |             |
| document\_id<mark style="color:red;">\*</mark> | String |             |

{% tabs %}
{% tab title="200 " %}

```
bytes do documento preparado
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.vaultid.com.br/workspace/cess/api/preparacao-de-documento-s.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
