Twinfield 是一个面向中小型企业的在线财务会计软件包,由位于荷兰的 Twinfield International 生产和维护。它被 20 个国家的 15,000 多名用户使用。
我想集成它的 API。我已经安装了 laravel 并创建了一些基本的 API,但它非常庞大。集成示例如何以及在何处链接?请帮我。
这不是完整的代码,但为您提供了 twinfield 的登录名。我也被卡住了,因为为 twinfield 提供了许多库,但没有提供任何示例代码。没有提供 PHP 集成的文档。我对双场感到非常失望。即使您有测试帐户并且它会禁用而不是永久禁用。这里的 jsonresponse 是定制的,所以如果你有任何相关的错误,你只能调用$e->getMessage() 。
public function login(\Illuminate\Http\Request $request){
$user = $request->input('user');
$password = $request->input('password');
$org = $request->input('organisation');
$params = array(
'user' => $user,
'password' => $password,
'organisation' => $org
);
// login => Set the param array and send to the logon
try
{
$session = new \SoapClient("https://login.twinfield.com/webservices/session.asmx?wsdl", array('trace' => 1));
$result = $session->logon($params);
// echo '<pre>';print_r($result);
$cluster = $result->cluster;
$qq = new domDocument();
$qq->loadXML($session->__getLastResponse());
$sessionID = $qq->getElementsByTagName('SessionID')->item(0)->textContent;
//echo $sessionID;
$newurl = $cluster . '/webservices/processxml.asmx?wsdl';
try
{
$client = new \SoapClient($newurl);
$data = new \SoapHeader('http://www.twinfield.com/', 'Header', array('SessionID'=> $sessionID));
$jsonResponse = JsonResponse::success($data);
}
catch (SoapFault $e)
{
$jsonResponse = empty($e->getMessage()) ? JsonResponse::error(class_basename($e)) : JsonResponse::error($e->getMessage());
}
}
catch (SoapFault $e)
{
$jsonResponse = empty($e->getMessage()) ? JsonResponse::error(class_basename($e)) : JsonResponse::error($e->getMessage());
}
return $jsonResponse;
}
此链接中也提供了一些代码。您将通过https://github.com/php-twinfield/twinfield集成它,但您必须做很多工作。我也在努力,如果有什么需要请告诉我。