Você vende a NR dentro da sua plataforma. A partir daí, o processo inteiro acontece aqui — pagamento, treinamento, assinatura e emissão — e o certificado volta pra você como dado, com link de validação pública. Este guia mostra cada tela que o seu cliente vai ver.
Duas chamadas de API da sua parte. O resto é com a gente, e você acompanha por webhook.
O cliente escolhe as NRs e as pessoas, e compra. Você mostra o seu preço.
POST /pedidos com quem vai receber certificado e quais certificados. Volta um link.
O cliente abre o link e já entra logado. Paga, aceita o termo, assina. Tudo aqui.
Webhook a cada etapa, até o certificado completo com o link de validação.
O catálogo com o seu preço vem de GET /cursos. O cliente monta o pedido do jeito
que fizer sentido no seu fluxo — uma pessoa com uma NR, ou 200 pessoas com várias NRs cada.
O mesmo endpoint atende os dois casos. Cada pessoa pode ter a própria lista de NRs, e cada uma pode ter uma empregadora diferente dentro do mesmo pedido — útil quando a compra é de uma gestora que atende várias empresas.
Errou algum cadastro? Num lote de 200, a resposta traz a lista completa do que precisa corrigir numa única chamada — não um erro por tentativa. E enquanto houver erro, nada é criado: nem pedido, nem cobrança.
// você chama POST /api/v1/partner/pedidos { "externalRef": "PO-2026-1234", "comprador": { "razaoSocial": "Construtora Alfa", "cnpj": "..." }, "cursos": ["NR10", "NR35"], "pessoas": [ { "ref": "func-882", "nome": "João Carlos da Silva", "cpf": "...", "email": "...", "telefone": "15991234567" } ] } // a gente responde { "pedidoId": "cmg7x2k9a0001abcd", "status": "aguardando_pagamento", "totalCentavos": 9000, "linkPagamento": "https://app.regulaseg.com.br/checkout/cmg7x..." }
O linkPagamento é o que você entrega. Um clique e ele está na nossa plataforma,
autenticado, com o pedido montado e o valor calculado. Sem cadastro, sem senha, sem digitar
nada de novo.
Não guarde o link e não mande por e-mail. Ele é de uso único e vale por
poucos minutos, de propósito: é uma chave de sessão. Precisa de um novo? Chame
POST /pedidos/{id}/link-acesso no momento do clique — custa nada e é sempre
seguro.
A tela de entrada confirma quem está entrando antes de abrir a conta.
Estas são as telas reais que o seu cliente percorre. Nenhuma delas exige qualquer coisa da sua parte — mas vale conhecer, porque é o que o seu suporte vai ouvir descrito ao telefone.
PIX, boleto ou cartão com parcelamento. O cartão roda em ambiente hospedado — dado de cartão não passa pelo seu sistema nem pelo nosso.
A tela fica escutando sozinha — assim que o pagamento cai, ela avança.
Cada certificado vira um card que diz, em uma frase, qual é o próximo passo. O cliente nunca precisa adivinhar onde parou.
NR-33 e NR-35 têm um passo a mais. Elas exigem treinamento prático
presencial, então aparece uma declaração extra antes da assinatura. O campo
exigePratico no catálogo diz quais NRs são assim — vale avisar seu cliente na
hora da venda.
Três passos no máximo. Nas NRs sem prático presencial, são dois.
O gestor da empresa resolve tudo de uma vez. Ele tem uma área onde vê cada funcionário, o que falta em cada um, e aceita os termos de todos em lote — assinando os certificados ele mesmo, na qualidade de responsável.
Na prática: nenhum trabalhador precisa entrar, receber e-mail ou responder nada. É o caminho normal para compra grande, e já funciona hoje.
Também dá pelo caminho individual. Se a empresa preferir, cada trabalhador recebe o acesso por e-mail e o link de assinatura por WhatsApp. Quem decide é o cliente, não você.
NR-35
Falta aceitar o termo
Aceitar termo pelo funcionário
A cada etapa concluída, um webhook chega na sua URL. O último traz o documento completo — e é o único que representa um certificado juridicamente válido.
| Evento | O que significa |
|---|---|
order.paid | O pagamento entrou. O processo começou. |
certificate.issued | O PDF foi gerado — ainda não está assinado. |
term.accepted | O treinamento foi declarado concluído. |
certificate.signed | Documento pronto e válido. É este que você guarda. |
order.completed | Todas as pessoas do pedido concluíram. |
order.cancelled | Estorno — invalida certificados já entregues. |
// POST na sua URL { "evento": "certificate.signed", "externalRef": "PO-2026-1234", "ref": "func-882", "status": "concluido", "pessoa": { "nome": "João Carlos da Silva", "cpf": "12345678909" }, "certificado": { "codigoValidacao": "A1B2C3D4E5", "validacaoUrl": "https://www.regulaseg.com.br/validar/A1B2C3D4E5", "titulo": "Certificado de Trabalho em Altura", "cargaHoraria": 8, "baseLegal": "De acordo com a NR-35, Portaria MTP nº 4.218...", "emitidoEm": "2026-09-16", "validoAte": "2028-09-16", "assinadoEm": "2026-09-16T19:12:08Z" } }
Assinado digitalmente e pelo engenheiro responsável, com CREA. O QR code no rodapé aponta
para a validação pública — é o mesmo endereço do validacaoUrl.
Qualquer pessoa abre o link e confere. É o argumento que resolve o problema que originou esta integração: documento digitalizado não prova nada, este prova.
Nem toda parada é problema técnico. Esta tabela evita que o seu suporte escale o que ele mesmo resolve — e diz quando a bola é nossa.
| Estado | Quem está travado | O que fazer |
|---|---|---|
aguardando_pagamentolink nunca aberto | você | Entregar o link ao seu cliente |
aguardando_pagamentolink aberto | seu cliente | Cobrar. PIX e cartão caem em horas; boleto pode levar 3 dias úteis |
pago parado > 1 h | nós | Abrir chamado com o requestId |
aguardando_aceite | o gestor ou o trabalhador | Pedir que entre e declare o treinamento |
aguardando_assinatura | o trabalhador | Pedir que confira o WhatsApp do número cadastrado |
concluido sem webhook | você | Conferir por GET /pedidos/{id} — ele é a fonte da verdade |
Três frases que seu suporte vai ouvir. Reconhecer evita escalonamento:
https)GET /cursosREGULASEG TREINAMENTO E CONSULTORIA LTDA · CNPJ 67.683.162/0001-42
Dúvidas técnicas: [email protected] · regulaseg.com.br