如何在apex中创建自定义URL以从第三方应用程序获得Json响应



我正在使用rest api向第三方应用程序发送一些参数。在其中一个参数中,我正在发送一个URL,该URL将在5或10分钟后被第三方程序用来发送json响应。我的问题是,我如何为第三方应用程序创建该URL,以便他们发送响应

如果第三方也可以发送HTTP头,您可以向他们发送当前用户的会话id。如果该用户启用了API(配置文件/权限集中的复选框(,您可以编写一个接受POST的Apex REST服务。他们称之为Authorization: Bearer <session id here>,它可以非常好地工作。这条小道对你来说可能是个好的开始。(或者你可以联系他们的开发者,也许同意在SF中为他们创建一个专用用户,这样他们就可以用自己的凭据登录并将其发送回来吗?(

如果他们不能发送任何特殊的标题(它必须是未经验证的SF连接(,也许你可以制作一个Visualforce页面,将其公开为Site,然后页面的控制器可以做任何你需要的事情。也许你已经有了面向公众的东西(社区?(,也许这将是全新的。。。检查https://developer.salesforce.com/docs/atlas.en-us.206.0.salesforce_platform_portal_implementation_guide.meta/salesforce_platform_portal_implementation_guide/sites_overview.htm

如果这些都不适用于您,那么url是否必须ping回Salesforce。也许你可以控制另一台服务器,它可以接受这样的未经验证的请求,然后让那个服务器调用SF。有点像代理。你甚至可以很容易地在Heroku上设置一些东西。

最后但并非最不重要。这将是非常愚蠢的,但如果其他一切都失败了——在沙箱中启用Web到Case或Web到Lead,并对其进行实验。一天结束时,他们会给你一个url,你可以POST到它并传递一个包含数据的表单。我认为它必须是Content-Type: application/x-www-form-urlencoded,如果您提到JSON,他们可能会将其作为application/json发送,因此可能不起作用。如果它有效的话,你可以把有效载荷保存在案例的描述字段中(可能是特殊的记录类型?(,然后用它做点什么。我真的不喜欢这个。

相关内容

最新更新