· 5 years ago · Oct 16, 2019, 01:45 PM
1$oauth_sig_m = "HMAC-SHA1";
2 $oauth_v = "1.0";
3 $postdata = json_encode($data);
4
5 $nonce = mt_rand();
6 $timestamp = time();
7
8 $base = 'POST&' . rawurlencode('https://www.wine-logistix.de/API/v3/order_create/') . '&'
9 . rawurlencode("oauth_consumer_key=" . rawurlencode($config['consumer_key']) . '&'
10 . '&oauth_nonce=' . rawurlencode($nonce)
11 . '&oauth_signature_method=' . rawurlencode('HMAC-SHA1')
12 . '&oauth_timestamp=' . rawurlencode($timestamp)
13 . '&oauth_token='
14 . '&oauth_version=' . rawurlencode('1.0'));
15
16 $key = rawurlencode($config['consumer_secret']);
17 $sig = base64_encode(hash_hmac("sha1", $base, $key, true));
18
19 $authHeader = "Authorization: OAuth oauth_consumer_key=\"{$key}\",oauth_nonce=\"{$nonce}\",oauth_signature_method=\"{$oauth_sig_m}\",oauth_timestamp=\"{$timestamp}\",oauth_token=,oauth_version=\"{$oauth_v}\",oauth_signature=\"{$sig}\"";
20
21
22 $curl = curl_init();
23
24 curl_setopt_array($curl, array(
25 CURLOPT_URL => "https://www.wine-logistix.de/API/v3/order_create/",
26 CURLOPT_RETURNTRANSFER => true,
27 CURLOPT_ENCODING => "",
28 CURLOPT_MAXREDIRS => 10,
29 CURLOPT_TIMEOUT => 30,
30 CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
31 CURLOPT_CUSTOMREQUEST => "POST",
32 CURLOPT_POSTFIELDS => ["json" => $postdata],
33 CURLOPT_HTTPHEADER => array(
34 "Accept: */*",
35 "Accept-Encoding: gzip, deflate",
36// "Authorization: " . 'OAuth oauth_consumer_key="' . rawurlencode($config["consumer_key"]) . '",oauth_nonce="' . rawurlencode($nonce) . '",oauth_signature_method="' . rawurlencode($oauth_sig_m) . '",oauth_timestamp="' . rawurlencode($timestamp) . '",oauth_version="' . rawurlencode($oauth_v) . '",oauth_signature="' . rawurlencode($sig) . '"' . "",
37 $authHeader,
38 "Cache-Control: no-cache",
39 "Connection: keep-alive",
40 "Content-Type: application/json",
41 "Host: www.wine-logistix.de",
42 "Postman-Token: 0782468f-3eab-4d93-9708-35d21029e95f,c3a3820b-e814-4e6f-ad05-4ecff69c6285",
43 "User-Agent: PostmanRuntime/7.18.0",
44 "cache-control: no-cache"
45 ),
46 ));