> For the complete documentation index, see [llms.txt](https://docs.autentique.com.br/api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.autentique.com.br/api/2/mutations/criando-um-documento/funcao-observador-e-ccs.md).

# Função observador e CCs

### Observadores

Os `watchers` são pessoas que podem acompanhar um documento sem precisar exercer uma função de assinatura, aprovação ou reconhecimento.

Ao ser adicionado como observador, o usuário passa a ter acesso ao documento diretamente em sua listagem de documentos. Dessa forma, ele pode consultar o conteúdo e acompanhar seu andamento sem precisar fazer parte da lista de signatários.

{% hint style="info" %}
Caso um signatário também seja adicionado como observador usando o mesmo endereço de e-mail, ele continuará participando normalmente da assinatura, mas não receberá os e-mails destinados aos observadores. Internamente, a API evita o envio dessas notificações duplicadas.
{% endhint %}

{% hint style="warning" %}
Este recurso está disponível exclusivamente para usuários do plano Profissional.
{% endhint %}

#### Adicionando observadores na criação

Na criação, o campo `watchers` faz parte do objeto `DocumentInput` e recebe uma lista de endereços de e-mail:

```graphql
input DocumentInput {
  watchers: [String!]
}
```

Exemplo de mutation:

```graphql
mutation CreateDocument(
  $document: DocumentInput!
  $signers: [SignerInput!]!
  $file: Upload!
) {
  createDocument(
    document: $document
    signers: $signers
    file: $file
  ) {
    id
    name
    watchers {
      email
    }
  }
}
```

Trecho das variáveis:

```json
{
  "document": {
    "name": "Contrato de prestação de serviços",
    "watchers": [
      "juridico@exemple.com",
      "gestor@exemple.com"
    ]
  },
  "signers": [
    {
      "email": "signatario@exemple.com",
      "action": "SIGN"
    }
  ]
}
```

Como a criação também envia o arquivo do documento, a requisição precisa seguir o formato `multipart/form-data`, conforme explicado na página [Criando um Documento](https://docs.autentique.com.br/api/2/mutations/criando-um-documento).

#### Notificando os observadores

Quando `configs.notify_watchers` estiver habilitado, os observadores também poderão receber e-mails sobre os eventos de assinatura realizados pelos signatários do documento.

```graphql
input DocumentConfigInput {
  notify_watchers: Boolean = false
}
```

Como o valor padrão é `false`, envie `true` quando quiser habilitar essas notificações:

```json
{
  "document": {
    "name": "Contrato de prestação de serviços",
    "watchers": [
      "juridico@exemple.com"
    ],
    "configs": {
      "notify_watchers": true
    }
  }
}
```

#### Atualizando os watchers

O recurso também está disponível na mutation `updateDocument`. Nesse caso, `watchers` faz parte do objeto `UpdateDocumentInput`.

Exemplo:

```graphql
mutation UpdateDocument(
  $documentId: UUID!
  $document: UpdateDocumentInput!
) {
  updateDocument(
    id: $documentId
    document: $document
  ) {
    id
    name
    watchers {
      email
      user_id
      organization_id
      group_id
      folder_id
    }
  }
}
```

Variáveis:

```json
{
  "documentId": "UUID_DO_DOCUMENTO",
  "document": {
    "watchers": [
      "juridico@exemplo.com",
      "diretoria@exemplo.com"
    ],
    "configs": {
      "notify_watchers": true
    }
  }
}
```

### Cópias de e-mail

O campo `cc` permite definir pessoas que devem receber uma cópia do documento após a conclusão do processo de assinatura. Diferentemente dos signatários, elas não precisam realizar nenhuma ação. Também não acompanham as atualizações intermediárias como os observadores.

O recurso está disponível tanto na criação quanto na atualização do documento:

```graphql
cc: [EmailInput]
```

Cada endereço deve ser enviado dentro de um objeto com o campo `email`:

```json
{
  "document": {
    "name": "Contrato de prestação de serviços",
    "cc": [
      {
        "email": "juridico@exemple.com"
      },
      {
        "email": "gestor@exemple.com"
      }
    ]
  }
}
```
