Интеграция API Twinfield с Laravel

Twinfield - это онлайн-пакет программного обеспечения для финансового учета для малых и средних предприятий, разработанный и обслуживаемый Twinfield International, базирующейся в Нидерландах. Его используют более 15 000 подписчиков в 20 странах.

Я хочу интегрировать его API. Я установил laravel и создал несколько базовых API, но они огромные. Как и где ссылки на пример интеграции? Пожалуйста, помогите мне.

1 ответ

Решение

Это не полный код, но дает вам логин для парного поля. Я также застрял, потому что многие библиотеки даны для twinfield, но не дают никакого примера кода для него. Нет документа, обеспечивающего интеграцию PHP. Я очень разочарован Twinfield. Даже если у вас есть тестовая учетная запись, и она будет отключена, чем она будет отключена навсегда. Здесь 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 но вам придется много работать. Я также работаю над этим, если что-нибудь вам нужно, пожалуйста, дайте мне знать.

Другие вопросы по тегам