Skip to content

Papéis e Responsabilidades

Papéis de Interação Entre Capabilities

Para padronizar a documentação de capabilities, cada operação usa estes papéis transversais:

  • Provider: participante que expõe a interface da operação (endpoint, ferramenta ou canal de eventos).
  • Consumer: participante que invoca, assina ou consome essa interface.

Orientação de documentação:

  • Toda operação documentada declara um Provider e um Consumer.
  • Um participante pode atuar como Provider em uma operação e Consumer em outra.
  • A classificação Provider/Consumer é específica por operação e não é identidade global do sistema.

Ordering Application

Quem é: Aplicativo de pedido do consumidor final, marketplace, PDV de autoatendimento, totem.

Responsabilidades:

  • Consumir contexto de estabelecimento (catálogo, horários, disponibilidade).
  • Criar pedidos e acompanhar o ciclo de vida.
  • Consumir eventos de pedido e entrega.
  • Acionar ações de ciclo de vida quando aplicável.
  • Publicar endpoint de Discovery declarando suas capabilities.

Capabilities típicas:

Capability Papel
Merchant Consumer
Orders Consumer / Provider (callbacks)
Logistics Consumer
Customer Provider (ingesta dados)

Software Service (PDV)

Quem é: Sistema de gestão do restaurante, PDV, sistema de retaguarda.

Responsabilidades:

  • Publicar contexto do estabelecimento (cardápio, horários, serviços).
  • Receber e processar pedidos.
  • Emitir fatos de progressão do ciclo de vida do pedido.
  • Coordenar com participantes de logística quando necessário.
  • Gerenciar conta e comandas em operações Indoor.

Capabilities típicas:

Capability Papel
Merchant Provider
Orders Provider
Indoor Provider
Logistics Consumer

Logistics Service (Delivery Platform)

Quem é: Operador de entrega, frota própria, agregador logístico.

Responsabilidades:

  • Verificar disponibilidade e fornecer cotação de entrega.
  • Aceitar ou recusar solicitações de coordenação de entrega.
  • Emitir fatos de progresso de entrega e incidentes.
  • Fornecer contexto de status e disponibilidade de entrega.

Capabilities típicas:

Capability Papel
Logistics Provider

Independência

O Logistics Service pode operar sem que a capability Orders esteja implementada por nenhum dos outros participantes. O orderId é apenas um identificador de correlação acordado entre as partes.


Software CRM (host de Customer)

Quem é: Plataforma de CRM, automação de marketing ou sistema de fidelidade que usa a capability Customer.

Responsabilidades:

  • Receber e deduplicar dados do cliente.
  • Receber pedidos no contexto de relacionamento (sem alterar o ciclo operacional de Orders).
  • Opcionalmente hospedar módulos Reviews e/ou Loyalty.
  • Emitir eventos de relacionamento e de fidelidade quando for a autoridade.

Capabilities típicas:

Capability Papel
Customer (núcleo + módulos Reviews/Loyalty conforme suporte) Provider

Modelo Hub / Intermediário

Um hub PODE atuar como Ordering Application em um lado da integração e como Software Service em outro.

Implementações DEVEM preservar o comportamento específico do papel para cada papel que assumem.

Exemplo: Um marketplace que gerencia múltiplos restaurantes atua como Ordering Application para o consumidor final e como intermediário para o Software Service de cada restaurante.