Límites
Leer 3 minutos
Reglas generales de interacción con la API
- Debe tratar de minimizar el número de solicitudes adicionales a la API, especialmente con respecto al método campaign/info.
- No es necesario solicitar constantemente la información que puede almacenar de su lado.
- No es necesario solicitar constantemente información sobre las CP inactivas. No tiene sentido, las respuestas siempre serán las mismas.
- Un número razonable de solicitudes a la API de 1 CP es de 1-2-3, hasta un máximo de 10-20 por día. El número razonable de solicitudes para el método campaña/estadística no es más de 1 por hora. Por lo tanto, el número razonable de solicitudes de cuenta (token) es de cientos, hasta un máximo de 1000 por día. Si planea hacer un número significativamente mayor de consultas del 99%, está utilizando un algoritmo imperfecto que puede optimizarse significativamente. Si cree firmemente que necesita un mayor número de consultas, consígalo primero con el Servicio al cliente.
- Si recibe una respuesta con error_code = 37 y error = Temporary unavailable, try again later, debe repetir una solicitud similar no antes de 5 minutos.
- En caso de incumplimiento sistemático de estas reglas, el acceso a la API puede estar restringido.
Todos los usuarios de API tienen un límite de solicitudes diarias. La información sobre la limitación se puede obtener en los encabezados de respuesta a la solicitud de API.:
- X-RateLimit-Limit - límite diario
- X-RateLimit-Remaining - número de solicitudes restantes que se pueden completar antes de "X-RateLimit-Reset"
- X-RateLimit-Reset - hora en la que se restablecerá el límite diario (unix timestamp)
Ejemplo de llamada a método:
<?php
$post = array(
'token' => $token,
'id' => 9999
);
if ($curl = curl_init()) {
curl_setopt($curl, CURLOPT_URL, 'https://www.ipweb.ru/api/v2/category/delete');
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($curl);
$header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
$headers_string = substr($response, 0, $header_size);
$headers_string = preg_replace('~\s+\Z~', '', $headers_string);
$headers_array = explode(PHP_EOL, $headers_string);
$headers = [];
if (is_array($headers_array)) {
foreach ($headers_array as $value) {
if (empty($value)) {
continue;
}
list($tmp_key, $tmp_value) = explode(':', $value, 2);
if ($tmp_value) {
$headers[trim($tmp_key)] = trim($tmp_value);
} else {
$headers[] = trim($tmp_key);
}
}
}
curl_close($curl);
$out = substr($response, $header_size);
print_r($headers_groups);
print_r($out);
}
// Resultado:
{
.
.
.
"X-RateLimit-Limit": 1000
"X-RateLimit-Remaining": 992
"X-RateLimit-Reset": 1734987600
}
{
"status": "ok",
"error_code": 0
}