如何为Vend Api传递参数?

时间:2013-05-05 23:03:39

标签: json api curl

我正在尝试使用VEND API,但我不知道如何传递参数以执行各种操作。我在API文档中找到了一组代码但无法通过它。以下是我的目标。

<?php
/**
*
* A class made for utility methods around Vend's API
*
*
*/
class VendApiUtils {

/**
* A simple static method to call Vend API urls
*
* @param string $url
* @param string $username
* @param string $password
* @param array $params <OPTIONAL>
*/
public static function requestVendApiUrl($url, $username, $password, $params = array())
{
// is cURL installed?
if (!function_exists('curl_init')) {

throw new Exception('CURL is not installed!');
}

// Create a new cURL instance
$ch = curl_init();

$opts = array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => array('data' => json_encode($params)),
CURLOPT_TIMEOUT => 120,
CURLOPT_FAILONERROR => 1,
CURLOPT_HTTPAUTH => CURLAUTH_ANY, 
CURLOPT_USERPWD => "$username:$password" 
);

// Assign the cURL options
curl_setopt_array($ch, $opts);

// Get the response
$response = curl_exec($ch);
print_r($response);

// Close cURL
curl_close($ch);

// Execute the request & get the response
echo $response;
}
}


$your_domain='https://mydomain.vendhq.com';
$your_username='myuser'; 
$your_password='mypass';
$params = array('GET'=>'/api/stock_movements');
$response =  VendApiUtils::requestVendApiUrl($your_domain, $your_username,$your_password, $params);

//echo $response;
?>

任何帮助都会受到高度关注。

此致 Abnab

2 个答案:

答案 0 :(得分:0)

我不确定为什么你认为网址需要进入$params数组;那个看起来像我的地方,好吧,params。我认为该功能的用途更像是这样:

// Fixed parts, same for any request
$domain='https://mydomain.vendhq.com';
$username='myuser'; 
$password='mypass';

// Variable parts, depending on what you want to do
$url = '/api/stock_movements';
$params = array('some_key' => 'some_value');

$response = VendApiUtils::requestVendApiUrl($domain . $url, $username, $password, $params);

答案 1 :(得分:0)

请检查pyvend客户端库。