我正在使用Infusionsoft API来获取联系人的详细信息。我有电子邮件地址并使用该电子邮件地址我正在获取其他详细信息。我用了,
// $app->findByEmail($email, $retrunfields);
$contact_details = $app->findByEmail("testemail@test.com", "Id");
var_dump($contact_details);
我也在使用第二种方法,
$contact_data = $app->dsQuery('Contact' , 1 , 0 , array('Email' => 'testemail@test.com') , array('Id'));
var_dump($contact_details);
两个脚本都运行正常,但它们比平时花费的时间更长。获取结果并显示需要15秒以上。
我是否犯了任何错误,或者还有其他更好的方法可以做到这一点?
答案 0 :(得分:0)
您正在正确执行API调用。如果您只是通过电子邮件搜索,我建议使用第一个。
缓慢可能是由Infusionsoft API或您的服务器引起的。 我不认为Infusionsoft的API会导致这种情况,因为我之前曾与成千上万的联系人一起使用过客户端,但只需几秒钟即可获取联系。
答案 1 :(得分:0)
在这种情况下,尽可能排除尽可能多的潜在缓慢来源非常重要。如果PHP中的任何内容需要很长时间,那么从服务器配置到远程系统的速度很快就会导致任何问题。
您是否已尝试从其他服务器或本地计算机运行此查询?尝试找出一些常见因素,找出问题,看看它是否有助于缩小问题范围。
Infusionsoft的表现在我的经历中非常不稳定。有时它会在几个月内完美地工作,但通常不会。每当我们遇到问题时 - 一些代码在它工作多年之前就突然停止工作,或者一个曾经花费不到一秒钟的进程突然慢慢爬行 - 我们往往可以追溯到它们的某些东西结束。而且很多时候,这是一个可怕的质量保证 - 就在本周,我们遇到了一个问题,即对已保存搜索的查询返回完全随机的信息,如果我们在做任何事情之前没有验证条目,我们可能已经结束了给我们的客户带来一些严重的问题。遗憾的是,你的问题听起来并不那么特别。您可能必须考虑,如果在不同的测试用例中出现相同的问题,那么他们可能无法解决问题。
关于API,您使用的是较旧的,已弃用的版本。我建议从它转换,因为它有各种各样的问题 - 它会起作用,请注意,并且应该无限期地工作,除了一些关于HTTP证书的容易解决的问题,但它的代码质量很差。
Infusionsoft提供了一个替代API,他们只是致电infusionsoft-php。诺瓦克解决方案也提供了一个出色的面向对象的版本,他们很容易混淆地呼叫infusionsoft-php-sdk。还有一个选项可以使用他们的XMLHTTP网关,