Pular para o conteúdo

Cadastra ou troca a chave de um provedor de vídeo

PUT/api/video-integrations/{provider}

Auth
Exige token
Quem pode:
owner
admin
moderator
finance
X-CommunityId
X-CommunityId Envie o X-CommunityId da comunidade em que a operação acontece.

Só owner e admin (moderador, financeiro e membro: 403). A chave entra uma vez e **não volta** (só `last4`); mandar de novo troca na hora e o `status` recomeça em `unverified`. Fica cifrada como o cofre, mas fora dele: nenhum workflow lê ou envia. Criar, trocar, apagar e verificar entram na auditoria (só o provedor e os 4 últimos).

- `bunny`: `tokenKey`, a "Token authentication key" da biblioteca no Bunny Stream (Security → Embed view token authentication). - `cloudflare`: `keyId` e `privateKey` da chave de assinatura do Cloudflare Stream (`POST /stream/keys` da API deles): o `pem` (em base64, como o Cloudflare devolve, ou o PEM em texto) ou o `jwk`. Sem `keyId`, vale o `kid` do JWK.

Com a chave, toda aula e todo post com vídeo desse provedor saem para quem tem acesso com uma URL assinada que expira em 6 horas (`videoEmbed.signed` na aula, `embed.signed` no post). Uma chave recusada pelo provedor na verificação deixa o player `unavailable` e avisa owners e admins (no máximo uma vez por dia).

Parâmetros

NomeOndeTipoDescrição
providerobrigatóriopathbunny | cloudflare

Headers

NomeTipoDescrição
X-CommunityIdopcionalstring (uuid)ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade.

Corpo da requisição application/json

NomeTipoDescrição
tokenKeyopcionalstringSó `bunny`. · max 128
keyIdopcionalstringSó `cloudflare`: o id da chave de assinatura. · max 64
privateKeyopcionalstringSó `cloudflare`: `pem` (base64 ou texto) ou `jwk` da chave de assinatura. · max 16384

Respostas

CódigoDescrição
200A chave (sem o valor).
400Requisição inválida — falha de validação.
403Autenticado, mas sem permissão para esta operação.
422Chave em formato inválido (`tokenKeyInvalid`, `privateKeyInvalid`: não é uma chave privada RSA, `keyIdInvalid`).

Exemplo com curl

curl -X PUT "https://api.memberfy.net/api/video-integrations/<provider>" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{}'