---
name: "getRecordTransferResultDetail"
mode: "kit"
versionRequirements:
  - { name: "WearKit", version: "1.0.0" }
  - { name: "@ray-js/ray", version: "1.7.14" }
platform:
  - "iOS"
  - "Android"
async: true
title: "wear.getRecordTransferResultDetail"
---

## getRecordTransferResultDetail

> [VERSION] WearKit >= 1.0.0 | @ray-js/ray >= 1.7.14

> [PLATFORM] iOS, Android

> ⚡ **Supports Promise** — Returns a Promise when success / fail / complete callbacks are omitted.

### Description

Get recording transcription result detail.

### Parameters

| Property | Type | Required | Default | Since | Description |
| --- | --- | --- | --- | --- | --- |
| `recordId` | `string` | No | - | `1.6.7` | Recording transcription ID |
| `amplitudeMaxCount` | `string` | No | - | `1.0.0` | Maximum amplitude count |
| `complete` | `() => void` | No | - | - | Completion callback (executed on both success and failure) |
| `success` | `(params: Object) => void` ↓see below | No | - | - | Callback on successful API call |
| `fail` | `(params: Object) => void` ↓see below | No | - | - | Failure callback |

#### success callback parameters

| Property | Type | Since | Description |
| --- | --- | --- | --- |
| `recordTransferId` | `number` | `1.0.0` | Recording transcription ID (actually fileId) |
| `directoryId` | `number` | `1.0.0` | Directory ID |
| `deviceUniqueId` | `string` | `1.0.0` | Unique identifier of the recording file generated by the device |
| `name` | `string` | `1.0.0` | File name |
| `recordTime` | `number` | `1.0.0` | Recording time (timestamp, seconds) |
| `duration` | `number` | `1.0.0` | Recording duration (milliseconds) |
| `recordType` | `number` | `1.0.0` | Audio type 0-Call 1-Meeting 2-Face-to-face translation (Basic) 3-Face-to-face translation (Pro) |
| `audioFormat` | `number` | `1.0.0` | Audio format |
| `deviceId` | `string` | `1.0.0` | Device ID |
| `filePath` | `string` | `1.0.0` | Recording file path |
| `wavFilePath` | `string` | `1.0.0` | Recording WAV file path |
| `amplitudes` | `string` | `1.0.0` | Amplitude string, separated by commas |
| `status` | `number` | `1.0.0` | File sync status: 0 not uploaded, 1 uploading, 2 uploaded, 3 upload failed |
| `visit` | `number` | `1.0.0` | Read status: 0 unread, 1 read, 2 revised-unread, 3 revised-read |
| `remove` | `boolean` | `1.0.0` | Whether removed (moved to trash) |
| `storageKey` | `string` | `1.0.0` | Cloud storage key |
| `transfer` | `number` | `1.0.0` | Transcription status: 0 not transcribed, 1 transcribing, 2 transcribed, 3 transcription failed |
| `summary` | `number` | `1.2.2` | * Summary status: 0 not summarized, 1 summarizing, 2 summary succeeded, 3 summary failed; if omitted, all statuses will be queried |
| `translateState` | `number` | `1.4.0` | * Translation status: 0 unknown, 1 not translated, 2 translating, 3 translation succeeded, 4 translation failed |
| `source` | `number` | `1.0.0` | Audio file source: 0 app, 1 device |
| `transferType` | `number` | `1.0.0` | Transcription mode: 0 file transcription, 1 real-time transcription |
| `needTranslate` | `boolean` | `1.0.0` | Whether translation is needed |
| `originalLanguage` | `string` | `1.0.0` | Source language |
| `targetLanguage` | `string` | `1.0.0` | Target language |
| `recordId` | `string` | `1.0.0` | Real-time transcription record ID |
| `agentId` | `string` | `1.0.0` | Real-time transcription agent ID |
| `cloudTranscription` | `boolean` | `1.2.2` | Whether secondary transcription has been performed |
| `transcriptionStatus` | `number` | `1.6.0` | 0: not transcribed, 1: partially transcribed, 2: fully transcribed (legacy data) |
| `cloudSyncStatus` | `number` | `1.6.10` | UI-only status  0 Show no sync status  5 Audio uploading  10 Audio upload succeeded  15 Audio downloading  20 Audio download succeeded  -10 Audio upload failed  -20 Audio download failed |
| `isFromCloud` | `boolean` | `1.6.10` | Whether from cloud sync |
| `noteFileConvertState` | `number` | `1.9.1` | note file conversion status 2: conversion failed 1: converting 0: conversion succeeded/not required |
| `linkShared` | `number` | `1.9.1` | Link sharing status: 0 not shared, 1 shared |
| `offlineUploadProgress` | `number` | `1.9.1` | Offline file upload progress, default 0, range 0–100 |
| `offlineUploadStatus` | `number` | `1.9.1` | Offline file upload status: -1 not uploaded, 0 pending, 1 uploading, 2 succeeded, 3 failed, 4 canceled |
| `tags` | `string[]` | `2.1.0` | Tag list, e.g., ["Client visit","Class A client"] |
| `summaryImageStatus` | `number` | `3.0.0` | Image summary status: 0 not generated, 1 generating, 2 generated successfully, 3 generation failed |

#### fail callback parameters

| Property | Type | Description |
| --- | --- | --- |
| `errorMsg` | `string` | Error message |
| `errorCode` | `string \| number` | Error code |
| `innerError` | `Object` | Error extension |

##### fail(params).innerError properties

| Property | Type | Description |
| --- | --- | --- |
| `errorCode` | `string \| number` | Error extension code |
| `errorMsg` | `string` | Error extension message |


### Error Codes

| Error Code | Error Message |
| --- | --- |
| `10001` | Internal error |
| `10012` | Record not found |

### Examples

#### Basic usage

```tsx
import { wear } from '@ray-js/ray'

wear.getRecordTransferResultDetail({
  recordId: 'rec1',
  success: (result) => {
    console.log('getRecordTransferResultDetail success', result);
  },
  fail: error => {
    console.error(error);
  },
});
```

> See Also：[https://developer.tuya.com/](https://developer.tuya.com/)
