# Contacts

## GET /pbx/contacts/paginated

> Lista os contatos

```json
{"openapi":"3.0.0","info":{"title":"API pública do Voice","version":"1.0"},"tags":[],"servers":[{"url":"v1"}],"security":[{"basic":[]}],"components":{"securitySchemes":{"basic":{"type":"http","scheme":"basic"}}},"paths":{"/pbx/contacts/paginated":{"get":{"operationId":"ContactsController_contacts","summary":"Lista os contatos","parameters":[{"name":"internal_limit","required":false,"in":"query","description":"Quantidade de contatos internos por página","schema":{"default":10,"type":"number"}},{"name":"internal_page","required":false,"in":"query","description":"Número da página de contatos internos que deverá ser exibida","schema":{"default":1,"type":"number"}},{"name":"internal_sort","required":false,"in":"query","description":"Indica como deve ser a ordenação dos contatos internos: asc ou desc","schema":{"default":"ASC","enum":["asc","desc"],"type":"string"}},{"name":"internal_sort_field","required":false,"in":"query","description":"Indica por qual campo deve ser a ordenação dos contatos internos: name ou number","schema":{"default":"name","enum":["name","number"],"type":"string"}},{"name":"internal_search_value","required":false,"in":"query","description":"Indica o valor do campo onde deve ser feita a busca dos contatos internos. Internamente o backend procura este valor nos campos name e extension","schema":{"type":"string"}},{"name":"internal_hide_numbers","required":false,"in":"query","description":"Contato interno que não será exibido na lista de contatos","schema":{"type":"string"}},{"name":"external_limit","required":false,"in":"query","description":"Quantidade de contatos externos por página","schema":{"default":10,"type":"number"}},{"name":"external_page","required":false,"in":"query","description":"Número da página de contatos externos que deverá ser exibida","schema":{"default":1,"type":"number"}},{"name":"external_sort","required":false,"in":"query","description":"Indica como deve ser a ordenação dos contatos externos: asc ou desc","schema":{"default":"ASC","enum":["asc","desc"],"type":"string"}},{"name":"external_sort_field","required":false,"in":"query","description":"Indica por qual campo deve ser a ordenação dos contatos externos: name ou number","schema":{"default":"name","enum":["name","number"],"type":"string"}},{"name":"external_search_value","required":false,"in":"query","description":"Indica o valor do campo que deve onde ser feita a busca dos contatos externos. Internamente o backend procura este valor nos campos name e number","schema":{"type":"string"}},{"name":"external_hide_numbers","required":false,"in":"query","description":"Contato externo que não será exibido na lista de contatos","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Contacts"]}}}}
```

## GET /pbx/contacts/call\_history\_by\_contact

> Histórico de contato

```json
{"openapi":"3.0.0","info":{"title":"API pública do Voice","version":"1.0"},"tags":[],"servers":[{"url":"v1"}],"security":[{"basic":[]}],"components":{"securitySchemes":{"basic":{"type":"http","scheme":"basic"}},"schemas":{"ResponseCallHistoryByContact":{"type":"object","properties":{"codename":{"type":"string","description":"Codinome ou identificador único usado para referenciar o agente de forma anônima dentro do sistema."},"date_time":{"type":"string","description":"Data e hora"},"contact_id":{"type":"string","description":"ID do contato"},"contact_name":{"type":"string","description":"Nome do contato"},"contact_number":{"type":"string","description":"Número do contato"},"contact_photo":{"type":"string","description":"Foto do contato"},"agent_name":{"type":"string","description":"Nome do agente"},"agent_photo":{"type":"string","description":"Foto do agente"},"disposition":{"type":"string","description":"Disposição da chamada (atendida, ocupada, não atendida)"},"call_type":{"type":"string","description":"Fluxo da chamada (Entrada, saída)"},"recording_file":{"type":"string","description":"Arquivo de gravação"},"recording_path":{"type":"string","description":"Caminho da gravação"},"recording_stream":{"type":"string","description":"Link para ouvir a gravação"},"transfer_type":{"type":"string","description":"Tipo de transferência, se houver, se não, o campo fica vazio"},"transfer_source":{"type":"string","description":"Número que transferiu"},"source":{"type":"string","description":"Origem da chamada"},"destination":{"type":"string","description":"Destino da chamada"}},"required":["codename","date_time","contact_id","contact_name","contact_number","contact_photo","agent_name","agent_photo","disposition","call_type","recording_file","recording_path","recording_stream","transfer_type","transfer_source","source","destination"]}}},"paths":{"/pbx/contacts/call_history_by_contact":{"get":{"operationId":"ContactsController_getCallHistoryByContact","summary":"Histórico de contato","parameters":[{"name":"id","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseCallHistoryByContact"}}}}},"tags":["Contacts"]}}}}
```


---

# 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.fortics.com.br/voice-api-reference/reference/contacts.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.
