Ang pag-unawa sa mga tugon ng error ay makakatulong sa iyong ma-debug nang mabilis ang mga isyu. Narito ang mga pinakakaraniwang error na makakaharap mo.
400 Bad Request
{
"error": "media_id is required"
}
Mga sanhi:
Nawawala ang kinakailangang parameter
Hindi wasto ang format ng parameter
Maling anyo ng JSON
Ayusin: Tiyaking ang iyong request body ay tugma sa API specification sa api.cathopic.com/docs.
401 Unauthorized
{
"message": "Unauthorized"
}
o
{
"error": "Unauthorized token"
}
Mga sanhi:
Nawawala o hindi wasto ang API key
Hindi na-activate ang API key
Maling pangalan ng header
Ayusin: I-verify na ang iyong x-api-key header ay tama at ang key ay aktibo sa Settings → API.
404 Not Found
{
"error": "No file found for media_id 1234"
}
o
{
"error": "Media item not found"
}
Mga sanhi:
Walang ganitong resource
Nabura na ang resource
Maling media_id
Ayusin: I-verify na umiiral ang media_id sa pamamagitan ng paghahanap muna gamit ang /resources.
429 Too Many Requests
{
"error": "Limit exceed."
}
Mga sanhi:
Napakaraming request sa maikling panahon
Nalampasan ang rate limit
Ayusin: Ipatupad ang exponential backoff. Maghintay at subukang muli na may pagtaas ng pagitan (1s, 2s, 4s, atbp.).
500 Internal Server Error
{
"error": "Internal server error"
}
Mga sanhi:
Pansamantalang isyu sa server
Hindi inaasahang kondisyon
Ayusin: Maghintay sandali at subukang muli. Kung magpapatuloy, makipag-ugnayan sa support.
Halimbawa ng paghawak ng error
async function searchWithErrorHandling(query) {
try {
const response = await fetch('https://api.cathopic.com/resources', {
method: 'POST',
headers: {
'x-api-key': apiKey,
'Content-Type': 'application/json'
},
body: JSON.stringify({ query, page: 1, page_size: 20 })
});
if (!response.ok) {
const error = await response.json();
switch (response.status) {
case 400:
console.error('Bad request:', error);
break;
case 401:
console.error('Unauthorized. Check your API key.');
break;
case 404:
console.error('Resource not found:', error);
break;
case 429:
console.error('Rate limited. Implementing backoff...');
await sleep(5000);
return searchWithErrorHandling(query); // Retry
case 500:
console.error('Server error. Retrying in 10s...');
await sleep(10000);
return searchWithErrorHandling(query);
default:
console.error('Unknown error:', error);
}
throw new Error(`API error: ${response.status}`);
}
return await response.json();
} catch (error) {
console.error('Request failed:', error);
throw error;
}
}
Para sa mga paulit-ulit na error, tingnan ang kumpletong API documentation o makipag-ugnayan sa support.