Call Transcription Configuration steps:
Entry required in CloudServiceSubscription:
NSERT INTO CloudServiceSubscription (alias,account_accountID,status_statusID) VALUES ('Microsoft CallTranscription',<accountID>,<status>);
Entry required in MicrosoftCloudServiceSubscription:
INSERT INTO MicrosoftCloudServiceSubscription (accessKey,accessKeyID,credentials,region,cloudServiceSubscriptionID) VALUES ('<subscriptionKey>','<subscriptionKey>',1,'<region>',66);
Entry required in CallTranscriptionPlanMaster:
Generally 15 sec = 1 unit, this entry is there in DB with id = 1. We can use same entry no differance in per unit rate or create your own entry in db. INSERT INTO CallTranscriptionPlanMaster (createdTimestamp,planName,pulseOfSecs,ratePerPulse,serviceCategory,serviceChargeType) VALUES (now(),'<CallTranscriptionServicename>',<seconds>,<ratePerPulse>,'258’','Pulse');
Entry required to update in DIDRateMaster based on didID of DIDmaster:
First take did of your flow and with the help of this query get didid of your flow "SELECT * FROM DIDMaster where did = ''". Check DiDrateMaster table with that didId and update calltranscriptionpaln_id in that table for pulse detail. update DIDRateMaster set callTranscriptionPlan_id =1 where did_didID = <did_id>
Entry required in KeyWordMaster:
Sample Data for insert: (use customer data for live custome configuration INSERT INTO KeywordMaster (keywordName) VALUES ('Ameyo'); INSERT INTO KeywordMaster (keywordName) VALUES ('Ring central'); INSERT INTO KeywordMaster (keywordName) VALUES ('Avaya');
Entry required in TagMaster:
Sample Data for insert: (use customer data for live custome configuration INSERT INTO TagMaster (tagName) VALUES ('Competitors');
Entry required in TagKeywordMappingForAccount:
Sample Data for insert: (use customer data for live custome configuration INSERT INTO TagKeywordMappingForAccount (account_accountID,keyword_keywordID,tag_tagID) VALUES (248,1,1); INSERT INTO TagKeywordMappingForAccount (account_accountID,keyword_keywordID,tag_tagID) VALUES (248,6,1); INSERT INTO TagKeywordMappingForAccount (account_accountID,keyword_keywordID,tag_tagID) VALUES (248,11,1);
Configure API at the flow level using the webhook widget:
Call Transcription API details:
Request Parameters:
URL | https://central.phonon.io/kairos-utils/callTranscription/fromLocalFile |
---|---|
Method | POST |
Body | JSON |
Headers | Content-Type: application/json |
Auth | None |
Payload Schema:
{ "callRecordingPath": "<S3 recording public URL>", "flow-id": "<user FLowid>", "agentKey": "<agentKey>", "agentNumber": "<agentNumber>", "customerNumber": "<customerNumber>", "agentConnected": "<agentConnected>", "isCallFromCentralService": true, "languageCode": "<languageCode eg en-IN>", "phonon-uuid": "<phonon-uuid of call>", "transcriptionServiceProvider": "<microsoft/google>", "tagNames": "<tagname with "," separated or ALL>", "did": <didNumber>, "autoDetectSourceLanguages": [ <languages eg. en-IN,hi-IN> ] }
Sample Payload
{ "callRecordingPath": "https://central-aws-dev-recording.s3.ap-south-1.amazonaws.com/callrecords/28/2022/APRIL/%2Frecord_agent_28_150163_Hrishi_%2B918087644074_912265014909_919107152020_f9a442b7-ade1-4995-baca-3cb4244c00ff_21042022133751_21042022133811.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20220421T080811Z&X-Amz-SignedHeaders=host&X-Amz-Expires=604800&X-Amz-Credential=AKIARPWTOVMVCC24OYXQ%2F20220421%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Signature=01203e3580e968add6eb0d074ff03e8643c7844dcdec7cdc19191951d634b105", "flow-id": "xyz123", "agentKey": "test123", "agentNumber": "91XXXXXXXXXX", "agentConnected": "yes", "isCallFromCentralService": true, "languageCode": "en-IN", "phonon-uuid": "59d14d0e-d31a-4da1-838c-bf91fbb8a50e", "transcriptionServiceProvider": "microsoft", "tagNames": "All", "did": 22XXXXXXXX, "customerNumber": "91XXXXXXXXXX", "autoDetectSourceLanguages": [ "en-IN" ] }
Request Parameters Explanation:
callRecordingPath
: S3 recording public URL. Use variable : $call.agent.recordingUriflow-id
Get the 8 characters alphanumeric Flow ID from the ‘Edit Flow’ page of any Outbound/Inbound/Dialer FlowagentKey
Value of AgentKey. Use variable: $flow.syskey.agentKeyagentNumber
Value of Agent Number. Use variable: $call.agent.dniscustomerNumber
Value of customer number. Use variable: Inbound = $call.cli , OBD = $call.dnis , Dialer= $call.dnisagentConnected
Value true if the agent is connected and false if not connected. Use variable: $call.agent.connectisCallFromCentralService
Value true if API invokes from any central internal service otherwise false.languageCode
Value language code eg. en-IN, hi-INphonon-uuid
: Unique Identifier for each call. Use varible: $flow.syskey.phonon_uuidtranscriptionServiceProvider
: Service provider name. eg.Microsoft or goggle.tagNames
Tag names anyone can add multiple tag names with “,” separated or you can add “All” to validate all tags.did
The Number use to make calls to customers and agents. Entries are done in DIDMaster tables. Use variable: $call.dnis.numberautoDetectSourceLanguages
List of Languages can be supplied to identify
Response:
Successful Response:
Status Code: 202
Note: HTTP request accepted by API server.
Add Comment