Aller au contenu

Resolve um link para player ou cartão de pré-visualização

POST/api/embeds/resolve

Auth
Jeton requis
Clé d’API:
community:write
X-CommunityId
X-CommunityId Envoyez le X-CommunityId de la communauté où l’opération a lieu.
Les descriptions des endpoints viennent directement de la spécification de l’API et sont en portugais pour l’instant. L’interface autour est traduite.

O editor chama ao colar um link, para mostrar o embed exatamente como ele vai aparecer no post. Qualquer membro da comunidade. Players nativos: YouTube (vídeo, `/live`, `youtu.be`, início em `t=`), Spotify, Vimeo, Loom, Streamable, SoundCloud, Google Maps, post e reel do Instagram, post do LinkedIn; e Bunny Stream (`iframe.mediadelivery.net`, `video.bunnycdn.com`), Cloudflare Stream (`customer-*.cloudflarestream.com`, `iframe.videodelivery.net`), Panda Video (`*.tv.pandavideo.com.br/embed/?v=`) e HLS (`https://…/*.m3u8`, `embed.kind: hls`), montados só a partir do link, sem buscar nada no provedor. Os demais viram cartão (Open Graph, Twitter Card, título e descrição da página): X/Twitter, lojas de aplicativo (`type: app`), WhatsApp (sem buscar nada), perfis, canais e sites em geral. Encurtadores (bit.ly e outros) são seguidos (até 5 saltos) e o destino é resolvido. GIF e imagem direta voltam como `type: image`. Resultado guardado por 7 dias por link (5 minutos quando a página não respondeu: volta um cartão mínimo com o domínio). Endereço privado ou reservado (localhost, rede interna, metadados de nuvem) é recusado com 422, também quando aparece no meio de um redirecionamento. Limites (429 com `Retry-After`): 30 chamadas por minuto por pessoa e 300 por comunidade; e, entre elas, links que ainda não estão no cache (lidos da web) até 10 por minuto por pessoa e 60 por comunidade. Variações do mesmo link (maiúsculas, barra final, âncora, `utm_*`, ordem da query, http ou https) contam como um só. Link para IP, nome interno ou porta diferente de 80/443 é recusado (422). `url` e `canonicalUrl` servem só como link (abrir com `rel="noopener nofollow"`), nunca para carregar.

En-têtes

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

Corps de la requête application/json

NomTypeDescription
urlobligatoirestringLink http ou https. · max 2048

Réponses

StatutDescription
200O embed do link.
400Requisição inválida — falha de validação.
401Token ausente, inválido ou expirado; token de outra comunidade (o `X-CommunityId` ou o `communityId` do corpo não é o do token); token antigo ou de uma sessão encerrada (troca de senha, convite aceito). Nesses casos a mensagem pede para entrar de novo (`auth.signInAgain`).
403Autenticado, mas sem permissão para esta operação.
422Link inválido (`errors[0].param = "url"`) ou que aponta para endereço privado.
429Muitas resoluções em pouco tempo.
500Erro interno do servidor.

Exemple curl

curl -X POST "https://api.memberfy.net/api/embeds/resolve" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"url":"string"}'