app\models\Integration::getApi PHP Method

getApi() public static method

Get the api class name
public static getApi ( [string] $type ) : [type]
$type [string]
return [type]
    public static function getApi($type)
    {
        $integration = Integration::where(['api_type' => $type])->get();
        if ($integration) {
            $apiConfig = $integration[0];
            $className = $apiConfig->name;
            call_user_func_array(['App\\' . $className, 'initialize'], [$apiConfig]);
            $apiInstance = call_user_func_array(['App\\' . $className, 'getInstance'], []);
            return $apiInstance;
        }
        throw new \Exception('The user has no integrated APIs');
    }

Usage Example

コード例 #1
0
 public function invoice($id, $requestData)
 {
     $contatGuid = $requestData->invoiceContact;
     $taskname = Tasks::find($id);
     $timemanger = TaskTime::where('fk_task_id', $id)->get();
     $sendMail = $requestData->sendMail;
     $productlines = [];
     foreach ($timemanger as $time) {
         $productlines[] = array('Description' => $time->title, 'Comments' => $time->comment, 'BaseAmountValue' => $time->value, 'Quantity' => $time->time, 'AccountNumber' => 1000, 'Unit' => 'hours');
     }
     $api = Integration::getApi('billing');
     $results = $api->createInvoice(['Currency' => 'DKK', 'Description' => $taskname->title, 'contactId' => $contatGuid, 'ProductLines' => $productlines]);
     if ($sendMail == true) {
         $bookGuid = $booked->Guid;
         $bookTime = $booked->TimeStamp;
         $api->sendInvoice($bookGuid, $bookTime);
     }
 }
All Usage Examples Of app\models\Integration::getApi
Integration