引言
隨著市場經濟的不斷深化,客戶已成為企業(yè)最重要的資源。為了收集客戶信息,一般的客戶關系管理系統都提供多種與客戶交互的接口,例如:互聯網、呼叫中心、電話、傳真、信件等。目前,手機已成為最大的終端。而手機短信由于使用成本較低,技術上實現較為便利,傳播方式上的雙向互動以及信息的個性化,使得短信息成為手機用戶最經常使用的業(yè)務之一,短信提醒功能成為CRM系統一個很重要的功能。
目前的短信業(yè)務分為兩種工作模式:一種是終端方式;另一種使用短信網關的方式。本系統選擇使用終端方式,所借助的設備是TC35i手機模塊。
1.系統總體框架
系統分為三個層次:接觸層、功能層和數據庫層,如圖一所示。
(1)接觸層承擔著數據傳輸任務,是系統與外部問的通訊橋梁。主要包括SP短信接口和Internet/Intranet等。SP短信接口負責短信息的接收和發(fā)送,應用層的各系統模塊調用此接口接收或發(fā)送短信數據,并寫入或讀出后臺業(yè)務數據庫。
(2)功能層也叫業(yè)務層,包括銷售管理、活動管理、服務管理、統計分析等。銷售管理具體分為機會管理、報價管理、產品管理,訂單管理,客戶檔案等子模塊;活動管理包括聯系活動、歷史記錄,工作日歷等子模塊:服務管理包括服務定制,服務指派、產品目錄,客戶關懷等了模塊;統計圖一系統分析分為按產品,按日期、按地區(qū)、按客戶進行統計。功能層是系統的核心部分,主要功能是組織和瀏覽銷售信息,根據統計分析產生各類銷售業(yè)務的報告,對銷售業(yè)務給出戰(zhàn)術上、策略上的支持。
(3)數據庫層,存放著客戶數據、銷售機會數據、活動記錄、庫存信息等,系統通過互聯網和短信發(fā)送和接收數據,并不斷刷新數據庫。
圖一系統總體框架
2.系統運行模式
客戶關系管理系統增加短信支持后,可以用手機短信作位為載體,在各類人員(如客戶,銷售人員、營銷人員,管理人員、經銷商)間傳輸銷售信息、客戶信息。運行模式大概有以下幾種方式:
(1)銷售渠道信息采集。各地的銷售終端促銷人員和零售店銷售人員,把銷售數據以特定手機短信SM方式,存入網絡化銷售管理支持系統,形成當天的產品銷售數據報表,最終成為企業(yè)銷售歷史數據;現場操作人員(如倉庫人員,物流人員)通過SM把倉庫數據、物流信息等發(fā)送到系統數據庫,使系統數據庫的庫存數據、物流數據得到更為及時的更新。
(2)各種人員問信息交互。公司管理人員在制定銷售策略后,及時通過SMS傳輸給促銷人員和市場人員;公司市場業(yè)務人員和分銷商定時把各地的訂單和庫存信息,通過SMS存入系統數據庫,同時通過SMS訪問系統,隨時了解最新的訂單、庫存、產品價格和客戶信息等,從而做出最合理的銷售決策。
(3)為客戶提供的服務。在與客戶交互過程巾,客戶的手機號和其他信息將作為客戶信息管理的原始數據存入數據庫。客戶可選擇定制企業(yè)提供的各項服務,例如獲取新產品信息,產品報價、商品優(yōu)惠信息等;系統還可根據客戶信息進行客戶跟蹤,客戶抽獎、客戶調查和客戶關懷等客戶關系管理。
3.主要技術、遭遇的問題及解決方法
3.1短信接口設計
本系統所借助的設備是TC3Si手機模塊。SMS系統由以下幾部分組成:短消息實體(Short Messaging Entity,SME),手機模塊,短信息業(yè)務巾心(ShortMessage Service Center,SMSC),相應的GSM/SGSN網絡系統。本系統的短信指令傳遞路線摸擬如圖二所示。
圖二短信指令傳遞路線
由圖二可以看出,用戶所發(fā)出短消息實體,通過相應的GSM網絡,由短信中心轉發(fā)到手機模塊,通過串口進入主機,再經過SMS短信接口進入系統數據庫,系統根據短消息指令進行相應;短信的發(fā)送流程于此相反。
本系統中TC35i手機模塊與微機的串口相連,微機通過向串口發(fā)送AT指令來發(fā)送或接收短信。TC35i手機模塊是德國SINMENS(西門子)公司的產品,TC35i是一款雙頻900/1800MIIZ高度集成的GSM模塊,可以傳送語音和數據,需要外接SIM卡,支持MT,MO,CB和PDU短信息模式,通過RS232串行口與微機相連進行指令和數據的雙向傳送,串口的工作頻率為300bps……115kbps,可用AT命令編程。
3.2短信模式
短信模式有三種:Block Mode、Text Mode(純文本方式)、PDU Mode。PDU Mode可以被所有手機支持,可以使用任何字符集,是手機默認的編碼方式。在PDU Mode中,可以采用三種編碼方式米對發(fā)送的內容進行編碼,它們是7-bit、8-bit和UCS2編碼。7-bit用于發(fā)送普通的ASCII字符;8-bit編碼通常用于發(fā)送數據消息,比如圖片和鈴聲等;UCS2編碼用于發(fā)送Unicode字符,包括漢字。UCS2編碼是將每個字符(1-2個字節(jié))按照ISO/IECl0646的規(guī)定,轉變?yōu)?6的Unicode寬字符。在Windows系統中,可以簡單地調用API函數實現編碼和解碼。本系統即是調用API函數來實現短信的UCS2編碼與解碼。
3.3短信組件
為了提高代碼重用率,本系統用c#語言開發(fā)了短信組件。此組件下包含若干類,其中CommPort類用于描述串口信息;PDUdecoding類針對國內短信編碼(USC2)對短信進行編碼與解碼;SmsInitComm類下包括串口初始化方法InitCom,發(fā)送和接收短信的Send方法和Receive方法,smslnitcomm類的dispose()方法用于關閉串口。
NET組件在NET環(huán)境下是不用注冊的,但如果是在COM中調用NET組件,則需要一些額外的注冊步驟。由于本系統是使用ASP語言開發(fā)的,因此在調用C#開發(fā)的短信組件時,不能簡單的使用regsvr32命令來進行注冊。注冊NET組件有以下三個步驟:
(1)首先用sn.exe(強名稱生成工具)生成一個密鑰文件,并使用它對程序集簽名,也就是編輯AssemblyInfo.CS文件,將Assembly Key File行修改為【assembly:AssemblyKeyFile("密鑰文件名")】。
(2)用regasm.exe(注冊工具)注冊該程序集并創(chuàng)建一個類型庫。
(3)用gacutil.exe(全局程序集緩存工具)將程序集添加到全局程序集緩存中。
3.4如何提高發(fā)送成功率
短信組件的開發(fā)比較困難的是群發(fā),單條短信的發(fā)送一般都能成功,但群發(fā)常常失敗。可能原因是串口的累計誤差、SIM卡的讀寫誤差,以及GSM網絡繁忙等,為此在設計組件時,串口初始化和短信發(fā)送稃序都被設計成循環(huán)10次。如果lo次都沒成功,則宣告失敗。
4.存在的問題及改進
終端方式的優(yōu)點是系統成本低,實現較為便利,但由于SIM卡的讀寫次數是5萬到10萬次,因此受此限制,終端模式并不適合大批量短信發(fā)送和接收。解決的方法是選擇使用短信網關的方式。