# Comunicação de documentos à AT

## Pedir comunicação de documentos <a href="#pedir-comunicacao-de-documentos" id="pedir-comunicacao-de-documentos"></a>

Pode enviar 3 tipos de documentos à Autoridade Tributária:

* *sales\_document*: documentos de venda
* *shipment\_document*: guias
* *purchases\_shipment\_document*: guias de devolução a fornecedor

De modo a comunicar um documento, deverá realizar um pedido POST, para o endpoint: *send\_document\_at\_webservice*

## Comunicação de documentos

<mark style="color:purple;">`PATCH`</mark> `/send_document_at_webservice`

#### Request Body

| Name                                   | Type   | Description |
| -------------------------------------- | ------ | ----------- |
| data<mark style="color:red;">\*</mark> | object |             |

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

```javascript
{
  data: {
    type: 'send_document_at_webservice',
    id: '<document_id>',
    attributes: {
      communication_status: <communciation_status>,
      communication_code: <communication_code>,
      communication_message: <communication_message>
    }
  }
}
```

{% endtab %}
{% endtabs %}

```
curl -v -X POST -H 'Content-Type: application/vnd.api+json'\
-H 'Accept: application/json'\
-H 'Authorization: Bearer <access_token>'\
-d '<payload JSON>' '<API_URL>/send_document_at_webservice'
```

O payload a utilizar para a comunicação é o seguinte:

{% code title="Payload" %}

```json
{
  "data": {
    "type": "send_document_at_webservice",
    "id": 2,
    "attributes": {
      "document_type": "<document_type>",
       "entity_username": "<at_username>",
       "entity_password": "<at_password_base_64>"
    }
  }
}
```

{% endcode %}

{% hint style="info" %}
"entity\_username" -> Nome de utilizador usado para acesso ao Portal das finanças. "entity\_password" -> Palavra-passe usada para acesso ao Portal das Finanças.
{% endhint %}

A resposta ao pedido trará informação sobre o sucesso/insucesso da operação no seguinte formato:

{% code title="Response" %}

```json
{
    "data": {
        "id": "<document_id>",
        "type": "send_document_at_webservice",
        "attributes": {
            "communication_message": "<communication_message>",
            "communication_code": "<communication_code>",
            "communication_status": "<communciation_status>",
        }
    }
}
```

{% endcode %}

O campo *communication\_code* terá o código de comunicação à Autoridade Tributária no caso do documento comunicado ter sido uma guia (vendas ou compras).
