如何实现传递拆线原因码给指定业务接口?
有时候,业务需要我们在呼叫拆线时调用指定的接口,上报拆线原因码等信息。实现这个功能的要点,除了在接口管理定义指定的接口,还需要做一个异常流程,以及通过一个全局变量记录流程拆线的原因。
首先,需要明确一下呼叫拆线原因的分类。从呼叫参与主体角度可以分为三类:
- 一是用户主动挂机拆线
- 二是流程正常逻辑结束的拆线
- 三是流程异常结束的拆线
本文将介绍如何配置流程、变量和接口来给指定接口上报这三类拆线的原因码,这里约定流程正常逻辑结束拆线原因码为0,流程异常结束拆线原因码为1,用户主动挂机拆线原因码为2。
- 定义全局变量标识拆线原因。
添加一个全局变量,一定要填写缺省值,且值为用户主动挂机拆线的原因码。例如名称为release_type,数据类型字符型,缺省值为2,如下图:
- 添加异常流程并设置异常拆线的原因码。
参考添加流程,创建一个流程,场景类型一定要选择异常流程。通常,异常流程要有一个应答图元,用于播放一段因为流程进入异常给用户造成不便的礼貌用语,例如Sorry,We are facing some technical issues, Please try after some time. Thank you.
然后,就可以用业务接口图元来给上面的全局变量赋值,标识为流程异常拆线的原因码,我们这里就设置为1;最后,走到结束图元,来结束已经走到异常流程的呼叫。
- 正常流程结束图元前设置正常拆线的原因码。
不需要改变现有正常流程的逻辑,只需要在正常流程结束图元前面,增加一个业务接口调用图元,给上面的全局变量赋值,标识为流程正常拆线的原因码,我们这里就设置为0。例如:
- 指定接口的参数配置。
参考4.1.1章节,根据业务提供的接口信息,添加业务接口,唯一特殊的地方,就是要把上面标识拆线原因码的变量作为消息体的入参配置到接口中,例如下图:
- 主流程结束图元调用指定接口。
参考结束图元,对主流程的结束图元调用已经配置的接口,就可以实现流程拆线后调用指定接口上报不同的拆线原因码。