(tested on version 7.3)
<?php $keHost = 'lic.example.com'; $keSecret = '12345'; $keTest = false; $productDescr = 'Acme program license for 1 year'; $productId = 'ACME1'; $licType = 'enterprise'; $name = 'Johnny Walker'; function gen_license() { global $keHost, $keSecret, $keTest; global $productDescr, $productId, $licType, $name; $data = [[ 'articles' => [['name'=>$productId]], 'productName' => $productDescr, 'test'=> $keTest, 'licensedto' => $name, 'lictype' => $licType, 'licduration' => '1y', 'name' => $name, 'addrLine1' => '', 'city' => '', 'state' => '', 'zipCode' => '', 'country' => '', 'email' => 'john@example.com', 'phoneNumber' => '' ]]; echo json_encode($data); $url = $keHost; $options = array( 'http' => array( 'header' => "Content-type: application/json\r\nAuthorization: Secret $keSecret\r\n", 'method' => 'POST', 'content' => json_encode($data) ) ); $context = stream_context_create($options); $result = file_get_contents($url . '/v1/issue/', false, $context); $error = error_get_last(); if ($result === false) return array(false, $error['message']); return json_decode($result); }
(tested on version 7.3)
<?php $keHost = 'lic.example.com'; $keSecret = '12345'; $keTest = false; $productDescr = 'Acme program'; $productId = 'ACME1'; $licType = 'enterprise'; function gen_license() { global $keHost, $keSecret, $keTest; global $productDescr, $productId, $licType; $data = array(); $data['productId'] = $productId; $data['productName'] = $productDescr; $data['test'] = $keTest ? "true" : "false"; $data['licensedto'] = $_POST['licensedto']; $data['lictype'] = $licType; $data['licduration'] = null; $data['name'] = $_POST['name']; $data['addrLine1'] = $_POST['addrLine1']; $data['city'] = $_POST['city']; $data['state'] = $_POST['state']; $data['zipCode'] = $_POST['zipCode']; $data['country'] = $_POST['country']; $data['email'] = $_POST['email']; $data['phoneNumber'] = $_POST['phoneNumber']; $url = $keHost; $options = array( 'http' => array( 'header' => "Content-type: application/x-www-form-urlencoded\r\nAuthorization: Secret $keSecret\r\n", 'method' => 'POST', 'content' => http_build_query($data) ) ); $context = stream_context_create($options); $result = file_get_contents($url . '/upload/', false, $context); $error = error_get_last(); if ($result === false) return array(false, $error['message']); return array(json_decode($result)); }