Прежде всего, я не обращаюсь за помощью к API, прежде чем кто-либо это подразумевает. У меня странная проблема при обращении к API Active Campaign .
Существует конкретная конечная точка, которую я использую, это конечная точка GET contacts
. Обычно у меня нет проблем с этой конечной точкой, но в конкретном случае, когда я использую параметр segmentid
get, у меня возникают несоответствия с информацией.
Я использую два способа добраться до API. Один из них - Postman, а другой - мой код, использующий http-клиент Guzzle для php.
Когда я консультируюсь в Postman, при первом результате я получаю странную переменную с надписью waiting => true
, а мой массив contacts
пуст. Когда я снова обращаюсь к той же самой конечной точке, переменная waiting
исчезает, и я получаю соответствующий массив контактов, заполненный соответствующими результатами. Итак, в основном идея заключается в том, что если я сделаю это во второй раз, я получу результат.
Теперь, с другой стороны, с моим кодом я делаю точно такой же запрос конечной точки, и я пытался повторить запрос дважды, и оба раза я получаю точно такой же результат с waiting => true
. Я даже попробовал следующее:
foreach($segments as $index => $segment) {
$segments[$index]['contacts'] = $this->ac->get_contacts(array(), $segment['id'], 'desc', 1, 30, 0);
while($segments[$index]['contacts']->meta->waiting == true) {
usleep(250000);
$segments[$index]['contacts'] = $this->ac->get_contacts(array(), $segment['id'], 'desc', 1, 30, 0);
}
}
Но даже в этом случае он продолжает запрашивать вечно, и результат никогда не меняется, и в итоге я получаю ошибку 504.
Теперь мой главный вопрос: как это возможно, что результат одной и той же конечной точки варьируется между этими двумя способами получения информации, и я пропускаю какой-то параметр или что мне нужно для того, чтобы повторить то же поведение, что и Почтальон чтобы получить информацию?
Api-Token тот же, конечная точка та же.