# Integrações — importar inscrições e exportar resultados

> Orbit help — markdown twin of `/docs/integracoes` for LLM agents (llmstxt.org). Human UI: /docs/integracoes

Para integradores e sistemas externos: hoje a integração é por **arquivo**
  e pelo portal. As inscrições entram no sistema por **CSV**, os resultados saem no
  formato **WinMSS** — o padrão usado pelos programas de apuração IPSC — e, ao
  finalizar a prova, o Orbit publica a classificação no portal **scoring.services**
  (origem Orbit). Nenhum passo exige acesso técnico ao sistema: tudo acontece pela tela da prova.

  A **API REST pública** já está disponível: gerencie provas, divisões, stages,
  squads, ROs e inscrições, e leia os resultados completos em JSON, com chave de API da entidade.
  Os formatos de arquivo desta página continuam valendo como importação/exportação manual.
  [Referência da API (Swagger)](/docs/api)

## 1. Importar inscrições (CSV)

  O sistema de origem (inscrição própria do clube, planilha, outro software) exporta um CSV
  e o staff da prova importa em **Inscrições → Importar CSV**. Antes de gravar
  qualquer coisa, o sistema mostra um **preview** com o que será criado, atualizado ou
  rejeitado — só depois da confirmação as inscrições entram na prova.

### Regras do arquivo

- Separador **ponto e vírgula** (;), codificação
      **UTF-8** (BOM do Excel é aceito).

- A **primeira linha é o cabeçalho**, com o nome das colunas. A ordem das
      colunas é livre e o nome não diferencia maiúsculas de minúsculas.

- Colunas obrigatórias: ATLETA,
      CPF e DIVISAO.
      Todo o resto é opcional.

- Datas no formato dd/mm/aaaa (com hora opcional
      dd/mm/aaaa HH:MM:SS). CPF com 11 dígitos, com ou sem máscara.

- **Uma linha por inscrição**: atleta que atira em duas divisões aparece em
      duas linhas, com o mesmo CPF e DIVISAO diferente.

### Colunas reconhecidas

|
        Coluna |
        Conteúdo |

| ATLETA | Nome completo (obrigatório). |

| CPF | CPF do atleta (obrigatório) — é a chave que evita duplicar inscrição. |

| DIVISAO | Nome da divisão (obrigatório). Se não existir na prova, é criada na importação. |

| MODALIDADE | Modalidade da divisão (Handgun, Mini Rifle, PCC…). Aceita os nomes usuais IPSC. |

| EMAIL · TELEFONES | Contato do atleta. |

| DATA_NASCIMENTO | Data de nascimento |

| CR · VALIDADE_CR | Certificado de registro e validade. |

| UF_ATLETA | Estado (UF) do atleta. |

| CLASSE · CATEGORIA | Classe (GM, M, A…) e categoria (Senior, Lady…). |

| STATUS | Situação do pagamento — o valor PAGO confirma a inscrição automaticamente. |

| SQUAD · POSTO | Número do squad (criado se não existir) e ordem de tiro dentro dele. |

| TIPO_ARMA · MODELO_ARMA · MARCA_ARMA · CALIBRE · NUMERO_SERIE · NUMERO_SIGMA | Equipamento declarado do atleta. |

  **Qualquer outra coluna é preservada** — identificador externo, matrícula,
  cidade, valor pago, código de barras, o que o sistema de origem quiser mandar. Esses campos ficam
  visíveis na inscrição como **itens adicionais** e voltam com o atleta na consulta.
  Não é preciso remover colunas do export original.

### Cabeçalho recomendado

```
ATLETA;CPF;EMAIL;TELEFONES;DATA_NASCIMENTO;CR;VALIDADE_CR;UF_ATLETA;MODALIDADE;DIVISAO;CLASSE;CATEGORIA;STATUS;SQUAD;POSTO;TIPO_ARMA;MODELO_ARMA;MARCA_ARMA;CALIBRE;NUMERO_SERIE;NUMERO_SIGMA
```

  Exemplo mínimo válido (só os obrigatórios):

```
ATLETA;CPF;DIVISAO
Fulano de Tal;111.444.777-35;Production
Fulano de Tal;111.444.777-35;Production Optics
```

  O staff logado baixa o **modelo pronto** (cabeçalho + linha de exemplo) na
  própria tela de importação.

### Como o sistema trata o arquivo

1. **Preview sem gravar** — o arquivo é analisado e a tela lista, linha a
      linha, o que será criado, o que será atualizado e os erros/avisos (CPF inválido, divisão
      nova, squad novo).

2. **Confirmação** — só as linhas válidas são aplicadas.

3. **Reimportar não duplica** — a chave é
      **prova + CPF + divisão**. Mandar o mesmo arquivo de novo (ou uma versão
      corrigida) **atualiza** as inscrições existentes. O integrador pode exportar o
      arquivo completo sempre, sem controlar diffs.

4. Campos de contato vazios ganham valores provisórios — e um reimport com dado real
      não sobrescreve um dado já confirmado pelo atleta no sistema.

