· 6 years ago · Dec 04, 2018, 07:17 AM
1require(['jquery'],function($){
2 $.ajax({
3 url: '/rest/V1/customers/1',
4 type: 'get'
5 });
6});
7
8<?php
9// REPLACE WITH YOUR ACTUAL DATA OBTAINED WHILE CREATING NEW INTEGRATION
10define("CONSUMERKEY", "XXXXXXXXXXXXXXX");
11define("CONSUMERSECRET", "XXXXXXXXXXXXXXX");
12define("ACCESSTOKEN", "XXXXXXXXXXXXXXX");
13define("ACCESSTOKENSECRET", "XXXXXXXXXXXXXXX");
14
15
16function sign($method, $url, $data, $consumerSecret, $tokenSecret)
17{
18 $url = urlEncodeAsZend($url);
19
20 $data = urlEncodeAsZend(http_build_query($data, '', '&'));
21 $data = implode('&', [$method, $url, $data]);
22
23 $secret = implode('&', [$consumerSecret, $tokenSecret]);
24
25 return base64_encode(hash_hmac('sha1', $data, $secret, true));
26}
27
28function urlEncodeAsZend($value)
29{
30 $encoded = rawurlencode($value);
31 $encoded = str_replace('%7E', '~', $encoded);
32 return $encoded;
33}
34
35
36$actionName = $_REQUEST['action'];
37
38switch($actionName){
39 case 'getcustomer':
40 echo getCustomById();
41 break;
42}
43
44function getCustomById()
45{
46
47$customerId = $_REQUEST['custid'];
48$result = null;
49$method = 'GET';
50$url = 'YOUR-MAGENTO-ROOT/index.php/rest/V1/customers/'.$customerId;
51
52//
53$data = [
54 'oauth_consumer_key' => CONSUMERKEY,
55 'oauth_nonce' => md5(uniqid(rand(), true)),
56 'oauth_signature_method' => 'HMAC-SHA1',
57 'oauth_timestamp' => time(),
58 'oauth_token' => ACCESSTOKEN,
59 'oauth_version' => '1.0',
60];
61
62$data['oauth_signature'] = sign($method, $url, $data, CONSUMERSECRET, ACCESSTOKENSECRET);
63$curl = curl_init();
64curl_setopt_array($curl, [
65 CURLOPT_RETURNTRANSFER => 1,
66 CURLOPT_URL => $url,
67 CURLOPT_HTTPHEADER => [
68 'Authorization: OAuth ' . http_build_query($data, '', ',')
69 ]
70]);
71$result = curl_exec($curl);
72
73 return json_encode(array(
74 'result' => $result
75 ));
76}
77
78<script type="text/javascript">
79 $(document).ready(function(){
80 $.getJSON('YOUR-MAGENTO-ROOT/apicall.php?action=getcustomer&custid=1', function(jd) {
81 var result =jQuery.parseJSON(jd.result);
82 console.log(result);
83 jQuery.each(result, function(index, value) {
84 console.log(index+":"+value);
85 });
86
87 });
88 });
89 </script>