https://dwyt.appConstruir downloads com DWYT
Os exemplos de código DWYT documentam a sequência de solicitações futuras. As chamadas de produção permanecem fechadas até que o cliente de vídeo seja revisado e as credenciais atribuídas pelo operador sejam ativadas.
Início rápido
O mapa de formatos de DWYT analisa credenciais com suporte ativado para o host da API. Ele mostra a seguir um endpoint de inquilino atribuído e não obscurece um caminho de chamada apenas do servidor.
X-API-Key: pending_activation_…DwytFlowv1# Available only after support activation
export DWYT_FLOW_SECRET="issued-after-review"
curl -X POST https://dwyt.app/v1/resolve \
-H "X-API-Key: $DWYT_FLOW_SECRET" \
-H "Content-Type: application/json" \
-d '{"public_media":"https://www.youtube.com/watch?v=VIDEO_ID"}'Para a segurança das credenciais, DWYT começa com armazenamento secreto no lado do servidor. O mapa de formato o associa a nenhuma incorporação em bundle do cliente e termina com nenhum log ou repositório público.
Resolver um link
O mapa de formatos DWYT analisa a deteção de origem para a operação Resolve. Mostra os formatos de um URL enviado a seguir e não obscurece quaisquer saídas inventadas.
/v1/resolveEscopo: resolver| Campo | Tipo | Necessário | Descrição |
|---|---|---|---|
public_media | URL HTTPS | Sim | Página de mídia pública ou autorizada para analisar. |
tenant | string | Não. | Domínio do locatário atribuído. Geralmente omitido. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Para o identificador de formato, DWYT começa com o valor retornado inalterado. O mapa de formato o associa à disponibilidade por link e termina sem rótulo de qualidade presumido.
Criar e acompanhar um trabalho de download
Para a criação do trabalho, DWYT verifica a preparação assíncrona antes de uma breve solicitação HTTP. Este mapa de formatos também torna clara a execução limitada do trabalhador.
/v1/jobsÂmbito: empregos| Campo | Tipo | Necessário | Descrição |
|---|---|---|---|
public_media | URL HTTPS | Sim | A mesma fonte normalizada foi submetida para resolver. |
rendition_key | string | Sim | Um ID exato da resposta de resolução. |
tenant | string | Não. | Domínio do locatário atribuído. Geralmente omitido. |
curl -X POST https://dwyt.app/v1/jobs \
-H "X-API-Key: $DWYT_FLOW_SECRET" \
-H "Content-Type: application/json" \
-d '{"public_media":"https://www.youtube.com/watch?v=VIDEO_ID","rendition_key":"18"}'flow_id.GET /v1/jobs/{flow_id} com a mesma chave.| Estado | Significado | Ação do cliente |
|---|---|---|
queued | Admitido na fila limitada. | Sondagem novamente com recuo. |
extracting | Atualizando metadados da fonte ou rota. | Continue a pesquisar. |
processing | Baixando, remuxing ou mesclando. | Exibir o progresso do servidor. |
ready | Download assinado disponível. | Envie a URL para o usuário. |
failed | Erro estruturado do terminal. | Leia error_code. Repita somente quando aconselhado. |
expired | Saída temporária foi removida. | Crie um novo trabalho. |
curl https://dwyt.app/v1/jobs/FLOW_ID \
-H "X-API-Key: $DWYT_FLOW_SECRET"A sondagem de trabalhos começa com uma espera inicial de um segundo em DWYT. Este mapa de formato apresenta então um recuo limitado. O facto final é entrega assinada temporária.
Erros previsíveis
DWYT trata o contrato de Erro identificando primeiro um envelope não-2xx. Em seguida, apresenta um ID de solicitação de suporte e mantém em vista um tratamento previsível pelo cliente.
{
"success": false,
"error": {
"code": "RATE_LIMITED",
"category": "rate_limited",
"message": "Too many requests. Please try again shortly.",
"retryable": true,
"details": {"retry_after_seconds": 20}
},
"request_id": "…"
}| HTTP | Significado típico | Acção |
|---|---|---|
| 400 | URL inválido, corpo ou formato indisponível. | Corrija a solicitação. Resolva novamente para formatos. |
| 401 | Chave ausente, inválida, expirada ou com escopo errado. | Verifique a credencial do lado do servidor. |
| 403 | O inquilino ou a política de origem rejeitou a solicitação. | Não ignore a política. Entre em contato com o suporte. |
| 404 | Trabalho desconhecido ou expirado. | Crie um novo trabalho, se apropriado. |
| 429 | Limite de solicitações ou trabalhos ativos atingido. | Honra. retry_after_seconds. |
| 503 | Fila/capacidade ou upstream temporariamente indisponível. | Tentar novamente com recuo exponencial e jitter. |
Contrato operacional
DWYT revisa a integração antes de escolher quotas que protegem tanto o cliente de vídeo quanto os serviços upstream.
- Use lógica de aplicação idempotente e nunca inicie trabalhos duplicados para o mesmo clique do usuário.
- Armazene em cache os metadados de resolução brevemente, mas sempre trate URLs de download assinados como expirados.
- Use recuo exponencial limitado com jitter para
429,503e erros retráteis. - Processe apenas mídia pública ou mídia à qual você está autorizado a acessar. DRM e controles de acesso não são contornados.
- Mantenha IDs de solicitação e IDs de tarefa em logs operacionais privados. Não registre URLs enviadas desnecessariamente.
O mapa de formatos de DWYT revisa a ativação antes da exploração para acesso ao Schema. Ele mostra a autenticação atribuída em seguida e não obscurece as formas de solicitação documentadas.
Ativar através do suporte
Explique a aplicação por trás do pedido, a sua estimativa de tráfego mensal e os serviços de vídeo que irá usar. DWYT analisa esses detalhes, atribui as permissões de API necessárias e não retém qualquer valor de chave recuperável.
Solicitar ativação As chaves são limitadas ao locatário, revogáveis e emitidas através do formulário de contato. Scripts anônimos não podem executar trabalhos de download.