Я пытаюсь использовать API веб-сервисов Acumatica для получения списка контактов (на самом деле я ищу НИЧЕГО, но контакты — это то, с чем я сейчас играю).
Я успешно смог подключить SoapClient, но не уверен, что именно делать, чтобы вытащить список всех контактов.
Видя, как вы не указали версию Acumatica или веб-сервисы, я предполагаю, что вы пытаетесь использовать «Screen WebAPI», который был в 5.2 и ранее, а не новый «API на основе контракта» в 5.3
Имея это в виду, вот пример того, как установить соединение и получить список всех контактов.
Первым шагом является использование вспомогательного файла acuwsdl2php для генерации необходимых вспомогательных классов экрана для PHP.
В случае контактов:
php acuwsdl2php.php {url of your site}/Soap/CR302000.asmx?WSDL CR302000
Это создаст подпапку CR302000 с файлом Screen.php, который является 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 предоставляет партнерам. Они также могут быть доступны на клиентском портале для загрузки. Быстрый Google для них, хотя, и я считаю, что вы можете найти их на нескольких публичных сайтах.
Как примечание, эти вспомогательные файлы были изначально написаны для 4.x. Вам следует обратиться к руководствам 5.x (при условии, что у вас есть 5.x) для получения дополнительной информации о выходе из webapi по завершении вызова.
Других решений пока нет …