Utils
Validar Links em Texto (Utils)
Valida URLs em um texto e substitui links quebrados por um marcador
Validar Links em Texto (Utils)
Recebe um text com possíveis URLs, valida cada link (HTTP HEAD/GET) e retorna:
- o
textcom substituição dos links quebrados por um marcador configurável; e - a lista de
linkscom o status de cada URL encontrada.
Endpoint
POST /api/utils/validateLinksInText
Corpo da Requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
text | string | sim | Texto contendo URLs a serem validadas |
options.replaceLabel | string | não | Texto usado no lugar de links quebrados (ex.: "[link indisponível]") |
options.cacheTtlSeconds | integer | não | Cache (em segundos) para resultados de verificação |
options.timeoutMs | integer | não | Timeout por requisição (ms) |
options.concurrency | integer | não | Número máximo de validações simultâneas |
Exemplo de Requisição
curl -X POST "{{{BASE_URL}}}/api/utils/validateLinksInText" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {{seu-tolky-domain-token}}" \
-d '{
"text": "Veja o PDF https://example.com/arquivo.pdf e a imagem https://example.com/img-404.png",
"options": {
"replaceLabel": "[link indisponível]",
"timeoutMs": 5000,
"concurrency": 8
}
}'
Exemplo de Resposta
{
"text": "Veja o PDF https://example.com/arquivo.pdf e a imagem [link indisponível]",
"links": [
{
"url": "https://example.com/arquivo.pdf",
"ok": true,
"status": 200,
"mimeType": "application/pdf",
"type": "document"
},
{
"url": "https://example.com/img-404.png",
"ok": false,
"status": 404,
"mimeType": "image/png",
"type": "image"
}
]
}
Códigos de Erro
400: Campo obrigatório ausente ou inválido (textdeve ser string)401: Credenciais inválidas (Tolky Domain Token ausente ou incorreto)500: Erro interno do servidor
Observações
statuspode sernullquando ocorrer timeout ou falha na conexão; nesse casookseráfalse.- Utilize
cacheTtlSecondspara reduzir latência em textos que se repetem. concurrencycontrola o paralelismo do verificador; ajuste conforme a sua necessidade.