# Documentação API

## Autenticação - Chave de acesso

Todas as APIs do Carteiro Digital são autenticadas por Bearer Authentication. A validade do token de acesso é de vários dias, não sendo necessário gerar um novo a cada chamada de API. Mas um novo deve ser gerado sempre que uma chamada retornar erro 401 (unauthorized) ou outro equivalente. Para gerar um novo token de acesso, utilize a chamada abaixo.

<mark style="color:green;">`POST`</mark> `https://api.robbu.global/v1/login`

#### Path Parameters

| Name | Type   | Description                                                                                         |
| ---- | ------ | --------------------------------------------------------------------------------------------------- |
|      | object | { "administration": false, "company": "XPTO", "username": "josedasilva", "password": "1234567890" } |

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

```
{
    	"access_token": <token>,
    	"expire_in": 324684897,
    	"refresh_token": "",
    	"token_type": "Bearer"
}

```

{% endtab %}
{% endtabs %}

## Modo STANDARD / DIRECT

Verificação por token (código randômico de 4 dígitos ou primeiros dígitos do CPF/CNPJ) de documento já gerado

Utilize essa chamada para o envio de um documento PDF pronto.

Type STANDARD: O documento será registrado pelo Carteiro Digital, um código de validação (token) será retornado pela API e uma mensagem será enviada ao destinatário solicitando que o código seja informado. O código retornado pela API deverá ser informado ao cliente por algum outro canal (telefone, por exemplo) para que o mesmo o informe e receba o documento.

Type DIRECT: O documento será registrado pelo Carteiro Digital e uma mensagem será enviada ao destinatário solicitando que seja informado os 3 primeiros números de seu CPF/CNPJ para que receba o documento.

O código de validação no modo Padrão expira em 30 minutos.

<mark style="color:green;">`POST`</mark> `https://api.robbu.global/v1/digitalpostman`

#### Headers

| Name          | Type   | Description           |
| ------------- | ------ | --------------------- |
| Authorization | string | Bearer \<acess token> |

#### Request Body

| Name | Type   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ---- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|      | object | { "walletCode": "123", "senderName": "João da Robbu", "contactName": "Ricardo dos Santos", "contactId": "1231231234", "contactPhoneNumber": 5511999887766, "documentAddress": "<https://blob.robbu.net/boletoteste.pdf>", "documentBase64": "BASE 64 se documentAddress não for informado", "documentFileName": "seuboleto.pdf", "documentCode": "001 9 337370000000100 05009 401448 16060680935031", "invalidTokenMessage": "Se você esqueceu o seu código, ou ele já expirou, por favor ligue para 11-40041234 e solicite novamente", "type": "standard" \| "direct" } |

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

```
{
"message": "document successfully registered to be sent",
"token": 7723,
"expirationTime": "2020-02-03T13:44:08.7692697"
}

```

{% endtab %}
{% endtabs %}

## Modo PRE-REGISTERED

Verificação prévia por token (código randômico de 4 dígitos) de documento ainda não gerado

Utilize essa chamada para, na chamada 1, pré-registrar o envio de um documento PDF que ainda será gerado. E na chamada 2 enviar o documento pronto que foi previamente registrado.

Na chamada 1 o documento será pré-registrado pelo Carteiro Digital, um código de validação (token) será retornado pela API e uma mensagem será enviada ao destinatário solicitando que o código seja informado. O código retornado pela API deverá ser informado ao cliente por algum outro canal (telefone, por exemplo) para que o mesmo o informe e receba o documento.

Na chamada 2 o documento pré-registrado será efetivamente cadastrado e, caso o token já tenha sido validado pelo cliente, o documento será entregue imediatamente. Caso o cliente ainda não tenha validado, o documento será cadastrado normalmente e, assim que validado, será entregue.

O código de validação no modo Pré-Registrado expira em 60 minutos.

## Chamada 1

<mark style="color:green;">`POST`</mark> `https://api.robbu.global/v1/digitalpostman`

#### Headers

| Name | Type   | Description            |
| ---- | ------ | ---------------------- |
|      | string | Bearer \<access token> |

#### Request Body

| Name | Type   | Description                                                                                                                                                                                                                                                                                                              |
| ---- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|      | object | {{ "walletCode": "123", "senderName": "João da Robbu", "contactName": "Ricardo dos Santos", "contactId": "1231231234", "contactPhoneNumber": 5511999887766, "invalidTokenMessage": "Se você esqueceu o seu código, ou ele já expirou, por favor ligue para 11-40041234 e solicite novamente", "type": "pre-registered" } |

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

```
{
"message": "document successfully registered to be sent",
"token": 7723,
"expirationTime": "2020-02-03T13:44:08.7692697"
}

```

{% endtab %}
{% endtabs %}

## Chamada 2

<mark style="color:green;">`POST`</mark> `https://api.robbu.global/v1/digitalpostman`

#### Headers

| Name          | Type   | Description           |
| ------------- | ------ | --------------------- |
| Authorization | string | Bearer \<acess token> |

#### Request Body

| Name | Type   | Description                                                                                                                                                                                                                                                                                                                                                                                |
| ---- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|      | object | { "walletCode": "123", "contactId": "1231231234", "contactPhoneNumber": 5511999887766, "documentAddress": "<https://blob.robbu.net/boletoteste.pdf>", "documentBase64": "BASE 64 se documentAddress não for informado", "documentFileName": "seuboleto.pdf", "type": "pre-registered", "documentCode": "001 9 337370000000100 05009 401448 16060680935031", "preRegisteredToken": "7723" } |

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

```
{
"message": "document successfully sent",
"token": 7723,
"expirationTime": "2020-02-03T13:44:08.7692697"
}

```

{% 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://carteirodigital.docs.robbu.global/master.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.
