앱 저장하기
const url = 'https://dev.api.endueos.com/api/v1/devices/res_01J9ZK3Q8M4XW7D2N5R6T0V1BC/apps';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"package":"com.android.settings","label":"설정","pin_to_dock":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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 — Resource 와 같은 res_ 다 (v0.1.0 이 이미 냈다).
예시
res_01J9ZK3Q8M4XW7D2N5R6T0V1BC요청 본문필수
섹션 제목: “요청 본문필수”object
없으면 package.
설치된 앱 목록(GET /devices/{device_id}/installed-apps)의 아이콘을 그대로 넘긴다. 16 KiB 까지.
Dock 1단 끝에도 붙인다. 기본 false — 2단(기기)에만 둔다.
예시
{ "package": "com.android.settings", "label": "설정", "pin_to_dock": true}200
섹션 제목: “200”성공.
object
저장한 기기 앱 — Device 안의 네이티브 앱(android 패키지)을 가리킨다. 기기 앱 자체는 OS 가 저장하지 않는다.
저장한 앱은 Dock 2단(그 Device 를 눌렀을 때 펼쳐지는 목록)에 늘 있다. pinned 면 1단에도 있다.
object
Device 의 id — Resource 와 같은 res_ 다 (v0.1.0 이 이미 냈다).
기기 앱의 식별자 — android 패키지 이름.
Dock 1단에도 고정했는지 (Dock 항목이 있는지). 2단에는 늘 있다.
object
서버 처리 시간(ms).
예시
{ "data": { "app_id": "app_01J9ZK3Q8M4XW7D2N5R6T0V1BC", "station_id": "stn_01J9ZK3Q8M4XW7D2N5R6T0V1BC", "device_id": "res_01J9ZK3Q8M4XW7D2N5R6T0V1BC" }}201
섹션 제목: “201”만들었다.
object
저장한 기기 앱 — Device 안의 네이티브 앱(android 패키지)을 가리킨다. 기기 앱 자체는 OS 가 저장하지 않는다.
저장한 앱은 Dock 2단(그 Device 를 눌렀을 때 펼쳐지는 목록)에 늘 있다. pinned 면 1단에도 있다.
object
Device 의 id — Resource 와 같은 res_ 다 (v0.1.0 이 이미 냈다).
기기 앱의 식별자 — android 패키지 이름.
Dock 1단에도 고정했는지 (Dock 항목이 있는지). 2단에는 늘 있다.
object
서버 처리 시간(ms).
예시
{ "data": { "app_id": "app_01J9ZK3Q8M4XW7D2N5R6T0V1BC", "station_id": "stn_01J9ZK3Q8M4XW7D2N5R6T0V1BC", "device_id": "res_01J9ZK3Q8M4XW7D2N5R6T0V1BC" }}400
섹션 제목: “400”요청 형식이 틀렸다 — VALIDATION_ERROR(details.errors[]) 또는 BAD_REQUEST. 본문은 오류 봉투.
401
섹션 제목: “401”인증이 없거나 무효다 — UNAUTHORIZED. 본문은 오류 봉투.
404
섹션 제목: “404”없거나 내 것이 아니다 — *_NOT_FOUND. 본문은 오류 봉투.
409
섹션 제목: “409”지금 상태와 충돌한다 — 코드는 위 설명을 본다. 본문은 오류 봉투.
429
섹션 제목: “429”한도를 넘었다 — Retry-After 초 뒤에 다시. 본문은 오류 봉투.
500
섹션 제목: “500”서버 오류 — INTERNAL_ERROR. 본문은 오류 봉투.
503
섹션 제목: “503”의존 서비스에 닿지 못했다 — 잠시 뒤 다시. 본문은 오류 봉투.