## 2. Exportar resultados (WinMSS)

  A qualquer momento da prova, os oficiais (RM / Stats) baixam em
  **Resultados → Exportar WinMSS** um pacote .zip no
  formato do **WinMSS**. Ele serve para conferência, apuração paralela e envio a
  sistemas de ranking que já leem esse formato.

### O que vem no pacote

- Os seis arquivos do formato WinMSS — THEMATCH.XML
      (dados da prova), MEMBER.XML (atletas),
      ENROLLED.XML (inscrições: divisão, categoria, squad, fator,
      DQ), STAGE.XML (pistas) e
      SCORE.XML (pontuações), além de
      CLASSIFY.XML.

- Um winmss_export.cab com os mesmos arquivos — o
      formato compactado que o WinMSS importa direto.

### Três formas de baixar

- **Prova completa** — todas as divisões num pacote só.

- **Todas as divisões** — um zip com uma pasta por divisão, cada uma com
      os seus XML.

- **Por divisão** — um zip mestre contendo um zip completo (XML + cab)
      de cada divisão, pronto para distribuir separadamente.

### Regras de geração

- Entram só **inscrições ativas** (canceladas ficam de fora) e só
      **scores aprovados** — rascunho e lançamento pendente de PIN nunca saem no
      export.

- Pistas de crono e de check de equipamento não viram stage no arquivo.

- A **divisão** é convertida pelo nome oficial IPSC (Production, Open,
      Production Optics, PCC…). Divisão com nome fora da tabela IPSC sai com código genérico —
      para ranking externo, use os nomes oficiais nas divisões da prova.

- A **categoria** é reconhecida pelo nome (Lady, Junior, Senior, Super
      Senior, Military/Law Enforcement…), inclusive quando vem de etiquetas da inscrição.

- **Fator** (Major/Minor), **DQ** e squad acompanham cada
      inscrição. Por pontuação vão acertos A/C/D, misses, penalidades, procedurais, tempo, hit
      factor e pontos.

- Cada atleta com conta no sistema leva um **número de identificação
      estável** — o mesmo em todas as provas — repetido nos campos
      *Telephone* e *Alias* do cadastro WinMSS. É ele que permite ao sistema externo
      reconhecer o mesmo atleta em provas diferentes. Convidados sem conta recebem um número
      sintético, único só dentro daquele pacote.

- Quando o clube usa códigos de matrícula externos, o código do atleta segue no campo
      *RefNo* do cadastro.

  **Para importar no WinMSS:** use o arquivo
  winmss_export.cab do pacote na função de importação de prova do
  WinMSS. Os XML soltos são para sistemas que leem o formato diretamente.

## 3. Publicar no scoring.services (Orbit)

  Quando todos os scores estão lançados, **Finalizar a prova** abre um modal
  com a opção **Enviar resultados ao scoring.services** ligada por padrão. Confirmar
  publica no portal **scoring.services** a classificação por divisão e o detalhe de
  cada atleta, com origem **Orbit**. Vale só para o tiro prático (IPSC).

- Dá para **atualizar** os resultados depois, pela visão geral da prova.

- Dá para **remover** a prova do portal e enviar de novo depois.

- Se o envio falhar, a prova continua finalizada; tente de novo pelo botão na visão
      geral.

## 4. Resultados públicos (link)

  Além do arquivo, os resultados publicados ficam num link público estável
  (/r/CODIGO) que pode ser embutido ou divulgado pelo sistema
  externo — sem login e sem expor nada além do que a prova publicou.

## Checklist do integrador

- CSV com ;, UTF-8, cabeçalho na primeira linha.

- ATLETA, CPF e
      DIVISAO presentes em todas as linhas.

- Uma linha por divisão; reimport atualiza, não duplica.

- Identificador externo numa coluna própria (ex.:
      IDENTIFICADOR) — ele volta nos itens adicionais.

- Divisões da prova com nome oficial IPSC, se o destino for ranking externo via
      WinMSS.

- Para o portal scoring.services: finalize a prova IPSC com a opção de envio marcada
      (ou use o botão na visão geral depois).

  **Desenvolve um sistema de gestão de clubes?** Estamos abertos a construir a
  integração junto — a API REST pública já está no ar e evolui com os parceiros.
  [Fale com a gente na página de integrações](/ipsc/integrations).

  [← Todas as guias](/docs/)
  [Guia da entidade →](/docs/entidade)

    **[Ajuda dos outros esportes](/docs/)

Conheça o Orbit

    [Início](/?to_index=1)
    ·
    [Provas e resultados](/matches)

    ·
    [Tiro prático (IPSC)](/ipsc/)
    ·
    [Recursos](/ipsc/features)
    ·
    [Integrações](/ipsc/integrations)

    ·
    [Cadastre seu clube](/get-started)
    ·
    [Contato](/contact?de=ipsc)

---

HTML: /docs/integracoes
Index: /llms.txt · Docs index: /docs/llms.txt
