Get a Platform CDR
Retrieves the details of a platform CDR, including the main record and the call leg records.
Request URL
GET {base_url}/uc-creport/api/v1/platform/cdr/detail/{uid}
Request parameters
- Headers
-
Parameter Required Type Description Authorization Yes String The access token used for authentication. Format: Bearer
{access_token}.x-tenant-code No String The tenant name. Note: You can obtain tenant name using the Query Tenants interface.
- Path parameters
-
Parameter Required Type Description uid Yes String The UID of the CDR to query. You can obtain the UID using the Query Platform CDRs interface.
Response parameters
| Parameter | Type | Description |
|---|---|---|
| requestId | String | The unique ID of the request, which can be used to quickly locate the request. |
| code | String | The HTTP status code of the request.
|
| message | String | The status message of the request. |
| detailMessage | String | The detailed error information. When the request is successful, this parameter returns empty. |
| result | Object<Platform_CDR_Detail> | The details of the platform CDR. |
- Platform_CDR_Detail
-
Parameter Type Description main Object<Platform_CDR_Main_Message> The main record of the CDR. legs Array<Platform_CDR_Leg_Message> The list of call leg records of the CDR.
- Platform_CDR_Main_Message
-
Parameter Type Description tenantCode String The code of the tenant that the CDR belongs to. tenantName String The name of the tenant that the CDR belongs to. id String The ID of the CDR main record. uid String The business UID of the CDR. callType String The call type:
inbound: An inbound call.outbound: An outbound call.internal: An internal call.
timestamp String The start time of the call, in Unix timestamp format (microseconds). lastCallStatus String The final call status:
answeredno_answerabandonedbusyfailedvoicemail
caller Object<Platform_Party_Info> The caller of the call. callee Object<Platform_Party_Info> The callee of the call. secondCallee Object<Platform_Party_Info> The second callee of the call. lastCallee Object<Platform_Party_Info> The last callee of the call. waitDuration Integer The wait duration of the call, in seconds. pureTalkDuration Integer The pure talk duration of the call (excluding hold time), in seconds. holdDuration Integer The hold duration of the call, in seconds. totalDuration Integer The total duration of the call, in seconds. segments Integer The number of call segments (the number of transfers plus 1). initialSourceTrunk String The name of the initial source trunk. initialDidNumber String The initial DID number. finalDestinationTrunk String The name of the final destination trunk. queues Array<Platform_Call_Feature> The list of queues that the call passed through. ringGroups Array<Platform_Call_Feature> The list of ring groups that the call passed through. ivrs Array<Platform_Call_Feature> The list of IVRs that the call passed through. hangupCause String The hangup cause of the call. traceIds Array<String> The list of trace IDs of the call. hasAiTranscription Boolean Whether the call has an AI transcription.
true: The call has an AI transcription.false: The call has no AI transcription.
recordingTranscriptionStatus String The status of the recording transcription task:
NOT_SUBMITTEDPENDINGPROCESSINGCOMPLETEDFAILED
An empty string indicates that no transcription task exists.
hasCollectedInfo Boolean Whether the call has collected information.
true: The call has collected information.false: The call has not collected information.
- Platform_Party_Info
-
Parameter Type Description number String The number of the party. name String The name of the party. featureType String The type of the call feature associated with the party. featureNumber String The number of the call feature associated with the party. featureName String The name of the call feature associated with the party. avatar String The URL of the party's avatar.
- Platform_Call_Feature
-
Parameter Type Description name String The name of the call feature. number String The number of the call feature. callStatus String The status of the call feature:
answeredno_answerbusyfailed
aiStatus String The AI processing status. This parameter is returned only when the call feature is an AI receptionist:
completedtransferredfailed
- Platform_CDR_Leg_Message
-
Parameter Type Description tenantCode String The code of the tenant that the call leg belongs to. tenantName String The name of the tenant that the call leg belongs to. id String The ID of the call leg record. transactionId String The transaction ID, which is used to associate multiple call legs. uid String The business UID of the call. callType String The call type:
inbound: An inbound call.outbound: An outbound call.internal: An internal call.
callStatus String The call status:
answeredno_answerabandonedbusyfailedvoicemail
caller Object<Platform_Party_Info> The caller of the call leg. callee Object<Platform_Party_Info> The callee of the call leg. callerAddr String The IP address of the caller. sourceTrunk String The name of the source trunk. destinationTrunk String The name of the destination trunk. didNumber String The DID number. This parameter is used for inbound calls. dodNumber String The DOD number. This parameter is used for outbound calls. timestamp String The start time of the call leg, in Unix timestamp format (microseconds). callDuration Integer The total duration of the call leg, in seconds. ringDuration Integer The ring duration of the call leg, in seconds. pureTalkDuration Integer The pure talk duration of the call leg (excluding hold time), in seconds. holdDuration Integer The hold duration of the call leg, in seconds. pinCode String The PIN code of the outbound route. hangupCause String The hangup cause of the call. traceId String The trace ID of the call leg. shakenAttestation String The SHAKEN attestation level of the call:
ABCInvalidUnsignedUnknown
An empty string indicates that the attestation is not applicable.
hasAiTranscription Boolean Whether the call has an AI transcription.
true: The call has an AI transcription.false: The call has no AI transcription.
recordingTranscriptionStatus String The status of the recording transcription task:
NOT_SUBMITTEDPENDINGPROCESSINGCOMPLETEDFAILED
An empty string indicates that no transcription task exists.
aiStatus String The AI processing status. This parameter is returned only for the call leg of an AI receptionist:
completedtransferredfailed
Example
Request example
GET /uc-creport/api/v1/platform/cdr/detail/20261021113356LG1BE HTTP/1.1
Host: api.cn.novoone.com
Authorization: Bearer eyJraWQiOiJjbi0wLWtleS0xIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJkaXN0cmlidXRvcmV4YW1wbGVAb3V0bG9vay5jb20iLCJhcHBfa2V5Ijoic2xOdnQzaHc1NXB2Vm5HRlNhR2ZOVTNmMWxYQ3lpa08iLCJncmFudF90eXBlIjoib3BlbmFwaSIsImNsaWVudF9leHQiOnsiZGVzY3JpcHRpb24iOiLnrKzkuInmlrnlkIjkvZzkvJnkvLTlupTnlKgiLCJwYXJ0bmVyIjoi56S65L6L5ZCI5L2c5LyZ5Ly0In0sImNsaWVudF90eXBlIjoib3BlbmFwaSIsImV4cCI6MTc5MzM2MDcxNCwiaWF0IjoxNzkzMzM5MTE0LCJqdGkiOiIwYzU4YTVjMS1hNTMwLTQ1MjUtOTMzMS1hMTQ1NzQ1MjkxZTQiLCJjbGllbnRfaWQiOiJub3ZvLW9wZW4tcGxhdGZvcm0iLCJ1c2VyX2V4dCI6eyJyb2xlSWRzIjpbM10sInN0eXBlIjoiQURNSU4iLCJ0ZW5hbnRDb2RlIjpudWxsLCJ0eXBlIjoiUF9BQ0NPVU5UIiwidXNlcklkIjozMDc2OTEzNjQ0OTE1OTk4NzIwLCJlbWFpbCI6ImRpc3RyaWJ1dG9yZXhhbXBsZUBvdXRsb29rLmNvbSIsInVzZXJuYW1lIjoiZGlzdHJpYnV0b3JleGFtcGxlQG91dGxvb2suY29tIiwidWNJZCI6MzA3NjkxMzY0NDg5MDgzMjg5Nn19.rd9xVGzJcc2NyEZ1PJtMnMtmk4-ovkSPt7c1z75SvaND72UXsHLJ4pN-I83fEJRU06MFrSBRWsU4vUzaZ4nikEmUzHfuTuXARORPBf-SGvh65FwPR6nPB3a9DeWQVOToRukOE71hgJrY8n9d0z8W8wFFc8_7d0Uv4J9CZqZFK073YAhzoZCG6hQzsI_u9Z5MzGRiLbMotGM1YGejEOKCswE3MuiXy_Ka9bUNTw9ISlAYFl0V52_JXYGPmpc3zw-TWTK1J8FCMysvR4QD6KTPoY9MHOfzvD1GiQCWiFuuI2DipfxCWop5I4Lg1qzrXV5W-MVieZYaD0kwFcvmj78xOw
Response example
HTTP/1.1 200 OK { "requestId": "25bf58422c41e541be30d375f6d928c2", "code": "200", "message": "SUCCESS", "detailMessage": "", "result": { "main": { "tenantCode": "jint", "tenantName": "jint", "id": "371139016054157312", "uid": "20261021113356LG1BE", "callType": "internal", "timestamp": "1792553636133347", "lastCallStatus": "failed", "caller": { "number": "1001", "name": "Terrell Smith", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "https://novo-one-tst-self-operated-business.s3.ap-east-1.amazonaws.com/public/platform/jint/user_avatar/1786586587824/2.png" }, "callee": { "number": "*89340", "name": "", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "" }, "secondCallee": { "number": "340123948", "name": "", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "" }, "lastCallee": { "number": "340123948", "name": "", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "" }, "waitDuration": 0, "pureTalkDuration": 0, "holdDuration": 0, "totalDuration": 0, "segments": 2, "initialSourceTrunk": "", "initialDidNumber": "", "finalDestinationTrunk": "", "queues": [], "ringGroups": [], "ivrs": [], "hangupCause": "NORMAL_CLEARING", "traceIds": [ "63d112626e1b4ee5b37d17e6902f5cfd" ], "hasAiTranscription": false, "recordingTranscriptionStatus": "", "hasCollectedInfo": false }, "legs": [ { "tenantCode": "jint", "tenantName": "jint", "id": "371139016054157313", "transactionId": "31001", "uid": "20261021113356LG1BE", "callType": "internal", "callStatus": "answered", "caller": { "number": "1001", "name": "Terrell Smith", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "https://novo-one-tst-self-operated-business.s3.ap-east-1.amazonaws.com/public/platform/jint/user_avatar/1786586587824/2.png" }, "callee": { "number": "*89340", "name": "", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "" }, "callerAddr": "172.30.142.90", "sourceTrunk": "", "destinationTrunk": "", "didNumber": "", "dodNumber": "", "timestamp": "1792553636133347", "callDuration": 0, "ringDuration": 0, "pureTalkDuration": 0, "holdDuration": 0, "pinCode": "", "hangupCause": "NORMAL_CLEARING", "traceId": "63d112626e1b4ee5b37d17e6902f5cfd", "shakenAttestation": "", "hasAiTranscription": false, "recordingTranscriptionStatus": "", "aiStatus": "" }, { "tenantCode": "jint", "tenantName": "jint", "id": "371139016054157314", "transactionId": "20002", "uid": "20261021113356LG1BE", "callType": "outbound", "callStatus": "failed", "caller": { "number": "1001", "name": "Terrell Smith", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "https://novo-one-tst-self-operated-business.s3.ap-east-1.amazonaws.com/public/platform/jint/user_avatar/1786586587824/2.png" }, "callee": { "number": "340123948", "name": "", "featureType": "", "featureNumber": "", "featureName": "", "avatar": "" }, "callerAddr": "172.30.142.90", "sourceTrunk": "", "destinationTrunk": "", "didNumber": "", "dodNumber": "", "timestamp": "1792553636193339", "callDuration": 0, "ringDuration": 0, "pureTalkDuration": 0, "holdDuration": 0, "pinCode": "", "hangupCause": "NORMAL_CLEARING", "traceId": "63d112626e1b4ee5b37d17e6902f5cfd", "shakenAttestation": "", "hasAiTranscription": false, "recordingTranscriptionStatus": "", "aiStatus": "" } ] } }
The response is condensed. The call in this example has 1 call leg.