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-CommunityIdEnvie 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
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
providerobrigatório | path | bunny | cloudflare |
Headers
| Nome | Tipo | Descrição |
|---|---|---|
X-CommunityIdopcional | string (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
| Nome | Tipo | Descrição |
|---|---|---|
tokenKeyopcional | string | Só `bunny`. · max 128 |
keyIdopcional | string | Só `cloudflare`: o id da chave de assinatura. · max 64 |
privateKeyopcional | string | Só `cloudflare`: `pem` (base64 ou texto) ou `jwk` da chave de assinatura. · max 16384 |
Respostas
| Código | Descrição |
|---|---|
200 | A chave (sem o valor). |
400 | Requisição inválida — falha de validação. |
403 | Autenticado, mas sem permissão para esta operação. |
422 | Chave 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 '{}'