Xero-Zapier的OAuth流

1 zapier xero-api

我正在研究在zapier中添加一个Webhook,该Webhook将使用xero开票api发送发票。Xero没有扎比动作来执行此操作。

我本来打算使用oauth-2 beta,但它的流程很复杂,对于以简单的静态设置连接到一个组织的用例来说,它并不理想。

关于如何设置的任何想法?

小智 5

我不是Zapier专家,但是我设法通过成功发送发票的操作创建了OAuth 2.0集成。确实做了一些调整。我是通过UI完成的,但是如果愿意,您显然可以使用CLI工具。如果有人有任何改善建议,请告诉我!

创建新的集成,然后选择OAuth 2.0进行身份验证。正常设置重定向URL,客户端ID和客户端密码。添加一些范围(通过电子邮件发送发票需要accounting.transactions),然后

勾选“我想在未经授权的错误后自动刷新”选项

对于测试端点,请使用GET https://api.xero.com/connections

现在,转到“测试认证”并通过授权流程来连接您的组织。测试呼叫的响应将包括tenantId,您可以将其复制到剪贴板。

在此处输入图片说明

单击“保存并完成”,然后从左侧导航栏转到“高级”部分。在这里,您可以添加TENANT_ID环境变量,并粘贴到剪贴板中的tenantId值中。

在此处输入图片说明

现在,您已经设置了授权,您可以创建操作以通过电子邮件发送发票。单击“添加操作”并填写名称等。在“输入设计器”选项卡上,添加InvoiceID作为输入字段。

在此处输入图片说明

然后转到“ API配置”标签,然后配置“ API请求”。在这里,您需要切换到代码模式:

在此处输入图片说明

您需要在标准模板中添加/更改三件事

  1. 将InvoiceID输入字段添加到URL中
  2. 添加带有TENANT_ID环境变量的xero-tenant-id标头
  3. 硬编码响应对象,例如{“ Result”:“ Success”}。这是因为Zapier不喜欢从Xero API获得的空响应正文。这样做可能不太麻烦,但这确实可以做到。

现在,如果您使用组织中的有效InvoiceID测试API请求,则将从Xero发送电子邮件。

我已经将整合集成到Github上,其中包括其他基本示例,例如检索发票和创建联系人。希望它会有所帮助。