许多店主需要帮助来为他们的商店建立额外的功能。或者你是一名开发人员,有一个新应用程序(app)的好主意,可以帮助店主更好地销售。无论哪种方式,你都可能需要使用Shopify的API。该API允许您下载商店的产品清单和修改商店的主题。
在本文中,我们将了解如何访问特定商店并进行API调用。我们假定您至少具备一些开发知识。我将使用PHP来展示示例,但是您几乎可以使用任何开发语言来完成所讨论的所有功能。
为Shopify商家构建应用程序
无论您是想为Shopify App Store构建应用程序,提供私人应用程序开发服务,还是正在寻找增加用户基础的方法,Shopify合作伙伴计划都将为您的成功奠定基础。免费加入并访问教育资源、开发人员预览环境和经常性收入分享机会。
报名应用程序的类型
在Shopify中,有两种类型的应用程序:私人和公共。私有应用程序只被锁定在一个商店,通常是为那些想要扩展自己商店功能的商店所有者提供的。你可能已经猜到了,公共应用程序是指面向所有商店的应用程序,而不是锁定在一家商店。例如,列表中列出的所有应用Shopify应用商店都是公共应用。在本文中,我们将专注于公共应用程序,但两者的技术方面是相同的。
你可能还喜欢:建立一个销售的Shopify应用程序的4个技巧.
开始之前OB欧宝娱乐APP
在本指南中,我们将通过每个步骤,需要让你的应用程序运行和与Shopify API通信。在我们继续之前,你需要做以下事情(如果你还没有做的话):
1.注册一个Shopify合作伙伴帐户.它是免费的!
2.当你登录时,继续创建应用的API密钥在这里.大多数选项都是不言自明的,但是当您进入应用程序回调URL字段时,您需要输入域名你正在做的事情。Shopify只会向此域名发送令牌。例如,如果您在本地计算机上工作,您可能希望将其设置为http://localhost/现在。
3.登录后单击应用程序在左侧导航栏中,单击创建应用程序.
给你的应用起任何你喜欢的名字。为应用程序的URL,输入您正在处理的域/ install.php.如果你是在自己的机器上进行本地开发,你会想要进入http://localhost/install.php.如果您的服务器不在80端口上运行,您可能需要添加端口号。http://localhost:8888/install.php).
4.创建应用程序后,导航到应用程序信息选项卡。下提示重定向URL,您将需要添加与步骤3中相同的域,这次由/ generate_token.php.例如,如果您在自己的机器上进行本地开发,则需要添加http://localhost/generate_token.php.
5.滚动到这个视图的底部,记下你的API密匙和API密钥.您将需要这些凭证来跟随示例。
下载我的示例PHP代码.下面的所有示例代码都取自这些脚本。示例代码以过程式风格编写,以便于学习核心概念。在生产环境中,您肯定希望添加更多的检查和优化。
当我们讨论url的话题时,了解更多关于规范的URL是什么以及为什么它们如此重要。
你可能还喜欢:最大化使用Shopify API的7个技巧.
生成访问令牌
要开始OB欧宝娱乐APP使用Shopify API处理商店数据,您必须通过商店的身份验证。这意味着商店老板必须安装并批准你的应用程序的某些权限(例如,创建新产品)。这是使用名为OAuth的进程完成的,这是应用程序之间通信的一种非常安全且常用的方法。我知道这听起来很复杂,但别担心,任何人都可以很快掌握它。
在本文中,我们将使用OAuth构建一个特殊的URL,用户可以在其中批准您的应用程序,并最终生成一个特殊的令牌,您可以使用该令牌通过API访问相关商店。下面是一个流程图,列出了完成这一任务所需的所有步骤。
步骤1:收集店铺信息
当Shopify商家请求通过Shopify应用商店安装您的应用程序时,请求将发送到您的应用程序URL,并带有商店附加参数。的值商店参数将是商家的myshopify域名,例如:http://localhost/install.php?shop=johns-apparel.myshopify.com.
我们可以模拟这个安装请求,只需在服务器运行时将这个URL粘贴到浏览器地址栏中,将值替换为商店为您的Shopify开发商店的域名。
步骤2:安装审批
一旦你有了商店所有者的“myshopify.com”URL,你需要将用户重定向到一个URL,在那里他们可以批准你的应用。这个URL的格式如下。
https://{店}.myshopify.com/admin/oauth/authorize ? client_id ={api_key}范围={范围}&redirect_uri ={redirect_uri}
{店}
用户给您的子域“myshopify.com”URL。
{api_key}
您提供给您的API密钥,如上所述。
{范围}
这是您要求商店所有者接受的权限列表。对于本例,我们希望能够读取订单和修改产品,因此我请求read_orders和write_products。请参阅作用域及其定义的完整列表.
{redirect_uri}
用户下一步应该被发送到哪里。这是将生成令牌的脚本的URL,如下面的步骤3中所述。
PHP代码示例
步骤3:捕获访问码
如果用户已经批准了您的安装,他们将返回URL中作为查询字符串的授权码。例如:
“?”前面的部分与redirect_uri美元
你所包含的变量。
"?"后面是几个本应包含的参数:" code "、"hmac"和" timestamp "。“code”参数是您将用于OAuth过程部分的授权代码。另外两个参数用于验证请求是否确实来自Shopify。让我们先解决这个问题……
步骤3。b:验证数据
如果黑客试图以上述格式向您的服务器发送请求,该怎么办?你怎么知道它是否确实来自Shopify还是其他人试图恶意攻击?这就是为什么要提供" hmac"和" timestamp "。通过计算HMAC SHA256摘要,我们可以将其与传入的进行比较hmac参数,并确定请求是否合法。
PHP代码示例
让我们继续使用这个“code”值来获取商店的访问令牌。我们将通过运行第一个API调用来实现。
步骤4:为商店令牌交换访问码
到目前为止,我们已经拥有了生成应用令牌所需的一切:应用API密钥、应用密钥凭证和访问码。
Shopify有一个特殊的API调用端点,您可以使用它与商店的永久API令牌“交换”您的访问码:
/管理/ oauth / access_token
PHP代码示例
在上面的代码中,我们发布到Shopify的服务器,然后将OAuth为demo-shop.myshopify.com生成的令牌存储到美元的令牌
变量。记住,这就像进入商店的密码,所以你要把这个令牌存放在一个非常安全的地方。
步骤5:进行API调用
如果你已经走到了这一步,那就意味着你已经通过了所有的困难部分!现在,只要事先获得相关范围的批准,就可以对商店进行API调用。如果没有,则需要通过上述步骤获得一个具有必要权限的新令牌。
总而言之,每个API调用都需要以下细节:
- 商店API令牌
- 购买“myshopify.com”网址
- 要调用的API端点以及任何特殊参数
在本指南中,我们请求访问的权限(范围)之一是阅读产品信息——现在让我们尝试一下。你需要的端点是/管理/ products.json
PHP代码示例
如果一切处理正确,则美元的产品
变量应该包含一个JSON字符串,看起来像这样:
在返回的JSON中,我只有一个产品,它是ID号370733088。假设我们想要修改这个product,那么继续这段代码,我们将通过编程将这个ID放入一个变量中,这样我们就可以处理这个product了。
好的,现在我们将前面提到的ID号存储在product_id美元
变量。假设我想修改这个产品的标题。现有的标题“test”毕竟不是很用户友好。你需要用到它product_id美元
变量,这样Shopify就知道你在修改哪个产品……
在$ modify_data数组
我们有所有需要的信息,我们发送给Shopify。这个数组在函数中被转换成JSONshopify_call ()
函数。中列出了此API调用的需求,以供将来参考Shopify API文档.您可能还注意到我们的数据处理方法是PUT。这会告诉Shopify,我们正在修改数据,而不是下载或删除数据。
如果这个API调用成功,您将返回一个JSON字符串,其中包含您的更新modified_product_response美元
变量:
正如你所看到的,产品标题已经更新,以匹配我们在modify_data美元
变量。Shopify使他们的API非常可预测和一致。这意味着以后,您可以以类似的方式使用大多数API端点。
动态地进行API调用
当我为Shopify开发时,我通过使用GUI进行API调用节省了大量时间。这样,在确定API包含所需数据之前,我就不必编写一大堆PHP代码。下面是一些不错的选择。
- 休息(Mac) - 3.99美元
- 我只是在休息(Windows) -免费
- RequestBin(网络)-免费
你可能还喜欢:ob欧宝娱乐app下载地址营销你的Shopify应用:应用列表页面.
熟能生巧
经过一点实践,我想你会同意Shopify API既灵活又易于访问。它可以做很多事情,而且它只是在扩展对各种端点的支持。我迫不及待地想看看你想出了什么!
如果你有任何问题,你可以在Shopify论坛或者在下面的评论中发表。
想了解更多关于为Shopify构建应用程序的信息吗?查看我们的文章综合列表Shopify应用开发和Shopify API.欲知详情,请浏览:Shopify伙伴