Docs
IntegrationsReferência da API

Eventos

Adicionar eventos imutáveis às linhas do tempo de documentos na Carrot API.

Eventos são o mecanismo principal para evoluir o estado dos documentos. Após a criação de um documento, todas as alterações relevantes são registradas como novos eventos.

Criar evento

POST
/documents/{documentId}/events

Path Parameters

documentId*string

Identificador do documento

Header Parameters

Authorization*string

Token de autorização

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://api.carrot.eco/documents/string/events" \  -H "Authorization: string" \  -H "Content-Type: application/json" \  -d '{    "externalCreatedAt": "2020-01-01T00:00:00.000Z",    "isPublic": true,    "name": "CLOSE"  }'
{
  "documentId": "28b04f62-8fe2-4332-b854-fe8a922788b5",
  "eventId": "JrSRCUhKOxKyUujM2DkH9"
}
Empty
Empty
Empty

Utilize POST /documents/{documentId}/events para adicionar um evento à linha do tempo de um documento.

Eventos em lote

POST
/documents/events

Header Parameters

Authorization*string

Token de autorização

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://api.carrot.eco/documents/events" \  -H "Authorization: string" \  -H "Content-Type: application/json" \  -d '{    "events": [      {        "externalCreatedAt": "2020-01-01T00:00:00.000Z",        "isPublic": true,        "name": "Pick-up"      }    ]  }'
{
  "documentId": "28b04f62-8fe2-4332-b854-fe8a922788b5",
  "events": [
    {
      "eventId": "string",
      "targetDocumentId": "string"
    }
  ]
}
Empty
Empty
Empty

Utilize POST /documents/events para criar múltiplos eventos para um documento em uma única requisição. Cada evento no lote segue o mesmo schema e as mesmas regras de validação do endpoint de documento individual acima.

Tipos lógicos de evento

TipoFinalidade
ACTORAdiciona um papel de participante no documento e pode atualizar permissões.
CLOSEFecha o documento para atualizações futuras (exceto fluxos de relação específicos).
CANCELCancela o documento e bloqueia ações futuras.
RELATEDVincula este documento a outro documento.
UPDATEAtualiza campos específicos de visibilidade do documento.
SPLITCria um novo documento com parte do valor original. Sem schema dedicado — representado via campos de payload target.
OUTPUTCria um novo documento downstream a partir dos dados atuais. Sem schema dedicado — representado via campos de payload target.
CUSTOMNomes de eventos específicos de metodologia não cobertos pelos tipos nativos.

O schema atual define seis schemas de eventos discriminados (CloseEvent, ActorEvent, CancelEvent, RelatedEvent, UpdateEvent, CustomEvent). SPLIT e OUTPUT não possuem schemas próprios e são representados através de dados de evento utilizando os campos de payload target.

Ordenação e consistência

  • externalCreatedAt deve ser anterior ao horário atual.
  • externalCreatedAt deve ser igual ou posterior ao último evento registrado.
  • Utilize deduplicationId ao reenviar submissões de eventos.

Propagação de eventos

Quando propagateEvent está habilitado, a propagação se aplica apenas a um nível de relacionamento. Algumas combinações de eventos são restritas (por exemplo, eventos propagados não podem enviar value).

Para definições completas de eventos e alinhamento com metodologias, consulte Especificação de Eventos.

On this page