Я использую Infusionsoft API для получения подробной информации о контакте. У меня есть адрес электронной почты, и, используя этот адрес электронной почты, я получаю другие данные. Я использовал,
// $app->findByEmail($email, $retrunfields);
$contact_details = $app->findByEmail("[email protected]", "Id");
var_dump($contact_details);
А также я использую второй метод,
$contact_data = $app->dsQuery('Contact' , 1 , 0 , array('Email' => '[email protected]') , array('Id'));
var_dump($contact_details);
Оба сценария работают нормально, но они занимают больше времени, чем обычно. Для получения результата и отображения требуется более 15 секунд.
Я делаю какую-то ошибку или есть другой лучший способ сделать это?
это, скорее всего, связано с одним из трех факторов.
Лучше всего обратиться в службу поддержки Infusionsoft и спросить их, что может быть причиной замедления работы вашего приложения. Они могут посмотреть на размер вашей базы данных, использование приложения и регулирование API и дать вам знать, что случилось.
Вы делаете вызов API правильно. Я бы предложил использовать первый, если вы ищете только по электронной почте.
Замедление может быть вызвано либо Infusionsoft API, либо вашим сервером.
Я не думаю, что API Infusionsoft вызовет это, так как раньше я работал с клиентом с сотнями тысяч контактов, но получение контакта заняло всего несколько секунд.
В таких случаях важно исключить как можно больше потенциальных источников медлительности. Когда что-то в PHP занимает много времени, существует множество причин, которые могут вызвать это, начиная с конфигурации вашего сервера и заканчивая медленной работой удаленной системы.
Вы уже пытались запустить этот запрос с другого сервера или с вашего локального компьютера? Попробуйте найти некоторые общие факторы, изолировать проблему и посмотреть, не поможет ли она сузить проблему.
Производительность Infusionsoft была очень разрозненной в моем опыте. Иногда это будет прекрасно работать месяцами, но обычно нет. Всякий раз, когда у нас возникали проблемы — какой-то код, который внезапно прекращал работать, когда он работал много лет назад, или процесс, который однажды занимал меньше секунды, внезапно замедлялся до ползания — чаще всего мы могли отследить его до чего-то на их конец. И очень часто это было что-то, что говорит об ужасном контроле качества. Как раз на этой неделе у нас возникла проблема, когда запросы по сохраненным поискам возвращали совершенно случайную информацию, и если мы не проверяли записи до того, как что-либо делать, мы могли бы вызвать некоторые серьезные проблемы для наших клиентов. Ваша проблема звучит не так уж и редко, к сожалению. Возможно, вам придется подумать, если одна и та же проблема возникает в разных тестовых случаях, что это что-то с их стороны, что вы не можете исправить.
Что касается API, вы используете устаревшую устаревшую версию. Я бы порекомендовал перейти от него, так как у него были все виды проблем — он работал бы, имейте в виду, и все еще должен работать бесконечно, за исключением нескольких легко исправляемых проблем, связанных с сертификатами HTTP, но качество его кода низкое.
Infusionsoft предоставил заменяющий API, который они только что вызвали Infusionsoft-PHP. Novak Solutions также предлагает отличную объектно-ориентированную версию, которую они, как ни странно, называют Infusionsoft-PHP-SDK. Есть возможность использовать их шлюз XMLHTTP,