O
provider vai no caminho, e o enum é validado. Um nome que não existe responde 422 com a lista inteira:
1. Veja o que já está conectado
hasCredentials:
A credencial guardada nunca volta por esta API. O que sai é
hasCredentials: true — suficiente para saber que a conexão está completa, inútil para quem quiser roubar a chave.2. Conecte um aplicativo com credencial
Cada provedor pede um conjunto próprio de campos, e a Ephra valida a credencial junto ao provedor na hora: uma chave recusada não vira conexão.productIds recorta o que aquela conexão acompanha. Um produto de outra empresa responde 400 — o mesmo 404 disfarçado que o resto da API usa para não confirmar a existência de ids alheios.
Trocar a credencial depois não exige desconectar e reconectar:
3. Vincule o canal da comunidade
Telegram e Discord não entram pela rota de credencial: o bot da Ephra gera um código dentro do canal, e você troca esse código por uma conexão.4. No Discord, descubra o cargo
Entregar acesso no Discord é dar um cargo ao comprador. A lista sai do próprio Discord, em tempo real:guildId é o externalId que voltou na vinculação. Guarde o id do cargo: é o roleId do passo 6.
5. Na Memberkit, descubra a turma
Na Memberkit a entrega não é um cargo: é a turma em que o comprador é matriculado. O id dela não existe do lado da Ephra — sai da própria Memberkit, consultada na hora:integrationId do caminho é o id da conexão, aquele que saiu de GET /v1/integrations/memberkit — não é o id da sua conta na Memberkit. Conexão que não existe, que foi desconectada ou que é de outra empresa responde o 404 de sempre, sem dizer qual dos três casos é:
id numérico da turma: é o externalId do próximo passo.
Esta rota conversa com a Memberkit a cada chamada e herda os problemas de lá. Chave recusada responde
400 — "A chave de API da MemberKit foi recusada. Reconecte a integração com uma chave válida." —, e aí o conserto é PUT /v1/integrations/memberkit/{integrationId} com a chave nova. Memberkit fora do ar responde 503: repita em alguns instantes, em vez de tratar como conexão quebrada.6. Amarre o produto ao canal
Este é o passo que liga a venda à entrega. Sem ele, o canal está conectado e ninguém entra.roleId só faz sentido no Discord — e o provider do caminho aqui aceita quatro valores, não dois:
cademi e na memberkit o destino é uma turma, e ela vai em externalId: o id do produto na Cademi, o id numérico da turma na Memberkit — o que a seção anterior foi buscar.
Desvincular vale para as próximas vendas. Quem já comprou continua dentro do canal — isto não expulsa ninguém.
7. Antes da campanha, revalide
O bot pode ter sido removido do canal, ou perdido uma permissão, sem avisar ninguém. Esta chamada reconsulta o provedor para cada canal vinculado e grava o que encontrou:status atualizado. É a chamada para rodar na véspera de um lançamento — e a resposta vazia acima é a de uma empresa que ainda não vinculou nenhum servidor.
8. Pause sem perder a configuração
spedy, notazz e metrito podem ser pausados: a credencial fica guardada, o envio de dados para.
telegram e discord, desfazendo o vínculo do canal:
Todas as operações do domínio
Conexões
Listar, conectar, atualizar, pausar e desconectar aplicativos.
Canais de comunidade
Vincular Telegram e Discord e revalidar o status.
Entrega automática
Amarrar produto a canal, listar e desfazer.
Cargos do Discord
Escolher qual cargo o comprador recebe.
Turmas da Memberkit
Descobrir em qual turma a compra matricula o aluno.
