【发布时间】:2016-06-05 23:18:36
【问题描述】:
我正在尝试使用 Acumatica Web Services API 来获取联系人列表(我真的很想得到任何东西,但我现在正在玩的是联系人)。
我已成功连接 SoapClient,但不确定从那里提取所有联系人列表的具体操作。
【问题讨论】:
我正在尝试使用 Acumatica Web Services API 来获取联系人列表(我真的很想得到任何东西,但我现在正在玩的是联系人)。
我已成功连接 SoapClient,但不确定从那里提取所有联系人列表的具体操作。
【问题讨论】:
看到您没有指定 Acumatica 版本或 Web 服务,我假设您正在尝试使用 5.2 及更早版本中的“屏幕 WebAPI”,而不是 5.3 中新的“基于合同的 API”
考虑到这一点,下面是一个示例,说明如何建立连接并检索所有联系人的列表。
第一步是利用“acuwsdl2php”帮助文件为 PHP 生成所需的屏幕帮助类。
如果是联系人:
php acuwsdl2php.php {url of your site}/Soap/CR302000.asmx?WSDL CR302000
这将使用 Screen.php 文件创建 CR302000 子文件夹,该文件是屏幕架构的 php 等效项。
其次,这是一个检索联系信息的示例类
<?php
require_once('AcumaticaGate.php');
$client = new AcumaticaGate('{user}', '{password}', 'CR302000','{site}/Soap/');
$Contact_summary = $client->Schema->GetSchemaResult->ContactSummary;
$Contact_detailsummary = $client->Schema->GetSchemaResult->DetailsSummary;
$every_Contact = $Contact_summary->ServiceCommands->EveryContactID;
$Contact = $Contact_summary->ContactID;
$Contact_fname = $Contact_detailsummary->FirstName;
$Contact_lname = $Contact_detailsummary->LastName;
$export_param = new Export();
$export_param->commands = array($every_Contact, $Contact, $Contact_fname, $Contact_lname);
$export_param->filters = array();
$export_param->breakOnError = false;
$export_param->includeHeaders = true;
$export_param->topCount = 0;
$export = $client->Client->Export($export_param);
print_r(var_dump($export));
这里的输出是这样的:
[177]=>
object(stdClass)#562 (1) {
["string"]=>
array(3) {
[0]=>
string(3) "358"
[1]=>
string(4) "Anna"
[2]=>
string(7) "Johnson"
}
}
[178]=>
object(stdClass)#563 (1) {
["string"]=>
array(3) {
[0]=>
string(3) "359"
[1]=>
string(4) "Yona"
[2]=>
string(5) "Jones"
}
}
acuwsdl2php 和 AcumaticaGate 文件是 Acumatica 提供给合作伙伴的帮助文件。它们也可能在客户端门户上可供下载。不过可以快速搜索一下,我相信您可以在一些公共网站上找到它们。
附带说明,这些帮助文件最初是为 4.x 编写的。您应该查看 5.x 指南(假设您有 5.x),以获取有关在完成调用 webapi 后注销它的附加信息。
【讨论】: