Bigcommerce-用PHP开发应用程序-Webhooks

Bigcommerce-用PHP开发应用程序-Webhooks,php,oauth-2.0,bigcommerce,webhooks,guzzle,Php,Oauth 2.0,Bigcommerce,Webhooks,Guzzle,这是我为满足内部业务需求而开发的第一个应用程序,我需要一些入门帮助 到目前为止,我发现他们的文档标准很低,但通过大量的谷歌搜索和研究,我成功地获得了一个生成访问令牌的请求 我使用Composer下载了Guzzle并创建了一个侦听GET请求的小代码,我发布了一些详细信息并收到了令牌。太好了 现在怎么办?看起来我需要注册一个web钩子,但首先我想从列出钩子开始——只是想了解下一步需要做什么 我希望每次下订单时都能检索订单详细信息 问题: 我有一个托管在SSL主机上的oauth.php文件,安装应用

这是我为满足内部业务需求而开发的第一个应用程序,我需要一些入门帮助

到目前为止,我发现他们的文档标准很低,但通过大量的谷歌搜索和研究,我成功地获得了一个生成访问令牌的请求

我使用Composer下载了Guzzle并创建了一个侦听GET请求的小代码,我发布了一些详细信息并收到了令牌。太好了

现在怎么办?看起来我需要注册一个web钩子,但首先我想从列出钩子开始——只是想了解下一步需要做什么

我希望每次下订单时都能检索订单详细信息

问题:

  • 我有一个托管在SSL主机上的oauth.php文件,安装应用程序时会调用该文件。这给了我一个代币。我是否在收到令牌后立即注册web钩子

  • 如果答案是肯定的,那么我现在是否创建一个webhook.php文件,用于侦听实时下的订单

  • 如果是肯定的,我是否需要运行与oauth中相同的代码,以检查我是否被允许,如果是,则侦听调用和进程


一旦拥有访问令牌,您可以随时创建/列出Webhook。根据稀疏文档,您的访问令牌将在30-60天内过期,因此您最终需要续订它

一旦您创建了webhook,您将需要一个适当的脚本来接收来自BigCommerce的传入数据。如果webhook从脚本接收到的HTTP代码不是200,它将尝试延迟重复该请求,并且在多次失败后,最终将钩子标记为非活动

在由Webhook触发的脚本上不需要任何oauth相关代码。如果您确实需要某种形式的身份验证来验证数据源,请查看有关随webhook请求发送自定义头的文档。当webhook触发时,它将发送一个JSON对象,其中包含已更改资源的作用域和ID


应该注意的是,虽然您需要oauth进程和webhook触发器的HTTPS URL,但webhook触发器将无法工作,除非您的SSL加载了所有中间证书。您可以在没有此功能的情况下完成OAuth过程,但钩子根本不起作用,甚至无法访问您的服务器访问日志。

您的应用程序是为一个或多个所有者提供的?嗨,miglio-只有一个所有者。它不是一个公共应用程序。Thanksbigcommerce必须以一种方式创建应用程序,私有和公共,oauth令牌用于公共,因为私有是不必要的,因为您在管理员存储中生成的密钥。那么你只需要一个比publicHi miglio简单的私人应用-谢谢!网络钩子呢?我需要编写一个进程,在下订单时检索订单信息。所以我仍然可以使用API凭据,并让Bigcommerce在每次下订单时调用我的脚本吗?非常感谢@Zetaphor-在过去几天里,我成功创建了一个webhook,并让它将帖子发送给我。花了一段时间才把一切都解决了。你的帖子仍然很有用。谢谢@很高兴我能帮上忙,文档非常稀少,遗漏了一些非常重要的细节。希望OAuth和Webhooks的pull请求能很快合并到API库中,这些问题可以避免。它们的文档太糟糕了。他们的API库甚至更糟糕,完全过时了。我也希望他们能在将来帮助开发者。