콘텐츠로 이동

앱 저장하기

POST
/api/v1/devices/{device_id}/apps
curl --request POST \
--url https://dev.api.endueos.com/api/v1/devices/res_01J9ZK3Q8M4XW7D2N5R6T0V1BC/apps \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "package": "com.android.settings", "label": "설정", "pin_to_dock": true }'

기기 앱을 저장한다 — Dock 2단에 늘 있고, pin_to_dock 이면 1단 끝에도 붙는다. 같은 Device 의 같은 package 가 이미 있으면 그것을 200 으로 돌려준다 (새로 만들지 않는다).

가이드 — Dock 과 앱

device_id
필수

Device 의 id — Resource 와 같은 res_ 다 (v0.1.0 이 이미 냈다).

string
/^res_[0-9A-HJKMNP-TV-Z]{26}$/
예시
res_01J9ZK3Q8M4XW7D2N5R6T0V1BC
Media typeapplication/json
object
package
필수
string
/^[A-Za-z0-9._-]{1,255}$/
label

없으면 package.

string
>= 1 characters <= 100 characters
icon_data_url

설치된 앱 목록(GET /devices/{device_id}/installed-apps)의 아이콘을 그대로 넘긴다. 16 KiB 까지.

string
<= 16384 characters /^data:image/(png|jpeg|webp);base64,[A-Za-z0-9+/=]+$/
pin_to_dock

Dock 1단 끝에도 붙인다. 기본 false — 2단(기기)에만 둔다.

boolean
예시
{
"package": "com.android.settings",
"label": "설정",
"pin_to_dock": true
}

성공.

Media typeapplication/json
object
data
필수

저장한 기기 앱 — Device 안의 네이티브 앱(android 패키지)을 가리킨다. 기기 앱 자체는 OS 가 저장하지 않는다. 저장한 앱은 Dock 2단(그 Device 를 눌렀을 때 펼쳐지는 목록)에 늘 있다. pinned 면 1단에도 있다.

object
app_id
필수
string
/^app_[0-9A-HJKMNP-TV-Z]{26}$/
station_id
필수
string
/^stn_[0-9A-HJKMNP-TV-Z]{26}$/
device_id
필수

Device 의 id — Resource 와 같은 res_ 다 (v0.1.0 이 이미 냈다).

string
/^res_[0-9A-HJKMNP-TV-Z]{26}$/
package
필수

기기 앱의 식별자 — android 패키지 이름.

string
label
필수
string
icon_data_url
필수
Any of:
string
pinned
필수

Dock 1단에도 고정했는지 (Dock 항목이 있는지). 2단에는 늘 있다.

boolean
created_at
필수
string format: date-time
updated_at
필수
string format: date-time
meta
필수
object
request_id
필수
string
timestamp
필수
string format: date-time
duration

서버 처리 시간(ms).

integer format: int32
예시
{
"data": {
"app_id": "app_01J9ZK3Q8M4XW7D2N5R6T0V1BC",
"station_id": "stn_01J9ZK3Q8M4XW7D2N5R6T0V1BC",
"device_id": "res_01J9ZK3Q8M4XW7D2N5R6T0V1BC"
}
}

만들었다.

Media typeapplication/json
object
data
필수

저장한 기기 앱 — Device 안의 네이티브 앱(android 패키지)을 가리킨다. 기기 앱 자체는 OS 가 저장하지 않는다. 저장한 앱은 Dock 2단(그 Device 를 눌렀을 때 펼쳐지는 목록)에 늘 있다. pinned 면 1단에도 있다.

object
app_id
필수
string
/^app_[0-9A-HJKMNP-TV-Z]{26}$/
station_id
필수
string
/^stn_[0-9A-HJKMNP-TV-Z]{26}$/
device_id
필수

Device 의 id — Resource 와 같은 res_ 다 (v0.1.0 이 이미 냈다).

string
/^res_[0-9A-HJKMNP-TV-Z]{26}$/
package
필수

기기 앱의 식별자 — android 패키지 이름.

string
label
필수
string
icon_data_url
필수
Any of:
string
pinned
필수

Dock 1단에도 고정했는지 (Dock 항목이 있는지). 2단에는 늘 있다.

boolean
created_at
필수
string format: date-time
updated_at
필수
string format: date-time
meta
필수
object
request_id
필수
string
timestamp
필수
string format: date-time
duration

서버 처리 시간(ms).

integer format: int32
예시
{
"data": {
"app_id": "app_01J9ZK3Q8M4XW7D2N5R6T0V1BC",
"station_id": "stn_01J9ZK3Q8M4XW7D2N5R6T0V1BC",
"device_id": "res_01J9ZK3Q8M4XW7D2N5R6T0V1BC"
}
}

요청 형식이 틀렸다 — VALIDATION_ERROR(details.errors[]) 또는 BAD_REQUEST. 본문은 오류 봉투.

인증이 없거나 무효다 — UNAUTHORIZED. 본문은 오류 봉투.

없거나 내 것이 아니다 — *_NOT_FOUND. 본문은 오류 봉투.

지금 상태와 충돌한다 — 코드는 위 설명을 본다. 본문은 오류 봉투.

한도를 넘었다 — Retry-After 초 뒤에 다시. 본문은 오류 봉투.

서버 오류 — INTERNAL_ERROR. 본문은 오류 봉투.

의존 서비스에 닿지 못했다 — 잠시 뒤 다시. 본문은 오류 봉투.