我正在使用CRM应用程序的API。该API要求调用Authenticate方法来获取会话令牌。所有后续的API请求都必须包含此令牌,该令牌在检测到10分钟的不活动状态之前一直保持有效-然后该令牌变为无效,必须重新生成。
我正在尝试在Flow中创建一个自定义连接器以与此API配合使用,但是我很难确定如何将这些步骤链接在一起以及如何从第一个响应中存储令牌,以便它可以包含在以后的所有请求中。
我的业务案例是这样:
在Postman中一切正常。我什至尝试以V1格式导出我的收藏集,以便可以将其导入到Flow中,但这似乎也没有帮助。我只是不确定如何在Flow中定义所有内容,以便能够检索令牌并将其存储以供后续API调用。
在邮递员中,我的Authenticate方法如下:
{{BaseURL}}/Data.svc/json/Authenticate
这将执行此主体的POST:
{
"Database":"{{Database}}",
"UID":"{{UID}}",
"Password":"{{Password}}"
}
成功的响应如下:
{
"Code": 0,
"Data": {
"Token": "Xrww9vffhw6q4yi56s10s"
}
}
然后我需要从该主体中提取令牌,以便可以将其包含在我的其他各种POST请求中:
{{BaseURL}}/Data.svc/json/AbEntryRead
这将执行此主体的POST:
{
"Token":"{{Token}}",
"AbEntry":{
"Criteria":{
"SearchQuery":{
"CompanyName":{
"$LIKE":"ABC Company"
}
}
},
"Scope":{
"Fields":{
"Key":1,
"Type":1,
"CompanyName":1,
"Department":1,
"Division":1,
"Phone":1,
"Phone1":1,
"Phone2":1,
"Phone3":1,
"Phone4":1,
"Email":1,
"Email1":1,
"Email2":1,
"Email3":1,
"ParentKey":1,
"Address":1
}
}
}
}
在这个示例中并不是特别重要,但是此POST请求的响应如下所示:
{
"Code": 0,
"AbEntry": {
"Data": [
{
"Key": "Q29tcGFueQkwMDEwMDIwMDA2MTMwNjM2NzExNTZDCTA=",
"Type": "Company",
"CompanyName": "ABC Company",
"Department": "Sales",
"Division": "",
"Phone": "(444) 444-4444",
"Phone1": "(333) 444-4444",
"Phone2": "(222) 444-4444",
"Phone3": "(111) 444-4444",
"Phone4": "(144) 555-5555",
"Email": "",
"Email1": "",
"Email2": "",
"Email3": "",
"ParentKey": null,
"Address": "QWRkcmVzcwkwMDEwMDIwMDA2MTMwNjM2NzExNTZDCTA="
}
]
}
我只是不知道如何在Flow中设置连接器以使此设置有效。我尝试使用“ API密钥”作为身份验证模型,尝试使用“无身份验证”-但我无法弄清楚。除非我缺少令人难以置信的明显内容,否则我也无法在这种特定情况下找到好的Flow教程。
任何帮助或指向此文档的指针,将不胜感激。