> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Mengunggah rekaman absen

> Gunakan API DingTalk untuk mengunggah rekaman kartu atau pengenalan wajah dari sistem kehadiran pihak ketiga dan membuat rekaman absen otomatis per karyawan.

Panggil API ini untuk mengunggah rekaman kartu atau pengenalan wajah dari sistem kehadiran pihak ketiga ke DingTalk Attendance sebagai rekaman absen DingTalk.

## Permintaan

| **Informasi dasar** | |
| - | - |
| URL HTTP | [https://api.dingtalk.io/topapi/attendance/record/upload](https://api.dingtalk.io/topapi/attendance/record/upload) |
| Metode HTTP | POST |
| Tipe aplikasi yang didukung | appType-Aplikasi internal |
| Izin yang diperlukan | permission-Pro.AttendanceRecord.Write-Izin tulis untuk rekaman absen kehadiran |

### Parameter query

| Nama | Tipe | Wajib | Contoh | Deskripsi |
| - | - | - | - | - |
| access\_token | String | Ya | af21axxx | Kredensial aplikasi yang digunakan untuk memanggil API ini. Dapatkan dengan memanggil [Mendapatkan access\_token Aplikasi internal](https://help.dingtalk.io/id/open/development/obtain-orgapp-token). |

### Isi permintaan

| Nama | Tipe | Wajib | Contoh | Deskripsi |
| - | - | - | - | - |
| userid | String | Ya | user123 | ID pengguna karyawan yang rekaman absennya ingin Anda unggah. |
| device\_name | String | Ya | Mesin Absensi Gerbang Timur | Nama mesin Absensi. Nilai ini bersifat kustom, misalnya 123456. |
| device\_id | String | Ya | abc123456 | ID mesin Absensi. Nilai ini bersifat kustom, misalnya abcde. |
| photo\_url | String | Tidak | [https://xxx.com/xxx.png](https://xxx.com/xxx.png) | URL gambar alias absen. URL harus dapat diakses secara publik. |
| user\_check\_time | Number | Ya | 1587020403000 | Waktu karyawan melakukan absen, dalam milidetik.  **Catatan**   - Parameter ini harus dalam milidetik. - Masukkan tanggal dalam 180 hari terakhir. |

### Contoh permintaan

```curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X POST "https://api.dingtalk.io/topapi/attendance/record/upload" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=0927xxxx3e28ea' \
-d 'device_id=abc123456' \
-d 'device_name=Mesin%20Absensi%20Gerbang%20Timur' \
-d 'photo_url=https%3A%2F%2Fxxx.com%2Fxxx.png' \
-d 'user_check_time=1587020403000' \
-d 'userid=dd_dd'
```

Java

```java theme={"theme":{"light":"github-light","dark":"github-dark"}}
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/attendance/record/upload");
OapiAttendanceRecordUploadRequest req = new OapiAttendanceRecordUploadRequest();
req.setUserid("dd_dd");
req.setDeviceName("Mesin Absensi Gerbang Timur");
req.setDeviceId("abc123456");
req.setPhotoUrl("https://xxx.com/xxx.png");
req.setUserCheckTime(1587020403000L);
OapiAttendanceRecordUploadResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
```

Python

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
import dingtalk.api

req=dingtalk.api.OapiAttendanceRecordUploadRequest("https://api.dingtalk.io/topapi/attendance/record/upload")

req.userid="dd_dd"
req.device_name="Mesin Absensi Gerbang Timur"
req.device_id="abc123456"
req.photo_url="https://xxx.com/xxx.png"
req.user_check_time=1587020403000
try:
  resp= req.getResponse(access_token)
  print(resp)
except Exception,e:
  print(e)
```

PHP

```php theme={"theme":{"light":"github-light","dark":"github-dark"}}
include "TopSdk.php";
date_default_timezone_set('Asia/Shanghai');

$c = new DingTalkClient(DingTalkConstant::$CALL_TYPE_OAPI, DingTalkConstant::$METHOD_POST , DingTalkConstant::$FORMAT_JSON);
$req = new OapiAttendanceRecordUploadRequest;
$req->setUserid("dd_dd");
$req->setDeviceName("Mesin Absensi Gerbang Timur");
$req->setDeviceId("abc123456");
$req->setPhotoUrl("https://xxx.com/xxx.png");
$req->setUserCheckTime("1587020403000");
$resp = $c->execute($req, $access_token, "https://api.dingtalk.io/topapi/attendance/record/upload");
```

C#

```csharp theme={"theme":{"light":"github-light","dark":"github-dark"}}
IDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/attendance/record/upload");
OapiAttendanceRecordUploadRequest req = new OapiAttendanceRecordUploadRequest();
req.Userid = "dd_dd";
req.DeviceName = "Mesin Absensi Gerbang Timur";
req.DeviceId = "abc123456";
req.PhotoUrl = "https://xxx.com/xxx.png";
req.UserCheckTime = 1587020403000L;
OapiAttendanceRecordUploadResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
```

## Respons

### Isi respons

| Nama | Tipe | Contoh | Deskripsi |
| - | - | - | - |
| success | Boolean | true | Menunjukkan apakah panggilan berhasil. |
| errcode | Number | 0 | Kode pengembalian. |
| errmsg | String | ok | Deskripsi kode pengembalian. |
| request\_id | String | ktoftehkz2bt | ID permintaan. |

### Contoh isi respons

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "errcode":0,
  "success":true,
  "request_id" : "3ynh2gp5ndke"
}
```

### Kode kesalahan

Jika panggilan API ini gagal, cari solusi berdasarkan pesan error di dokumen [Kode kesalahan global](https://help.dingtalk.io/id/open/development/server-api-error-codes-1.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.