czk_live_SUA_CHAVE. Troque pela sua.
1
Consulte o saldo e os certificados
Cada protocolo desconta 1 certificado do saldo.Liste os certificados que você pode criar.Resposta (resumida):Escolha um item de
data. No passo 3, copie type, model e validity_months desse item para certificate.2
Verifique o titular
Confira os dados antes de criar o protocolo. A verificação não desconta saldo.Resposta (resumida):Confira
verification_result, mesmo quando a resposta for 200. Se o valor não for approved, interrompa a criação e siga a orientação de message.3
Crie o protocolo
Gere uma chave de idempotência para esta criação. Ao reenviar a mesma chamada, mantenha a chave e os dados. Não envie A API responde Para e-CNPJ, use
name nem company_name: a API preenche os dois. Em certificate, use type, model e validity_months do item escolhido no passo 1.Use o e-mail do próprio cliente. Cada e-mail só pode ser usado com um CPF, por exigência da Autoridade Certificadora que emite o certificado. Um mesmo CPF pode usar mais de um e-mail. O e-mail não pode ter o sinal +.202 com o protocolo em creating. Se o e-mail já estiver vinculado a outro CPF, a resposta é 422 holder_email_in_use; se tiver o sinal +, é 400 validation_error. Nos dois casos nada é criado: troque o e-mail e reenvie com a mesma chave.Resposta (resumida):e_cnpj em certificate.type. Informe a empresa em customer e o representante legal em representative. Veja o exemplo completo em Cria protocolo.4
Acompanhe o protocolo
O cabeçalho Resposta (resumida):Compartilhe
Location traz o caminho para consultar o protocolo. Consulte a cada 5 segundos enquanto status for creating. Esse intervalo vem no cabeçalho Retry-After da criação.protocol_number com o titular para emitir o certificado digital. Quando a resposta trouxer protocol_url, compartilhe também esse link para entrar na fila da videoconferência.Guarde protocol_id nos seus registros para consultar o protocolo pela API. Se a criação falhar, siga as instruções do Ciclo de vida.5
Agende a videoconferência
Consulte os horários livres e escolha um. Listar os horários não reserva nenhum. Os exemplos usam datas fixas: use um Dias sem horário livre vêm com Resposta (resumida):
date e um time que GET /appointment-slots devolver.times vazio. Se has_more for true, use em from o dia seguinte ao último recebido. Os horários usam America/Sao_Paulo (horário de Brasília).Agende o horário escolhido. Defina um tempo limite de pelo menos 35 segundos: a chamada espera até 30 segundos pelo resultado.Confira
status, appointment e error, mesmo com uma resposta 200.- Confirme
appointment_schedulede o dia e horário escolhidos emappointment. - Se o resultado ainda não aparecer e não houver
error, consulte o protocolo de novo. Não repita a ação com uma nova chave. - Se
error.codeforslot_unavailable, escolha outro horário e use uma nova chave, comopedido-12345-agendar-2. - Para outros erros, siga o Ciclo de vida.
6
Cancele o protocolo
Cancele antes da emissão do certificado. O cancelamento devolve 1 certificado ao saldo. A chamada não tem corpo e exige uma chave nova, porque é uma nova ação.Resposta (resumida):Como no agendamento, defina um tempo limite de pelo menos 35 segundos e confira
status e error, mesmo com 200. Confirme cancelled. Se error.code for invalid_state, o protocolo continua ativo e não pode ser cancelado. Veja as regras de cancelamento.Chaves de idempotência
Os exemplos usam uma chave por ação:pedido-12345-criar-1, pedido-12345-agendar-1 e pedido-12345-cancelar-1. O sufixo -1 marca a primeira tentativa. Para uma nova ação, como outro horário, troque a chave, por exemplo para pedido-12345-agendar-2. Veja Idempotência.
Outras ações
- Crie já agendado com
appointmentemPOST /protocols. - Reagende a videoconferência com o mesmo endpoint de agendamento.
- Liste os protocolos com
GET /protocols.
Próximos passos
Ciclo de vida do protocolo
Os status do protocolo e o que fazer em cada um.
Idempotência
Reenvie com segurança, sem duplicar protocolos.
Erros
Formato dos erros e quando tentar de novo.
