当从特定网站调用包含特定数据的 API 时,在 PHP (iTop) 中为特定用户会话调用

Open modal when an API containing specific data is called from a specific website in PHP (iTop) for a specific user session

提问人:Lucifer 提问时间:3/23/2023 最后编辑:Brian Tompsett - 汤莱恩Lucifer 更新时间:7/11/2023 访问量:47

问:

问题

当从3cx(一种流行的软电话解决方案)调用到我的iTop服务器(一种流行的FOSS票务/服务台解决方案)时,我需要在我的iTop页面UI.php中打开一个模式(并且可能仅在特定的用户会话上)

环境

PHP的 : 7.4.3
操作系统 : Ubuntu 20.04
iTop 版本 : 2.7

我试过什么

  1. PHP 中的 SSE(服务器端事件)。SSE 占用了太多内存?* 我似乎无法让它工作。
  2. 更改 api 以将 api 输出存储在一个文件中,该文件可以解构以检查 api 调用是否来自 3cx。无法像我一样实现,我已经重新加载页面以显示模式。

我没有尝试过的事情

  1. Mysql 触发器。(我试图将其存储在可以触发 sql 事件的数据库中,该事件又会使用 javascript/AJAX 打开模式)
  2. Websockets(太复杂)

缺点

由于 PHP 是静态的,事件可以随时触发,而没有关于它的信息,因此如果不重新加载页面,就很难实现这种行为。

PHP 事件 websocket

评论

1赞 Bellator 3/23/2023
这是你的 API 吗?您是否有权将信息添加到json中,以便进行检查
1赞 Shadow 3/23/2023
您可以将 ajax 与常规轮询一起使用,也可以将 websockets 用于服务器推送,但如果您使用现有的事件桥接或消息队列而不是创建自己的事件桥接或消息队列,则可能会更简单。
0赞 Lucifer 3/23/2023
是的,这是我的api(如果需要,我会更新问题)
0赞 Lucifer 3/23/2023
@Shadow如何使用消息传递来打开模式?
1赞 Shadow 3/24/2023
是的,没错。

答:

0赞 Molkobain 7/11/2023 #1

Combodo 有一个现有的扩展,可以完全满足您的需求,它称为计算机电话集成

基本上

  • 支持代理接到的呼入电话可以在代理自己的浏览器上转换为iTop WEB页面:显示一个仪表板,其中包含有关呼叫者及其正在进行的工单的信息,并且可以从那里直接启动新工单的创建,
  • 出站电话可以直接从工单的详细显示中与给定工单的呼叫者一起发起, New Phone Call 对象跟踪发生的电话呼叫并导致票证修改,
  • 分机的行为是高度可配置的,以适应电话系统功能并最好地满足支持团队的要求。

这是 Combodo 制作的关于该扩展的网络研讨会的视频

评论

0赞 Lucifer 7/12/2023
是的,但它是付费的,甚至没有接近我们已经做过但需要抛光的事情的预算。感谢您的回答,但我们已经实现了一个代码,该代码将通过 mysql 触发器触发模态