VendeeDocs
Referência

Notas

Notas e observações registradas em um negócio.

GET    {BASE_URL}/api-v1-notes      # lista
GET    {BASE_URL}/api-v1-notes/:id  # detalhe
POST   {BASE_URL}/api-v1-notes      # cria

Use os endereços acima — são os que respondem hoje. A API está migrando para um endereço único ({BASE_URL}/api-v1/notes), que ainda não foi publicado: enquanto isso, qualquer chamada para ele devolve 404 not_found. Quando entrar no ar, esta página muda junto, e os endereços acima continuam valendo.

Escopos: notes:read para os GET; notes:write para a escrita.

Esta ficha não guarda o cliente na própria linha: o acesso é conferido pela ficha deals (campo deal_id). Por isso o parâmetro deal_id é obrigatório na listagem.

Nota registrada não é editada nem removida pela API — só listagem, consulta e criação.

Campos

CampoTipoEscritaNotas
iduuidsomente leitura
deal_iduuidcriar: obrigatório, editar: nãoFormato uuid; deve existir na ficha deals.
author_iduuidsomente leituraSempre quem criou a chave de API. Sem fallback: se não for mais membro ativo, a chamada falha.
bodystringcriar: obrigatório, editar: nãoDe 1 a 10000 caracteres.
kindstringcriar: opcional, editar: nãoValores: note, observation.
sourcestringsomente leituraNota criada pela API pública nasce sempre 'integration'.
agent_action_iduuidsomente leitura
created_atdatetimesomente leitura
updated_atdatetimesomente leitura

Listar notas

GET {BASE_URL}/api-v1-notes

Parâmetro (query)TipoNotas
deal_iduuidObrigatório: a nota é sempre lida e criada dentro de um negócio. Obrigatório.
kindstringValores: note, observation.
sincedatetimeSó registros criados a partir desta data (ISO 8601). Compara: maior ou igual a.
limitnumberTamanho da página. Padrão 50, máximo 200.
cursoruuidPróxima página — use o meta.next_cursor da resposta anterior.

Ordenação: id crescente. Paginação por cursor.

curl "{BASE_URL}/api-v1-notes?deal_id=8f3c..." \
  -H "X-API-Key: vnd_sua_chave_aqui"
{
  "data": [ /* registros */ ],
  "meta": { "next_cursor": "8f3c...", "has_more": true }
}

Consultar um registro

GET {BASE_URL}/api-v1-notes/:id → o recurso completo, ou 404 not_found.

curl "{BASE_URL}/api-v1-notes/8f3c..." \
  -H "X-API-Key: vnd_sua_chave_aqui"

Criar

POST {BASE_URL}/api-v1-notes — escopo notes:write.

CampoTipoObrigatórioNotas
deal_iduuidSimFormato uuid; deve existir na ficha deals.
bodystringSimDe 1 a 10000 caracteres.
kindstringNãoValores: note, observation.
curl -X POST "{BASE_URL}/api-v1-notes" \
  -H "X-API-Key: vnd_sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -d '{ "deal_id": "8f3c...", "body": "..." }'

Erros

HTTPcodeQuando
401missing_api_key / invalid_api_key / revoked_api_keyAutenticação.
403insufficient_scopeA chave não tem notes:read / notes:write.
404not_foundO registro não existe neste cliente.
422validation_errorCampo fora das regras da tabela acima.
422invalid_referencedeal_id aponta para fora deste cliente.
422invalid_cursorO cursor enviado não é válido.
405method_not_allowedMétodo não suportado neste endereço.
500internal_errorFalha interna.

Catálogo completo em Erros.

Idempotência

Mesmo mecanismo dos demais POST da API — veja Atividades → Idempotência. Envie Idempotency-Key para reprocessar a mesma chamada sem duplicar a nota:

curl -X POST "{BASE_URL}/api-v1-notes" \
  -H "X-API-Key: vnd_sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: call-9f21" \
  -d '{ "deal_id": "8f3c...", "body": "Reunião concluída: decisor presente." }'

Erros específicos desta ficha

HTTPcodeQuando
400bad_requestCorpo ausente/JSON inválido.
422no_author_availableQuem criou a API Key não é (mais) membro ativo do workspace.
400invalid_idempotency_keyIdempotency-Key fora de 1–255 caracteres.
422idempotency_conflictMesma Idempotency-Key com corpo ou recurso diferente.
409idempotency_in_progressMesma Idempotency-Key já em processamento (corrida).

Nesta página