문서로 건너뛰기
PHP

라벨

`labels->list`, `listAll`, `iterate`, `listColors`, `get`, `create`, `update`, `delete`.

모든 메서드

labels.php
$page = $client->labels->list(limit: 50);$every = $client->labels->listAll();$colors = $client->labels->listColors();echo count($page), ' ', count($every), ' ', count($colors), PHP_EOL; foreach ($client->labels->iterate() as $row) {    echo $row['name'], ' ', $row['threadCount'], PHP_EOL;} $created = $client->labels->create([    'name' => 'Invoices',    'color' => ['backgroundColor' => 'gradient:sunset'],]); $client->labels->update($created['id'], ['name' => 'Invoices 2027']);$client->labels->update($created['id'], ['color' => ['backgroundColor' => '#3B82F6']]); $label = $client->labels->get($created['id']);echo $label['name'], ' ', $label['color']['backgroundColor'] ?? 'no colour', PHP_EOL; $client->labels->delete($created['id']);

list는 이름순으로 정렬된 라벨의 OpenEmail\Result\Page 하나를 반환하고, listAll과 iterate는 모든 페이지를 순회합니다. listAll은 하나의 배열을 반환하고, iterate는 라벨을 하나씩 yield하는 Generator를 반환합니다. 각 라벨은 색, threadCount, 만든 시각과 마지막으로 바꾼 시각을 담은 camelCase 키의 배열입니다. listColors는 앱이 제공하는 팔레트(단색 열네 가지와 그라데이션 일곱 가지)를 페이지 나눔 없는 배열의 일반 리스트로 반환합니다. type은 항상 user입니다. id는 라벨을 처음 만들 때의 이름에서 만들어지므로 Invoices는 USER_INVOICES이며, 절대 바뀌지 않습니다.

create와 update의 필드는 API의 이름을 쓰는 배열 하나의 키이므로, 색은 'color' => ['backgroundColor' => '#3B82F6']입니다.

라벨은 워크스페이스에 속하므로 이름 변경, 색 변경, 삭제는 모든 멤버와 모든 키에 적용됩니다. threads->update는 대화에 라벨을 붙이고 떼며, $client->threads->list(folder: 'USER_INVOICES')는 그 라벨이 붙은 모든 대화를 나열합니다. 둘 다 스레드 페이지에서 다룹니다.

파라미터: labels->create 및 labels->update

namestring
라벨의 표시 이름으로, 길이를 재기 전에 앞뒤 공백을 잘라내므로 제한은 잘라낸 뒤 1~225자입니다. `create`에서는 필수이고 `update`에서는 선택이며, 빼면 이름이 그대로 남습니다. 공백만 있으면 422입니다. 대소문자를 구분하지 않고 비교해 다른 라벨이 이미 가진 이름은 409 `label_name_taken`이며 `ConflictException`으로 던져집니다. 워크스페이스에 라벨이 50개가 되면 `create`는 422 `label_limit_reached`로 거부하며, 이는 `ValidationException`으로 던져집니다.
colorarray or null
두 호출 모두에서 선택 사항입니다. `update`에서 빼면 저장된 색이 그대로 남고, `'color' => null`은 색을 지웁니다. 본문은 엄격하게 검사되므로 `colour`처럼 비슷하지만 다른 키는 조용히 무시되지 않고 422가 됩니다.
color.backgroundColorstring필수
hex 색(`#RGB`, `#RGBA`, `#RRGGBB`, `#RRGGBBAA` 중 하나로, 대문자로 저장됩니다)이나 그라데이션 토큰(`gradient:sunset`, `gradient:ember`, `gradient:meadow`, `gradient:lagoon`, `gradient:aurora`, `gradient:berry`, `gradient:midnight`)입니다. 빈 문자열은 색 없음을 뜻하며, 그 밖의 값은 422 `invalid_parameter`입니다.
color.textColorstring
받지만 무시합니다. 글자색은 앱과 같은 방식으로 `backgroundColor`에서 계산됩니다.

응답: 라벨

라벨은 camelCase 키를 가진 배열이므로 $label['threadCount']로 개수를 읽고, $label['color']['backgroundColor'] ?? null로 색을 읽으며, 라벨에 색이 없으면 null이 됩니다.

objectstring
항상 문자열 `label`입니다. `create`와 `update`도 저장된 그대로 다시 읽은 이 같은 배열을 반환합니다.
idstring
라벨의 id로, `get`, `update`, `delete`, `threads->update`가 받는 값입니다. 이름을 바꾼 뒤에도 절대 바뀌지 않습니다.
namestring
사용자에게 보이는 이름입니다.
typestring
항상 `user`입니다. 시스템 라벨은 여기서 절대 돌려주지 않으며, `get`에 시스템 id를 주면 `NotFoundException`으로 던져지는 404입니다.
colorarray or null
라벨에 색이 없으면 null입니다.
color.backgroundColorstring
저장된 색으로, hex 값이나 그라데이션 토큰입니다. 그라데이션의 양 끝은 `listColors`에서 알 수 있습니다.
color.textColorstring
앱이 그 색 위에 그리는 글자색으로 `#18181B` 또는 `#FFFFFF`이며, 저장되지 않고 서버에서 계산됩니다.
threadCountint
지금 그 라벨이 붙은 대화 수입니다. 특정 주소로 제한된 키에서는 그 주소로 배달된 대화만 셉니다.
createdAtstring or null
라벨을 만든 시각(ISO 8601)이며, 이 시각이 기록되기 전에 만든 라벨에서는 null입니다.
updatedAtstring or null
마지막으로 이름이나 색을 바꾼 시각(ISO 8601)이며, 이 시각이 기록되기 전에 만든 라벨에서는 null입니다.

응답: 색 견본(labels->listColors)

kindstring
견본이 단색인지 그라데이션인지: `solid` 또는 `gradient`.
namestring
견본 이름으로, `red`나 `sunset` 같은 값입니다.
valuestring
이 견본을 쓰기 위해 `color.backgroundColor`로 보낼 값입니다.
solidstring
그라데이션을 그릴 수 없는 곳을 위한 단일 hex입니다. 단색에서는 `value`와 같습니다.
fromstring or null
그라데이션이 시작하는 곳으로, 135도로 그려집니다. 단색에서는 null입니다.
tostring or null
그라데이션이 끝나는 곳입니다. 단색에서는 null입니다.
textColorstring
앱이 이 견본 위에 그리는 글자색입니다.