【发布时间】:2016-06-08 07:26:00
【问题描述】:
我需要调用 Shopify 的 API 来创建新产品或获取现有产品的详细信息。我怎样才能做到这一点。基本上如何将salesforce与shopify联系起来?
【问题讨论】:
标签: api salesforce shopify
我需要调用 Shopify 的 API 来创建新产品或获取现有产品的详细信息。我怎样才能做到这一点。基本上如何将salesforce与shopify联系起来?
【问题讨论】:
标签: api salesforce shopify
Shopify 提供 REST API,因此您需要使用它来与您的 Salesforce 解决方案集成。在 Salesforce 方面,您需要执行几个步骤来实施连接。
通常您需要向某个 URL 发出 post/get 请求,您将执行以下操作。
在远程站点设置下添加您的域
要在 Salesforce 中从 Apex 发送出站呼叫(POST/GET 请求),您需要在设置中将域添加到远程站点设置。
在您的 APEX 控制器中创建并发送请求
例如,对于 POST 请求,您需要实现类似这样的功能
HttpRequest req = new HttpRequest();
HttpResponse res = new HttpResponse();
Http http = new Http();
req.setEndpoint('https://someurl.com/api');
req.setMethod('POST');
//these parts of the POST you may want to customize
req.setCompressed(false);
req.setBody('key1=value1&key2=value2');
req.setHeader('Content-Type', 'application/x-www-form-urlencoded');
try {
res = http.send(req);
} catch(System.CalloutException e) {
System.debug('Callout error: '+ e);
}
System.debug(res.getBody());
有关更多信息,请查看 Salesforce 文档:
【讨论】:
我最近才真正设法开发(我认为)你在 PHP 中寻找的东西,因为我很难找到所有信息,所以我实际上继续创建了一个帐户来为你回答这个问题 :)
我的PHP代码如下:
//Modify these
$API_KEY = 'yourAPIkey';
$SECRET = 'yourAPIsercer(password)';
$TOKEN = 'zzz';
$STORE_URL = 'yourstore.myshopify.com';
$url = 'https://' . $API_KEY . ':' . $SECRET . '@' . $STORE_URL . '/admin/products.xml';
$xmlsrc = <<<XML
<?xml version='1.0' encoding='UTF-8'?>
<product>
<title>TITLEH!!!</title>
<body-html>asdasdfda</body-html>
<product-type>Photoshop</product-type>
<variants type="array">
<variant>
<price>3.00</price>
<inventory-quantity>7</inventory-quantity>
</variant>
</variants>
<vendor>JLH</vendor>
</product>
XML;
$session = curl_init();
curl_setopt($session, CURLOPT_URL, $url);
curl_setopt($session, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($session, CURLOPT_POSTFIELDS, $xmlsrc);
curl_setopt($session, CURLOPT_HEADER, false);
curl_setopt($session, CURLOPT_HTTPHEADER, array('Accept: application/xml', 'Content-Type: application/xml'));
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
if(ereg("^(https)",$url)) curl_setopt($session,CURLOPT_SSL_VERIFYPEER,false);
$result = curl_exec($session);
curl_close($session);
$doc = new DOMDocument();
$doc->preserveWhiteSpace = true;
$doc->formatOutput = true;
$doc->loadXML($result);
echo $doc->saveXML();
我相信这很简单。 一旦你掌握了它的窍门,它也很容易修改它以适应不同的动作...... 我从这个帖子中得到了很多有用的信息:https://ecommerce.shopify.com/c/shopify-discussion/t/php-api-example-26017
其余部分我从 shopify API 参考中扣除:https://help.shopify.com/api/reference/product (请注意,API 参考使用 json 示例,我正在使用 XML)
希望对你有帮助。
【讨论】: