https://downf.ioCompilar downloads com downf.io
O DownF mantém a execução da API desativada até que um operador revise o caso de uso de compatibilidade. Os exemplos descrevem o contrato planejado, enquanto credenciais reais e cotas chegam apenas por meio da ativação do suporte.
Início rápido
Sua exibição de compatibilidade compara um ponto de extremidade de locatário atribuído. Um caminho de chamada somente do servidor permanece como a verificação final.
X-API-Key: pending_activation_…DownfBridgev1# Available only after support activation
export DOWNF_ACCESS_TOKEN="issued-after-review"
curl -X POST https://downf.io/v1/resolve \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"media_address":"https://www.youtube.com/watch?v=VIDEO_ID"}'A segurança de credenciais começa com o armazenamento secreto do lado do servidor no DownF. Essa visualização de compatibilidade, em seguida, apresenta nenhuma incorporação de pacote de cliente.
Resolver um link
DownF organiza a operação Resolve em torno da detecção de fonte. Sua visualização de compatibilidade compara formatos de um URL enviado.
/v1/resolveEscopo: resolver| Campo | Tipo | Necessário | Descrição |
|---|---|---|---|
media_address | 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
}O identificador de formato começa com o valor retornado inalterado em DownF. Esta visualização de compatibilidade apresenta, em seguida, a disponibilidade por link.
Criar e acompanhar um trabalho de download
A criação do trabalho começa com a preparação assíncrona no DownF. A próxima visualização abrange uma solicitação HTTP curta.
/v1/jobsÂmbito: empregos| Campo | Tipo | Necessário | Descrição |
|---|---|---|---|
media_address | URL HTTPS | Sim | A mesma fonte normalizada foi submetida para resolver. |
output_ref | 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://downf.io/v1/jobs \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"media_address":"https://www.youtube.com/watch?v=VIDEO_ID","output_ref":"18"}'transfer_ref.GET /v1/jobs/{transfer_ref} 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://downf.io/v1/jobs/TRANSFER_REF \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN"Ele mostra o backoff limitado ao lado e não obscurece a entrega assinada temporária. Ele mostra o backoff limitado ao lado e não obscurece a entrega assinada temporária.
Erros previsíveis
DownF apresenta três pontos práticos para o contrato de Erro. Primeiro vem um envelope não 2xx. A visualização de compatibilidade então cobre um ID de solicitação de suporte. Seu ponto final é o manuseio previsível do 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
O DownF atribui um teto de solicitação após revisar o cliente pretendido, mantendo suas verificações de compatibilidade e provedores upstream estáveis.
- 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.
DownF organiza o acesso ao esquema em torno da ativação antes da exploração. Sua visualização de compatibilidade compara a autenticação atribuída.
Ativar através do suporte
Descreva o produto, preveja suas chamadas mensais e liste as plataformas que ele deve analisar. O suporte do DownF confirmará os escopos necessários antes de emitir uma credencial visível única cuja cópia armazenada é apenas um hash.
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.