Xero-带zapier的oauth流

问题描述 投票:0回答:1

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

我曾考虑使用oauth-2 beta,但它的流程很复杂,对于我的用例而言,它仅是通过简单的静态设置连接到一个组织,因此并不理想。

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

zapier xero-api
1个回答
0
投票

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

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

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

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

现在,转到“测试身份验证”并通过授权流程来连接您的组织。测试调用的响应将包含tenantId,您可以将其复制到剪贴板。

enter image description here

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

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

enter image description here

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

enter image description here

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

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

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

我放置了up on Github,其中包括其他基本示例,例如检索发票和创建联系人。希望它会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.