MailChimp 和 SquareSpace API 集成

MailChimp and SquareSpace API integration

我需要整合两个 API(SquareSpace 和 MailChimp)- 从第一个获取信息并将其输入到后者。两个 API 互不支持,我知道我需要创建一个格式为 JSON 的自定义解决方案。

当用户在 SquareSpace 网站上进行购买时,我需要知道他们购买了什么,然后将他们订阅到邮件列表中,并在邮件列表中标记他们的购买名称。

我有 Linux 和 Windows 台服务器可供使用。我可以使用 PHP 或 Node 来编写我的代码,但我更喜欢 PHP,因为我更喜欢它。

SquareSpace Commerce API 注释可在以下位置找到:https://developers.squarespace.com/commerce-api

MailChimp API 注释可在此处找到:http://developer.mailchimp.com/documentation/mailchimp/reference/overview/

这可能吗?

步骤:

  1. 选择一种您会的语言。如果您不会任何语言,则必须学习 JS,Python 等
  2. 了解如何发出 HTTP 请求。尝试几件事:GET 请求类型,POST 请求 JSON 正文,PUT 请求 JSON 正文。
  3. 了解如何解析 JSON
  4. 使用一项服务,解析其 json 使其成为其他服务的输入,并对该其他服务进行 http 调用。

简介

SquareSpace 文档不是特别全面,但通常有一个 HTTP 触发器(有时称为 回调)在特定事件点(例如产品购买)被调用。这是 hinted at here:

Using the data we provide access to through our API, you can:

  • Connect to a third-party fulfillment or shipping application

您需要在 SquareSpace 控制面板中查看是否存在此类内容。如果是,您可以让 SquareSpace 在发生购买事件时通知您。像 PayPal 这样的服务就是这样做的。

设计建议

如果没有,您可以改为在调度程序上运行您的代码,并使用 Orders API 定期检查新订单。本质上,您需要将 SquareSpace 数据库中的信息与本地数据库同步,这样您就可以将其推送到 MailChimp。由于快速将信息输入 MailChimp 并不重要,您可以每 15 分钟左右执行一次。

为了客户隐私,我建议您只同步最低限度的信息,例如订单号、产品代码、名字和电子邮件地址。如果您不熟悉 API 编程,并因此遭受安全漏洞,那么您的客户将理所当然地对您不满意 - 所以要小心,如果可以,请开始您的工作 security-checked。我还建议您在成功推送到 MailChimp 后删除同步信息。

要同步,您需要永久存储的唯一信息是“最后更新时间”。当您随后进行下一次同步时,您可以忽略任何早于该时间的订单,因为您已经推送了它们。

您需要检查 MailChimp 推送失败,例如数据验证问题。该数据仍需要存储在您的中间服务器中,因此您可以手动修复数据,该数据应在下一次推送时同步。

API 调用

要进行 API 调用,您可以使用 PHP 的 curl 模块。还有is an example here and many more here。我建议在您的开发机器上尝试此操作,看看您是否可以向 SquareSpace 发出成功的订单请求。

Stack Overflow 与您过去可能使用过的其他问答网站略有不同,对于新用户而言,我明白这些差异可能会令人沮丧。有时会有这样一种期望,即在一些笔记的基础上,热心的帮助者会为陷入困境的初学者写出 fully-coded 解决方案。

但是,我们在这里不这样做。该网站的目的是为未来的观众收集具体和有用的 post,为此,问题必须详细和集中。您的问题可能相当广泛,可以分解成多个部分(然后您可以分别研究每个部分,并在需要时提出更具体的问题)。

我编辑了你的 post 几次,以确保所有相关信息都在问题本身中呈现,这样新读者就不需要费力地通过评论来获得状态的增量更新的问题。