{
  "schema_version": 1,
  "diagram_type": "architecture",
  "meta": {
    "title": "Conversões de anúncios",
    "subtitle": "Purchase, etapas e LeadSubmitted por clique CTWA",
    "output": "conversoes-de-anuncios.html",
    "quality_profile": "standard"
  },
  "lanes": [
    {
      "id": "tela",
      "label": "Tela"
    },
    {
      "id": "motor",
      "label": "Motor"
    },
    {
      "id": "dados",
      "label": "Dados"
    }
  ],
  "mainPath": [
    "funil",
    "eventos",
    "handler",
    "transporte",
    "registro",
    "tela",
    "retry"
  ],
  "nodes": [
    {
      "id": "origem",
      "lane": "dados",
      "col": 0,
      "type": "component",
      "label": "Origem do contato"
    },
    {
      "id": "funil",
      "lane": "tela",
      "col": 1,
      "type": "component",
      "label": "Negócio ganho com valor"
    },
    {
      "id": "eventos",
      "lane": "motor",
      "col": 2,
      "type": "component",
      "label": "event_log"
    },
    {
      "id": "handler",
      "lane": "motor",
      "col": 3,
      "type": "component",
      "label": "conversoes.venda"
    },
    {
      "id": "conexao",
      "lane": "dados",
      "col": 4,
      "type": "component",
      "label": "ad_platform_connections"
    },
    {
      "id": "transporte",
      "lane": "motor",
      "col": 5,
      "type": "component",
      "label": "Meta / Google Ads / Data Manager"
    },
    {
      "id": "registro",
      "lane": "dados",
      "col": 6,
      "type": "component",
      "label": "ad_conversion_dispatches"
    },
    {
      "id": "tela",
      "lane": "tela",
      "col": 7,
      "type": "component",
      "label": "Configurações → Conversões"
    },
    {
      "id": "retry",
      "lane": "motor",
      "col": 8,
      "type": "component",
      "label": "RPC e rota de reprocessamento"
    },
    {
      "id": "audit",
      "lane": "dados",
      "col": 9,
      "type": "component",
      "label": "api_audit_log"
    },
    {
      "id": "auditoria",
      "lane": "tela",
      "col": 10,
      "type": "component",
      "label": "Histórico de auditoria"
    },
    {
      "id": "captura",
      "lane": "motor",
      "col": 0,
      "type": "component",
      "label": "Captura Google → referência → contato"
    },
    {
      "id": "qualificacao",
      "lane": "motor",
      "col": 3,
      "type": "component",
      "label": "conversoes.qualificacao"
    },
    {
      "id": "etapa-meta",
      "lane": "motor",
      "col": 4,
      "type": "component",
      "label": "conversoes.etapa_meta"
    },
    {
      "id": "site",
      "lane": "tela",
      "col": 0,
      "type": "component",
      "label": "Site: URL e botão WhatsApp"
    },
    {
      "id": "script",
      "lane": "motor",
      "col": 1,
      "type": "component",
      "label": "Script público v1: origem da visita"
    },
    {
      "id": "canal",
      "lane": "motor",
      "col": 6,
      "type": "component",
      "label": "Canal da conversa com a ponte (reportConversion)"
    },
    {
      "id": "links",
      "lane": "tela",
      "col": 0,
      "type": "component",
      "label": "Links rastreáveis: cadastro e métricas"
    },
    {
      "id": "refs",
      "lane": "dados",
      "col": 1,
      "type": "component",
      "label": "ad_tracking_links + click_refs"
    },
    {
      "id": "regras-meta",
      "lane": "dados",
      "col": 5,
      "type": "component",
      "label": "meta_ads_conversion_rules"
    },
    {
      "id": "msg-ctwa",
      "lane": "dados",
      "col": 0,
      "type": "component",
      "label": "Mensagem inbound: meta_ctwa_message_v1"
    },
    {
      "id": "nascimento-ctwa",
      "lane": "motor",
      "col": 1,
      "type": "component",
      "label": "RPC de nascimento por mensagem"
    },
    {
      "id": "prova-lead",
      "lane": "dados",
      "col": 2,
      "type": "component",
      "label": "Lead: meta_capi_lead_birth_v1"
    },
    {
      "id": "handler-nascimento",
      "lane": "motor",
      "col": 3,
      "type": "component",
      "label": "conversoes.nascimento_meta: pendências legadas"
    },
    {
      "id": "claim-nascimento",
      "lane": "motor",
      "col": 4,
      "type": "component",
      "label": "Claim/lease LeadSubmitted"
    },
    {
      "id": "ativacao-nascimento",
      "lane": "dados",
      "col": 3,
      "type": "component",
      "label": "organizations.meta_lead_birth_enabled_at"
    },
    {
      "id": "registro-cliques",
      "lane": "dados",
      "col": 2,
      "type": "component",
      "label": "meta_ctwa_click_dispatches: primeiro clique e estado"
    },
    {
      "id": "handler-clique",
      "lane": "motor",
      "col": 3,
      "type": "component",
      "label": "conversoes.clique_meta"
    },
    {
      "id": "claim-clique",
      "lane": "motor",
      "col": 4,
      "type": "component",
      "label": "Claim/lease por (organização, ctwa_clid)"
    }
  ],
  "edges": [
    {
      "id": "e0",
      "from": "origem",
      "to": "handler",
      "label": "identificador do clique"
    },
    {
      "id": "e1",
      "from": "funil",
      "to": "eventos",
      "label": "won / stage_changed"
    },
    {
      "id": "e2",
      "from": "eventos",
      "to": "handler",
      "label": "dreno"
    },
    {
      "id": "e3",
      "from": "conexao",
      "to": "handler",
      "label": "credencial por organização"
    },
    {
      "id": "e4",
      "from": "handler",
      "to": "transporte",
      "label": "enviar ou consultar protocolo"
    },
    {
      "id": "e5",
      "from": "transporte",
      "to": "registro",
      "label": "resultado pelo handler"
    },
    {
      "id": "e6",
      "from": "registro",
      "to": "tela",
      "label": "pendências e contador"
    },
    {
      "id": "e7",
      "from": "tela",
      "to": "retry",
      "label": "pedido de administrador"
    },
    {
      "id": "e8",
      "from": "retry",
      "to": "eventos",
      "label": "retry_requested"
    },
    {
      "id": "e9",
      "from": "retry",
      "to": "audit",
      "label": "somente se agendou"
    },
    {
      "id": "e10",
      "from": "audit",
      "to": "auditoria",
      "label": "histórico"
    },
    {
      "id": "e11",
      "from": "tela",
      "to": "conexao",
      "label": "OAuth e configuração"
    },
    {
      "id": "e12",
      "from": "tela",
      "to": "captura",
      "label": "WhatsApp e mensagem por organização"
    },
    {
      "id": "e13",
      "from": "captura",
      "to": "origem",
      "label": "gclid / gbraid / wbraid"
    },
    {
      "id": "e14",
      "from": "eventos",
      "to": "qualificacao",
      "label": "stage_changed / retry_requested"
    },
    {
      "id": "e15",
      "from": "qualificacao",
      "to": "handler",
      "label": "envio compartilhado sem valor"
    },
    {
      "id": "e16",
      "from": "conexao",
      "to": "qualificacao",
      "label": "etapa e ação opcionais"
    },
    {
      "id": "e17",
      "from": "site",
      "to": "script",
      "label": "identificadores e navegação"
    },
    {
      "id": "e18",
      "from": "tela",
      "to": "script",
      "label": "snippet das capturas salvas"
    },
    {
      "id": "e19",
      "from": "script",
      "to": "captura",
      "label": "clique no número configurado"
    },
    {
      "id": "e20",
      "from": "handler",
      "to": "canal",
      "label": "sem conexão direta: pergunta pela capacidade"
    },
    {
      "id": "e21",
      "from": "canal",
      "to": "registro",
      "label": "resultado pelo handler"
    },
    {
      "id": "links-config",
      "from": "links",
      "to": "refs",
      "label": "admin / organização / auditoria"
    },
    {
      "id": "links-script",
      "from": "links",
      "to": "script",
      "label": "snippet por link"
    },
    {
      "id": "links-capture",
      "from": "script",
      "to": "refs",
      "label": "clique público / ref"
    },
    {
      "id": "links-origin",
      "from": "refs",
      "to": "origem",
      "label": "ref na mensagem"
    },
    {
      "id": "links-metrics",
      "from": "refs",
      "to": "links",
      "label": "métricas retidas / corrigir ou desativar"
    },
    {
      "id": "meta-etapa-evento",
      "from": "eventos",
      "to": "etapa-meta",
      "label": "stage_changed / retry_requested"
    },
    {
      "id": "meta-etapa-regra",
      "from": "regras-meta",
      "to": "etapa-meta",
      "label": "evento padrão por etapa"
    },
    {
      "id": "meta-etapa-envio",
      "from": "etapa-meta",
      "to": "handler",
      "label": "envio compartilhado sem valor"
    },
    {
      "id": "meta-etapa-tela",
      "from": "tela",
      "to": "regras-meta",
      "label": "O que cada etapa informa à Meta"
    },
    {
      "id": "feature-a-1",
      "from": "msg-ctwa",
      "to": "nascimento-ctwa",
      "label": "message_id e escopo"
    },
    {
      "id": "feature-a-2",
      "from": "nascimento-ctwa",
      "to": "prova-lead",
      "label": "prova no novo lead e lead.created atomico"
    },
    {
      "id": "feature-a-3",
      "from": "prova-lead",
      "to": "handler-nascimento",
      "label": "somente prova causal"
    },
    {
      "id": "feature-a-4",
      "from": "eventos",
      "to": "handler-nascimento",
      "label": "lead.created"
    },
    {
      "id": "feature-a-5",
      "from": "handler-nascimento",
      "to": "claim-nascimento",
      "label": "owner unico e event_id estavel"
    },
    {
      "id": "feature-a-6",
      "from": "claim-nascimento",
      "to": "registro",
      "label": "lease e settlement"
    },
    {
      "id": "feature-a-7",
      "from": "handler-nascimento",
      "to": "transporte",
      "label": "LeadSubmitted sem valor"
    },
    {
      "id": "feature-a-ativacao-tela",
      "from": "tela",
      "to": "ativacao-nascimento",
      "label": "admin liga/desliga com auditoria e corte do banco"
    },
    {
      "id": "feature-a-ativacao-handler",
      "from": "ativacao-nascimento",
      "to": "handler-nascimento",
      "label": "compatibilidade de eventos legados pendentes"
    },
    {
      "id": "feature-a1-captura",
      "from": "msg-ctwa",
      "to": "registro-cliques",
      "label": "trigger na mesma transação da mensagem"
    },
    {
      "id": "feature-a1-evento",
      "from": "eventos",
      "to": "handler-clique",
      "label": "message.received ou retry por clique"
    },
    {
      "id": "feature-a1-ledger",
      "from": "registro-cliques",
      "to": "handler-clique",
      "label": "primeira mensagem, epoch e event_id estáveis"
    },
    {
      "id": "feature-a1-claim",
      "from": "handler-clique",
      "to": "claim-clique",
      "label": "uma posse concorrente por clique"
    },
    {
      "id": "feature-a1-settle",
      "from": "claim-clique",
      "to": "registro-cliques",
      "label": "sent, skipped ou error"
    },
    {
      "id": "feature-a1-transporte",
      "from": "handler-clique",
      "to": "transporte",
      "label": "LeadSubmitted sem exigir card"
    },
    {
      "id": "feature-a1-ativacao",
      "from": "ativacao-nascimento",
      "to": "handler-clique",
      "label": "captura elegível e releitura antes do POST"
    },
    {
      "id": "feature-a1-historico",
      "from": "registro-cliques",
      "to": "tela",
      "label": "histórico e pedido de retry autorizado"
    }
  ]
}
