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
Path Parameters
Identificador do documento
Header Parameters
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"
}Utilize POST /documents/{documentId}/events para adicionar um evento à linha do tempo de um documento.
Eventos em lote
Header Parameters
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"
}
]
}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
| Tipo | Finalidade |
|---|---|
ACTOR | Adiciona um papel de participante no documento e pode atualizar permissões. |
CLOSE | Fecha o documento para atualizações futuras (exceto fluxos de relação específicos). |
CANCEL | Cancela o documento e bloqueia ações futuras. |
RELATED | Vincula este documento a outro documento. |
UPDATE | Atualiza campos específicos de visibilidade do documento. |
SPLIT | Cria um novo documento com parte do valor original. Sem schema dedicado — representado via campos de payload target. |
OUTPUT | Cria um novo documento downstream a partir dos dados atuais. Sem schema dedicado — representado via campos de payload target. |
CUSTOM | Nomes 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
externalCreatedAtdeve ser anterior ao horário atual.externalCreatedAtdeve ser igual ou posterior ao último evento registrado.- Utilize
deduplicationIdao 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.