我正在製作一個API,用於在我們公司和電話捕獲公司(接受來自我們客戶的電話並捕獲他們的輸入(密鑰,語音信息等))的公司之間進行溝通。如何將電話工作流程存儲在數據庫中,還是有更好的方法?
如何將工作流存儲在數據庫中?我希望能夠爲每個呼叫提供唯一的ID,以便在下次請求時識別它,請求提示,捕獲數據/語音,在第N次錯誤嘗試後返回到工作流程中的某個位置像GOTO)和jumt在成功輸入,結束呼叫的情況下,下一步,等
我想才達到的操作數,如:
- IF(可能多的choise,不只是Y/N,也1,2,3,4 ......,選項)
- 當(N次嘗試)
- GOTO(跳轉到不同的一步 - 不是未來)
我知道,我的解釋太模糊了,我很抱歉。你們都知道自動電話是什麼,以及在這期間會發生什麼。
我很想爲每個新手機捕獲項目分別設置一個工作流程處理類。這樣,如果有人向項目1的step1請求API,代碼將知道它應該將請求傳遞給項目類。 API將具有一個主類(調度程序),它將讀取工作流表並處理將請求提供給所需的項目類。
我想做出靈活而簡單的事情。有沒有人有想法,例子或建議?
這是我的想法。存儲工作流程表
CREATE TABLE `projects_workflow` (
`flow_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`project_id` INT NOT NULL ,
`name` VARCHAR(20) NOT NULL ,
`prompt` VARCHAR(20) NOT NULL ,
`capture` VARCHAR(20) NOT NULL ,
`attempts` INT NOT NULL ,
`success` VARCHAR(20) NOT NULL ,
`error` VARCHAR(20) NOT NULL
);
flow_id - 主ID,PROJECT_ID - 項目ID,因爲我們將有不同的項目,名稱 - 工作流節點的名稱(項目編號和名稱作出的唯一密鑰),提示 - 呼叫者會聽到什麼(一個可疑消息),捕獲 - 系統捕獲什麼(入口(6,6,),VOICE,NONE),嘗試 - 在很多時間可以重複,然後再算作錯誤,成功和失敗錯誤導致下一個節點。
可能的工作流程可能是:
flow_id project_id name prompt capture attempts sccess error
1 1 capture1 01 6,6 1 endcall error1
2 1 error1 02 NONE 4 capture1 capture2
3 1 capture2 03 VOICE 1 endcall
4 1 endcall 04 ENDCALL 1
如果在工作流與錯誤事件/節點順利通過誤差種臺將被重置。
所以有人打電話時,如果錯誤將被回覆(4次),他/她會被要求輸入6位數字,然後去捕獲來電語音信息。如果成功,通話將結束。我將記錄數據庫中的每一步。
我可以並且可能會excange與節點,而不是他們的名字
P.S.的ID的研製成功和錯誤列對不起,這個問題的描述很糟糕。
您的問題太寬泛無法回答。嘗試縮小它,並提出每個主題的問題,並具體說明:'我有這個用例......,這是我對數據庫結構的想法有沒有更好的方式來佈置我的數據庫? '那麼當你有你的數據庫時,試着寫一些代碼,如果你被困住了,就你遇到的問題問一個具體的問題。 –
Johan
我試圖解釋得更好,併發布到目前爲止我的想法。希望有所幫助。 –