Limites
Ler 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. O número razoável de pedidos para o método campanha/stat não é superior a 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 os utilizadores da API têm um limite diário de pedidos. As informações sobre a limitação podem ser obtidas nos cabeçalhos de resposta à solicitação da API:
- X-RateLimit-Limit - limite diário
- X-RateLimit-Remaining - número de pedidos restantes que podem ser concluídos antes de "X-RateLimit-Reset"
- X-RateLimit-Reset - horário em que o limite diário será reposto (unix timestamp)
Exemplo de chamada de 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
}