Conceitos Fundamentais
Conceitos fundamentais de integração — documentos, história do MassID, imutabilidade e modelo de eventos.
Esses conceitos formam a base do modelo de integração da Carrot API. Entenda-os antes de escrever suas primeiras chamadas à API.
O que é um documento?
Um documento é a estrutura de dados raiz para um registro de rastreabilidade. Ele registra e representa o histórico completo de um processo logístico ou fluxo de uma massa — da origem ao destino final — de forma transparente e auditável. Cada documento recebe um identificador único e é classificado por categoria, tipo e subtipo.
Documentos podem se relacionar com outros documentos por meio de eventos, permitindo que a plataforma construa uma visão integrada de processos conectados. Por exemplo, um MassID rastreando um lote de resíduos pela cadeia de suprimentos é um documento que armazena campos de identidade e classificação, enquanto todas as mudanças de estado são representadas por eventos anexados à sua linha do tempo.
Referência: Documents API.
Que história um MassID precisa contar?
Todo MassID deve contar uma história completa — com início, meio e fim claros. Ao enviar dados para a Carrot API, garanta que o registro seja coeso, rastreável e detalhado o suficiente para compreender a origem da massa, sua jornada e seu destino final.
Um MassID bem documentado inclui informações como:
- Ponto de origem — onde o resíduo foi gerado ou coletado
- Etapas logísticas — coleta, pesagem (peso bruto e líquido), identificação do veículo
- Pontos de transbordo — transferências intermediárias ou áreas de preparação
- Participantes envolvidos — cada ator na cadeia de custódia
- Destino final — a unidade de reciclagem ou tratamento biológico
Cada informação fortalece a rastreabilidade, a integridade dos dados e o valor percebido do crédito ambiental resultante. Quanto mais contexto você fornecer, maior a confiança para compradores de créditos e auditores.
Veja Enviando um MassID para o fluxo de implementação passo a passo.
Imutabilidade por eventos
Não há endpoint de atualização ou exclusão. Em vez disso, você adiciona eventos para representar mudanças operacionais ao longo do tempo. A plataforma utiliza um modelo event-sourced: cada submissão é anexada à linha do tempo do documento, e o estado atual é derivado do log de eventos.
Essa imutabilidade é fundamental para o mercado de créditos ambientais. Uma vez que os dados são registrados e os créditos são emitidos e negociados, os compradores precisam da garantia de que os registros subjacentes são permanentes e não podem ser alterados após o fato. Dados imutáveis fortalecem a credibilidade do sistema para compradores, reguladores e auditores.
Se você precisar corrigir um erro, não tente editar o documento. Em vez disso, cancele-o usando um
evento CANCEL e crie um novo documento com os dados corrigidos, preservando o fluxo completo de
rastreabilidade.
Referência: Events API · Error Handling.
Eventos e metadados
Eventos representam ações operacionais concretas realizadas em um documento — por exemplo, coleta de resíduos, pesagem, transporte ou entrega em uma unidade de reciclagem. Juntos, os eventos formam a linha do tempo do documento: um registro cronologicamente ordenado de tudo que aconteceu com a massa.
Cada evento pode carregar metadados (também chamados de atributos) — pares chave-valor que fornecem contexto adicional sobre o que aconteceu. Exemplos incluem data, localização, placa do veículo, identificador do operador ou medição de peso. Os metadados enriquecem a linha do tempo e tornam o registro de rastreabilidade mais robusto para auditorias e verificação.
Alguns campos de metadados são exigidos por regras da metodologia específicas, enquanto outros são recomendados como boas práticas. Quanto mais detalhes você fornecer, mais forte será o resultado da validação.
Referência: Event Specification · Data Formats.
Ordenação de eventos
A cronologia dos eventos importa. O campo externalCreatedAt deve ser válido em relação às entradas
existentes na linha do tempo, portanto sua integração deve preservar a ordem do sistema de origem e as
retentativas. A plataforma não permite eventos com data futura — os timestamps devem refletir quando a
ação ocorreu no sistema de origem.
Visibilidade e privacidade
A visibilidade pública (isPublic) e a visibilidade pesquisável (isPubliclySearchable) fazem parte
do modelo base e podem ser ajustadas por meio de fluxos de eventos.
Guia: Privacy & Masking.
Idempotência e resiliência
Use deduplicationId para retentativas de criação/eventos e trate erros transitórios de forma
diferente dos erros de validação.
Guia: Error Handling.