【问题标题】:Getting a list of Contacts from Acumatica Web Services API using PHP使用 PHP 从 Acumatica Web 服务 API 获取联系人列表
【发布时间】:2016-06-05 23:18:36
【问题描述】:

我正在尝试使用 Acumatica Web Services API 来获取联系人列表(我真的很想得到任何东西,但我现在正在玩的是联系人)。

我已成功连接 SoapClient,但不确定从那里提取所有联系人列表的具体操作。

【问题讨论】:

    标签: php acumatica


    【解决方案1】:

    看到您没有指定 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 后注销它的附加信息。

    【讨论】:

    • 嗨..我知道这个答案很旧。我的问题是,如果我想传入一个特定的 ContactID 而不是获取所有这些,该怎么办。就我而言,我正在获取客户余额,我使用了此代码,但对于客户余额,我为客户生成了一个新的 Screen 类。那么如何传递特定的客户 ID?
    猜你喜欢
    • 2015-01-31
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 2022-08-21
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    相关资源
    最近更新 更多