SCIM API
지역
기본 URL은 조직의 데이터 상주 위치에 따라 다릅니다. 이 페이지의 모든 예제에서 조직에서 Amplitude의 EU 데이터 센터를 사용하지 않는 한 기본 URL을 사용하십시오. 이 경우 이 표의 EU 기본 URL을 사용하십시오.
이 API는 core.amplitude.com(기본값) 또는 core.eu.amplitude.com (EU)를 사용합니다. 이벤트 수집은 api2.amplitude.com또는 api.amplitude.com를 사용합니다. 다른 제품은 문서화된 대로 자체 API 호스트를 사용합니다. https://analytics.amplitude.com호스트 이름은 이 API 엔드포인트가 아닌 분석 웹 앱(브라우저 UI)입니다.
| 데이터 상주 | 기본 URL |
|---|---|
| 기본값 | https://core.amplitude.com |
| EU | https://core.eu.amplitude.com |
SCIM 표준에 따라 이 기본 URL에 대한 모든 경로를 형성하십시오. 인증에 사용된 SCIM 키가 요청을 수신하는 조직을 결정하기 때문에 URL은 지역 첫 사용 후 조직 대상 구간 변경되지 않습니다.
고려 사항
SCIM API 연동을 구성할 때 다음 사항에 유의하십시오.
Postman collection
자세한 예제와 API 요청을 테스트하려면 SCIM API Postman collection을 참조하세요.
경로 버전
경로에 "1"이 포함되어 있지만 Amplitude는 SCIM 1.1 표준을 구현하지 않습니다. "1"은 이 구현의 Amplitude 버전을 나타내며, 이는 현재 소비자에게 서비스를 중단시키지 않으면서 호환성을 깨뜨리는 변경 사항을 도입하는 새로운 반복에 대해 API의 미래 경쟁력을 확보합니다.
API 사용 제한
SCIM API는 조직당 분당 100건의 요청을 지원합니다. Amplitude는 요청 단위로 버스트 요청에 대해 이 제한을 해제할 수 있습니다. 자세한 내용은 지원 팀이나 고객 성공 관리자에게 문의하십시오.
사용자 경로
이 섹션에서는 사용자 관리를 위한 경로를 자세히 설명합니다.
사용자 정보
- Amplitude는 사용자가 초대를 수락했는지 또는 조직에 로그인했는지에 관계없이 사용자를 활성 상태로 정의합니다. 이 설정을 사용하면 ID 공급자가 초대된 사용자와 보류 중인 사용자에게 초대장을 다시 전송할 수 없습니다.
- SCIM API는 POST 경로를 통해 생성된 사용자에게 가입을 완료하도록 이메일 초대장을 보냅니다.
지원되는 사용자 필드
Amplitude는 핵심 사용자 스키마에서 다음 필드를 지원합니다.
| SCIM 사용자 속성 | 참고 사항 |
|---|---|
userName | 기본 사용자 이메일 주소입니다. |
id | 기본 사용자 이메일 주소입니다. |
emails | Amplitude는 현재 사용자당 하나의 이메일 주소를 지원합니다. |
name.givenName | 표시 이름을 생성하기 위해 앞familyName에 추가됩니다. |
name.familyName | Amplitude 첫 사용 후 표시 이름을 생성하기 위해 givenName에 추가되었습니다. |
active | 대기 중인 사용자와 참여한 사용자에게 해당됩니다. |
사용자 가져오기
GET /Users
해당 조직의 Amplitude 첫 사용 후 사용자 목록을 가져옵니다. 여기에는 보류 중인 사용자와 참여한 사용자가 모두 포함되며 페이지 매기기 및 필터링을 지원합니다.
GET /scim/1/Users HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
쿼리 매개 변수
| 이름 | 설명 |
|---|---|
startIndex | 선택 사항입니다. 정수입니다. 기본값은 1. 1-인덱싱입니다. |
itemsPerPage | 선택 사항입니다. 정수입니다. 기본값은 100입니다. 100은 최대 페이지 크기입니다. |
filter | 문자열입니다. SCIM 필터 구문을 따라야 함 |
응답
성공적인 요청은 사용자 데이터와 함께 JSON 응답을 반환합니다.
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
"startIndex": 1,
"itemsPerPage": 100,
"totalResults": 1,
"Resources": [
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"id": "datamonster@amplitude.com",
"userName": "datamonster@amplitude.com",
"name": {
"givenName": "data",
"familyName": "monster"
},
"active": true,
"emails": [
{
"value": "datamonster@amplitude.com",
"primary": true
}
],
"meta": {
"resourceType": "User"
}
}
]
}
ID별로 사용자 가져오기
GET /Users/:id
사용자를 ID로 가져옵니다.
GET /scim/1/Users/datamonster@amplitude.com HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
경로 변수
| 이름 | 설명 |
|---|---|
id | 필수입니다. 유효한 이메일 주소여야 합니다. 대소문자를 구분하지 않습니다. |
응답
성공적인 요청은 사용자 데이터와 함께 JSON 응답을 반환합니다.
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"id": "datamonster@amplitude.com",
"userName": "datamonster@amplitude.com",
"name": {
"givenName": "Data",
"familyName": "Monster"
},
"active": true,
"emails": [
{
"primary": true,
"value": "datamonster@amplitude.com"
}
],
"groups": [],
"meta": {
"resourceType": "User"
}
}
사용자 생성
POST /Users
요청은 POSTAmplitude에서 새로운 사용자를 생성합니다. 이 작업은 초대 링크를 이메일 주소로 전송합니다.
성공하려면 id및 userName가 유효한 이메일이어야 하며, 사용자는 이미 존재하거나 Amplitude 조직에 대한 보류 중인 초대가 없어야 합니다.
POST경로에 대한 요청 본문은 유효한 SCIM 사용자 리소스여야 합니다.
API는 사용자 경로의 Groups필드를 무시합니다. 사용자를 그룹에 추가하려면, 그룹 API 경로에 대한 요청을 생성하십시오.
POST /scim/1/Users/ HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
Content-Type: application/json
Content-Length: 364
{
"schemas":[
"urn:ietf:params:scim:schemas:core:2.0:User"
],
"id":"<USER EMAIL>",
"userName":"<USER EMAIL>",
"name":{
"givenName":"<USER GIVEN NAME>",
"familyName":"<USER FAMILY NAME>"
},
"emails":[
{
"value":"<USER EMAIL>",
"primary":true
}
],
"meta":{
"resourceType":"User"
}
}
요청 본문
이 요청의 본문 매개 변수에 대해서는 지원되는 사용자 필드를 참조하십시오.
응답
성공적인 요청은 201 Created와 원본 요청 본문을 반환합니다.
사용자 업데이트
PUT /Users/:id 또는 PATCH /Users/:id
지정된 ID로 Amplitude 사용자를 업데이트합니다. id는 유효한 이메일 주소여야 하며 사용자는 이미 Amplitude에 대한 초대장을 받아야 합니다. 이메일 주소는 변경할 수 없습니다.
요청 본문에서 active스키마 false필드를 로 설정하면 사용자는 조직에서 제거되고 사용자는 모든 액세스 권한을 잃게 됩니다. 사용자가 보류 중인 경우(초대를 수락하지 않은 초대된 사용자), Amplitude는 초대를 철회합니다.
PUT /scim/1/Users/datamonster@amplitude.com HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
Content-Length: 423
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"id": "datamonster@amplitude.com",
"userName": "datamonster@amplitude.com",
"name": {
"givenName": "Datamonster", #[tl! ~~]
"familyName": "Monster"
},
"emails": [{
"primary": true,
"value": "datamonster@amplitude.com"
}],
"active": true,
"groups": [],
"meta": {
"resourceType": "User"
}
}
응답
성공적인 요청은 200 OK상태와 원본 요청 본문을 반환합니다.
사용자 삭제
지정된 ID를 가진 Amplitude 사용자를 삭제합니다. ID는 유효한 이메일이어야 하며, 사용자는 이미 Amplitude에 대한 초대를 받은 상태여야 합니다.
보류 중인 사용자(초대를 수락하지 않은 초대받은 사용자)를 삭제하면 Amplitude는 초대를 철회합니다.
DELETE /scim/1/Users/datamonster@amplitude.com HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
경로 변수
| 이름 | 설명 |
|---|---|
id | 필수입니다. 유효한 이메일 주소여야 합니다. 대소문자를 구분하지 않습니다. |
사용자 응답
삭제 요청이 성공하면 204 No Content응답이 반환됩니다.
그룹 경로
이 섹션에서는 권한 그룹 API에 사용할 수 있는 요청에 대해 자세히 설명합니다. Amplitude는 그룹 스키마의 모든 핵심 필드를 지원합니다. 그룹 첫 사용 후 사용자는 지원되는 사용자 필드에 나열된 필드와 함께 반환됩니다.
그룹 가져오기
GET /scim/1/Groups HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
"startIndex": 1,
"itemsPerPage": 100,
"totalResults": 1,
"Resources": [
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"id": 632,
"displayName": "Datamonster Party",
"members": [
{
"value": "data.engineer@amplitude.com",
"display": "data nommer"
},
{
"value": "datamonster@amplitude.com",
"display": "data monster"
}
],
"meta": {
"resourceType": "Group",
"created": "2022-02-03T20:40:22.000+00:00",
"lastModified": "2022-02-03T20:40:22.000+00:00"
}
}
]
}
ID로 그룹 가져오기
지정된 숫자 ID를 사용하여 Amplitude 그룹을 반환합니다.
GET /scim/1/Groups/632 HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
경로 변수
| 이름 | 설명 |
|---|---|
id | 필수입니다. 정수입니다. 그룹 ID |
응답 예제
성공적인 요청은 200 OK상태와 그룹에 대한 데이터가 포함된 JSON 응답을 반환합니다.
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"id": "632",
"displayName": "Datamonster Party",
"members": [
{
"value": "data.engineer@amplitude.com",
"display": "Data Engineer"
},
{
"value": "datamonster@amplitude.com",
"display": "data monster"
}
],
"meta": {
"resourceType": "Group",
"created": "2022-02-03T20:40:22.000+00:00",
"lastModified": "2022-02-03T20:40:22.000+00:00"
}
}
그룹 만들기
Amplitude에서 그룹을 만듭니다. 이 경로는 기존 사용자를 그룹에 추가하고 새로운 사용자를 Amplitude에 초대합니다.
먼저 사용자를 Amplitude 조직에 초대하지 않고 그룹에 추가할 경우, Amplitude는 사용자에게 최소한의 권한 관리를 제공하고 해당 사용자를 그룹에 추가합니다. Amplitude는 사용자에게 이메일 초대장을 보냅니다. 권한 그룹에 대해 자세히 알아보십시오.
POST /scim/1/Groups HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
Content-Type: application/json
Content-Length: 265
{
"schemas":[
"urn:ietf:params:scim:schemas:core:2.0:Group"
],
"displayName":"Group Name",
"members":[
{
"value":"datamonster@amplitude.com"
},
{
"value":"developerdocs@amplitude.com"
}
]
}
응답
성공적인 요청은 200 OK상태 및 그룹의 데이터가 포함된 JSON 본문을 반환합니다.
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"id": 671,
"displayName": "Group Name",
"members": [
{
"value": "datamonster@amplitude.com",
"display": "data monster"
},
{
"value": "developerdocs@amplitude.com",
"display": "undefined undefined"
}
],
"meta": {
"resourceType": "Group",
"created": "2022-03-03T20:38:36.000+00:00",
"lastModified": "2022-03-03T20:38:36.000+00:00"
}
}
사용자 그룹 업데이트
PATCH요청을 사용하여 그룹에서 사용자를 추가하거나 제거할 수 있습니다. 해당 Operations배열은 add및 remove작업을 지원합니다.
PATCH /scim/1/Groups/632 HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
Content-Type: application/json
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "add",
"path": "members",
"value": [{
"value": "new.member@amplitude.com"
}]
}
]
}
응답 예제
성공적인 요청은 업데이트된 그룹의 데이터가 포함된 200 OK상태와 JSON 응답을 반환합니다.
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"id": "632",
"displayName": "New Name",
"members": [
{
"value": "data.engineer@amplitude.com",
"display": "data engineer"
},
{
"value": "datamonster@amplitude.com",
"display": "data monster"
},
{
"value": "new.member@amplitude.com",
"display": "New Member"
}
],
"meta": {
"resourceType": "Group",
"created": "2022-02-03T20:40:22.000+00:00",
"lastModified": "2022-02-03T21:25:25.000+00:00"
}
}
DELETE /Groups/:id
Amplitude 그룹을 삭제합니다.
요청 예제
DELETE /scim/1/Groups/632 HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {{scim-token}}
경로 변수
| 이름 | 설명 |
|---|---|
id | 필수입니다. 정수입니다. 그룹 ID |
응답
삭제가 성공하면 204 No Content상태가 반환됩니다.
이 내용이 도움이 되었나요?