twinfield API 与 laravel 集成
twinfield API integration with laravel
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;
}
本link too. You will integrate it via https://github.com/php-twinfield/twinfield中给出了一些代码,但您必须做很多工作。我也在努力,如果有什么需要请告诉我。
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;
}
本link too. You will integrate it via https://github.com/php-twinfield/twinfield中给出了一些代码,但您必须做很多工作。我也在努力,如果有什么需要请告诉我。