REST APIs 시작 getting-started-with-rest-apis
일반 요구 사항, 인증, 선택적 쿼리 매개 변수, 요청 URLs 및 기타 참조에 대한 정보입니다.
API 요구 사항 및 Recommendations api-requirements-recommendations
Audience Manager API 코드를 사용하여 작업할 때 다음 사항에 유의하십시오.
- 요청 매개 변수: 달리 지정하지 않는 한 모든 요청 매개 변수가 필요합니다.
- 요청 헤더: Adobe Developer 토큰을 사용할 때는
x-api-key
헤더를 제공해야 합니다. 서비스 계정 통합 페이지의 지침에 따라 API 키를 가져올 수 있습니다. - JSON콘텐츠 형식: 코드에서
content-type: application/json
및accept: application/json
을(를) 지정합니다. - 요청 및 응답: 요청을 올바른 형식의 JSON 개체로 보냅니다. Audience Manager이(가) 형식이 지정된 JSON 데이터로 응답합니다. 서버 응답에는 요청된 데이터, 상태 코드 또는 두 가지 모두 포함될 수 있습니다.
- 액세스: Audience Manager 컨설턴트가 API개의 요청을 할 수 있는 클라이언트 ID와 키를 제공합니다.
- 설명서 및 코드 샘플: 기울임꼴 의 텍스트는 API 데이터를 만들거나 받을 때 제공하거나 전달하는 변수를 나타냅니다. italicized 텍스트를 코드, 매개 변수 또는 기타 필수 정보로 바꾸십시오.
인증 authentication
Audience Manager REST APIs은(는) 세 가지 인증 방법을 지원합니다.
- [권장]{class="badge positive"}Adobe 개발자 콘솔을 사용하여 OAuth 서버 간 인증. Adobe Developer은(는) Adobe의 개발자 생태계 및 커뮤니티입니다. 여기에는 모든 Adobe 제품에 대한 API가 포함됩니다. Adobe APIs을(를) 설정하고 사용하는 데 권장되는 방법입니다. Adobe 개발자 설명서에서 OAuth 서버 간 인증에 대해 자세히 알아보십시오.
- [사용되지 않음]{class="badge negative"}Adobe 개발자 콘솔을 사용하여 JWT(서비스 계정) 인증. Adobe Developer은(는) Adobe의 개발자 생태계 및 커뮤니티입니다. 여기에는 모든 Adobe 제품에 대한 API가 포함됩니다.
- [사용되지 않음]{class="badge negative"}기존 OAuth 인증. 이 메서드는 더 이상 사용되지 않지만 기존 OAuth 통합을 사용하는 고객은 이 메서드를 계속 사용할 수 있습니다.
Adobe Developer을 사용한 OAuth 서버 간 인증 oauth-adobe-developer
이 섹션에서는 아래 순서도에 설명된 대로 Audience Manager API 호출을 인증하는 데 필요한 자격 증명을 수집하는 방법을 다룹니다. 초기 1회 설정에서 필요한 자격 증명 대부분을 수집할 수 있습니다. 그러나 액세스 토큰은 24시간마다 새로 고쳐야 합니다.
Adobe Developer 개요 developer-overview
Adobe Developer은(는) Adobe의 개발자 생태계 및 커뮤니티입니다. 여기에는 모든 Adobe 제품에 대한 API가 포함됩니다.
Adobe APIs을(를) 설정하고 사용하는 데 권장되는 방법입니다.
전제 조건 prerequisites-server-to-server
OAuth Server-to-Server 인증을 구성하려면 먼저 Adobe Developer에서 Adobe Developer Console에 액세스할 수 있는지 확인하십시오. 액세스 요청에 대해서는 조직 관리자에게 문의하십시오.
인증 oauth
Adobe Developer을(를) 사용하여 OAuth Server-to-Server 인증을 구성하려면 아래 단계를 따르십시오.
- Adobe Developer Console에 로그인합니다.
- OAuth 서버 간 자격 증명 구현 안내서의 단계를 따릅니다.
- 2단계: 서비스 계정 인증을 사용하여 프로젝트에 API를 추가하는 동안 Audience Manager API 옵션을 선택하십시오.
- 3단계의 지침에 따라 첫 번째 API 통화를 수행하여 연결을 시도하십시오.
프로젝트에 Audience Manager API 추가 add-aam-api-to-project
Adobe Developer Console(으)로 이동하여 Adobe ID으로 로그인합니다. 그런 다음 Adobe Developer Console 설명서에서 빈 프로젝트 만들기에 대한 자습서에 설명된 단계를 수행합니다.
새 프로젝트를 만든 후에는 Project Overview 화면에서 Add API 을(를) 선택하십시오.
API 추가 옵션이 강조 표시된
Add an API 화면이 나타납니다. Adobe Experience Cloud의 제품 아이콘을 선택한 다음 Next 을(를) 선택하기 전에 Audience Manager API 을(를) 선택하십시오.
OAuth 서버 간 인증 유형 선택 select-oauth-server-to-server
그런 다음 인증 유형을 선택하여 액세스 토큰을 생성하고 Audience Manager API에 액세스합니다.
통합할 제품 프로필 선택 select-product-profiles
Configure API 화면에서 원하는 제품 프로필을 선택합니다. 통합의 서비스 계정은 여기에서 선택한 제품 프로필을 통해 세분화된 기능에 액세스할 수 있습니다.
준비가 되면 Save configured API 을(를) 선택하십시오.
자격 증명 수집 gather-credentials
API가 프로젝트에 추가되면 프로젝트에 대한 Audience Manager API 페이지에 Audience Manager API 호출에 필요한 다음 자격 증명이 표시됩니다.
{API_KEY}
(Client ID){ORG_ID}
(Organization ID)
액세스 토큰 생성 generate-access-token
다음 단계는 Audience Manager API 호출에 사용할 {ACCESS_TOKEN}
자격 증명을 생성하는 것입니다. {API_KEY}
및 {ORG_ID}
의 값과 달리 Audience Manager API를 계속 사용하려면 24시간마다 새 토큰을 생성해야 합니다. 아래와 같이 Generate access token 을(를) 선택합니다.
API 호출 테스트 test-api-call
인증 전달자 토큰을 받은 후, API 호출을 수행하여 Audience Manager API에 액세스할 수 있음을 테스트합니다.
-
API 참조 설명서(으)로 이동합니다.
-
Authorize 을(를) 선택하고 액세스 토큰 생성 단계에서 얻은 액세스 토큰을 붙여넣습니다.
-
API 참조 설명서에 표시된 대로 전역적으로 사용 가능한 모든 데이터 소스 목록을 검색하려면
/datasources
API 끝점에 대한 GET 호출을 수행하십시오. 아래와 같이 Try it out, Execute 을(를) 차례로 선택합니다.
code language-shell |
---|
|
작업 액세스 토큰을 사용할 때 API 끝점은 조직에서 액세스할 수 있는 모든 글로벌 데이터 소스를 포함하는 응답 본문과 함께 200개의 응답을 반환합니다.
code language-json |
---|
|
[사용되지 않음]{class="badge negative"}Adobe Developer을 사용한 JWT (Service Account) 인증 jwt
Adobe Developer 개요 adobeio
Adobe Developer은(는) Adobe의 개발자 생태계 및 커뮤니티입니다. 여기에는 모든 Adobe 제품에 대한 API가 포함됩니다.
Adobe APIs을(를) 설정하고 사용하는 데 권장되는 방법입니다.
전제 조건 prerequisites
JWT 인증을 구성하려면 먼저 Adobe Developer에서 Adobe Developer Console에 액세스할 수 있는지 확인하십시오. 액세스 요청에 대해서는 조직 관리자에게 문의하십시오.
인증 auth
Adobe Developer을(를) 사용하여 JWT (Service Account) 인증을 구성하려면 아래 단계를 따르십시오.
- Adobe Developer Console에 로그인합니다.
- 서비스 계정 연결의 단계를 따릅니다.
- 2단계: 서비스 계정 인증을 사용하여 프로젝트에 API를 추가하는 동안 Audience Manager API 옵션을 선택하십시오.
- 3단계의 지침에 따라 첫 번째 API 통화를 수행하여 연결을 시도하십시오.
note note |
---|
NOTE |
Audience Manager REST APIs을(를) 자동 방식으로 구성하고 작업하려면 JWT을(를) 프로그래밍 방식으로 생성할 수 있습니다. 자세한 지침은 JWT(서비스 계정) 인증을 참조하십시오. |
기술 계정 RBAC 권한
Audience Manager 계정이 역할 기반 액세스 제어를 사용하는 경우 Audience Manager 기술 사용자 계정을 만들고 API를 호출할 Audience Manager RBAC 그룹에 추가해야 합니다.
아래 단계에 따라 기술 사용자 계정을 만들고 RBAC 그룹에 추가합니다.
-
https://aam.adobe.io/v1/users/self
에GET
통화를 합니다. 이 호출은 Users 페이지의 Admin Console에서 볼 수 있는 기술 사용자 계정을 만듭니다. -
Audience Manager 계정에 로그인하고 기술 사용자 계정을 API를 호출할 사용자 그룹에 추가합니다.
[사용되지 않음]{class="badge negative"}OAuth 인증(더 이상 사용되지 않음) oauth-deprecated
note warning |
---|
WARNING |
Audience Manager REST API 토큰 인증 및 OAuth 2.0을(를) 통한 갱신은 이제 더 이상 사용되지 않습니다. |
대신 JWT(서비스 계정) 인증을 사용하십시오. |
Audience Manager REST API은(는) 토큰 인증 및 갱신에 대한 OAuth 2.0 표준을 따릅니다. 아래 섹션에서는 API을(를) 인증하고 작업을 시작하는 방법에 대해 설명합니다.
일반 API 사용자 만들기 requirements
Audience Manager API (으)로 작업하려면 별도의 기술 사용자 계정을 만드는 것이 좋습니다. 조직의 특정 사용자와 연결되거나 연결되지 않은 일반 계정입니다. 이 유형의 API 사용자 계정은 다음 두 가지 작업을 수행하는 데 도움이 됩니다.
- API을(를) 호출하는 서비스(예: API을(를) 사용하는 앱이나 API개의 요청을 하는 다른 도구의 호출)를 식별합니다.
- API에 중단 없이 액세스하십시오. 특정 사용자에 연결된 계정은 회사에서 나갈 때 삭제될 수 있습니다. 이 경우 사용 가능한 API 코드를 사용할 수 없습니다. 특정 직원에게 연결되지 않은 일반 계정은 이 문제를 방지하는 데 도움이 됩니다.
이 유형의 계정에 대한 사용 사례로 대량 관리 도구를 사용하여 한 번에 많은 세그먼트를 변경한다고 가정해 보겠습니다. 이렇게 하려면 사용자 계정에 API 액세스 권한이 필요합니다. 특정 사용자에게 권한을 추가하는 대신 API을(를) 호출할 수 있는 적절한 자격 증명, 키 및 암호가 있는 비특정 API 사용자 계정을 만듭니다. Audience Manager API을(를) 사용하는 자체 응용 프로그램을 개발하는 경우에도 유용합니다.
Audience Manager 컨설턴트와 함께 일반 API 전용 사용자 계정을 설정합니다.
암호 인증 워크플로 password-authentication-workflow
암호 인증은 REST API에 안전하게 액세스합니다. 아래 단계에서는 브라우저의 JSON 클라이언트에서 암호 인증을 위한 워크플로에 대해 간략히 설명합니다.
note tip |
---|
TIP |
액세스 및 새로 고침 토큰을 데이터베이스에 저장하는 경우 이를 암호화합니다. |
1단계: API 액세스 요청
파트너 솔루션 관리자에게 문의하십시오. API 클라이언트 ID와 암호를 제공합니다. ID 및 암호가 API에 대해 사용자를 인증합니다.
참고: 새로 고침 토큰을 받으려면 API 액세스를 요청할 때 지정합니다.
2단계: 토큰 요청
선호하는 JSON 클라이언트로 토큰 요청을 전달합니다. 요청을 빌드할 때:
POST
메서드를 사용하여https://api.demdex.com/oauth/token
을(를) 호출하십시오.- 클라이언트 ID 및 암호를 base-64로 인코딩된 문자열로 변환합니다. 전환 프로세스 중에 콜론으로 ID와 암호를 구분합니다. 예를 들어 자격 증명
testId : testSecret
이(가)dGVzdElkOnRlc3RTZWNyZXQ=
(으)로 변환됩니다. - HTTP headers
Authorization:Basic <base-64 clientID:clientSecret>
및Content-Type: application/x-www-form-urlencoded
을(를) 전달합니다. 예를 들어 머리글은 다음과 같이 표시될 수 있습니다.Authorization: Basic dGVzdElkOnRlc3RTZWNyZXQ=
Content-Type: application/x-www-form-urlencoded
- 요청 본문을 다음과 같이 설정합니다.
grant_type=password&username=<your-AudienceManager-user-name>&password=<your-AudienceManager-password>
3단계: 토큰 받기
JSON 응답에 액세스 토큰이 포함되어 있습니다. 응답은 다음과 같아야 합니다.
code language-json |
---|
|
expires_in
키는 액세스 토큰이 만료될 때까지의 시간(초)을 나타냅니다. 토큰이 노출된 경우 짧은 만료 시간을 사용하여 노출을 제한하는 것이 좋습니다.
토큰 새로 고침 refresh-token
토큰 새로 고침은 원본 토큰이 만료된 후 API 액세스를 갱신합니다. 요청한 경우 암호 워크플로의 응답 JSON에 새로 고침 토큰이 포함됩니다. 새로 고침 토큰을 받지 못한 경우 암호 인증 프로세스를 통해 새 토큰을 만듭니다.
기존 액세스 토큰이 만료되기 전에 새로 고침 토큰을 사용하여 새 토큰을 생성할 수도 있습니다.
액세스 토큰이 만료된 경우 401 Status Code
과(와) 다음 헤더가 응답됩니다.
WWW-Authenticate: Bearer realm="oauth", error="invalid_token", error_description="Access token expired: <token>"
다음 단계에서는 새로 고침 토큰을 사용하여 브라우저의 JSON 클라이언트에서 새 액세스 토큰을 만들기 위한 워크플로에 대해 간략히 설명합니다.
1단계: 새 토큰 요청
선호하는 JSON 클라이언트로 새로 고침 토큰 요청을 전달합니다. 요청을 빌드할 때:
POST
메서드를 사용하여https://api.demdex.com/oauth/token
을(를) 호출하십시오.- 클라이언트 ID 및 암호를 base-64로 인코딩된 문자열로 변환합니다. 전환 프로세스 중에 콜론으로 ID와 암호를 구분합니다. 예를 들어 자격 증명
testId : testSecret
이(가)dGVzdElkOnRlc3RTZWNyZXQ=
(으)로 변환됩니다. - HTTP 헤더
Authorization:Basic <base-64 clientID:clientSecret>
및Content-Type: application/x-www-form-urlencoded
을(를) 전달합니다. 예를 들어 머리글은 다음과 같이 표시될 수 있습니다.Authorization: Basic dGVzdElkOnRlc3RTZWNyZXQ=
Content-Type: application/x-www-form-urlencoded
- 요청 본문에
grant_type:refresh_token
을(를) 지정하고 이전 액세스 요청에서 받은 새로 고침 토큰을 전달합니다. 요청은 다음과 같아야 합니다.grant_type=refresh_token&refresh_token=b27122c0-b0c7-4b39-a71b-1547a3b3b88e
2단계: 새 토큰 받기
JSON 응답에 새 액세스 토큰이 포함되어 있습니다. 응답은 다음과 같아야 합니다.
code language-json |
---|
|
인증 코드 및 암시적 인증 authentication-code-implicit
Audience Manager REST API은(는) 인증 코드와 암시적 인증을 지원합니다. 이러한 액세스 방법을 사용하려면 사용자가 https://api.demdex.com/oauth/authorize
에 로그인하여 액세스 권한을 얻고 토큰을 새로 고쳐야 합니다.
인증된 API개 요청 만들기 authenticated-api-requests
인증 토큰을 받은 후 API 메서드를 호출하기 위한 요구 사항입니다.
사용 가능한 API 메서드에 대해 호출하려면 다음을 수행합니다.
HTTP
헤더에서Authorization: Bearer <token>
을(를) 설정합니다.- JWT(서비스 계정) 인증을(를) 사용하는 경우
client_id
과(와) 동일한x-api-key
헤더를 제공해야 합니다. Adobe Developer 통합 페이지에서client_id
을(를) 가져올 수 있습니다. - 필요한 API 메서드를 호출합니다.
선택적 API 쿼리 매개 변수 optional-api-query-parameters
개체의 모든 속성을 반환하는 메서드에서 사용할 수 있는 선택적 매개 변수를 설정합니다.
개체에 대한 all 속성을 반환하는 API 메서드와 함께 이러한 선택적 매개 변수를 사용할 수 있습니다. 해당 쿼리를 API에 전달할 때 요청 문자열에서 이러한 옵션을 설정하십시오.
page
pageSize
sortBy
descending
ascending
이(가) 기본값입니다.search
GET https://aam.adobe.io/v1/models/?search=Test
. "get all" 메서드에서 반환된 값을 검색할 수 있습니다.folderId
permissions
지정된 권한에 따라 세그먼트 목록을 반환합니다. READ
이(가) 기본값입니다. 사용 권한에는 다음이 포함됩니다.
READ
: 세그먼트에 대한 정보를 반환하고 봅니다.WRITE
:PUT
을(를) 사용하여 세그먼트를 업데이트합니다.CREATE
:POST
을(를) 사용하여 세그먼트를 만드십시오.DELETE
: 세그먼트를 삭제합니다. 필요한 경우 기본 트레이트에 대한 액세스 권한이 필요합니다. 예를 들어, 세그먼트를 제거하려면 세그먼트에 속하는 트레이트를 삭제할 수 있는 권한이 필요합니다.
별도의 키-값 쌍을 사용하여 여러 권한을 지정합니다. 예를 들어 READ
및 WRITE
권한만 있는 세그먼트 목록을 반환하려면 "permissions":"READ"
, "permissions":"WRITE"
을 전달합니다.
includePermissions
true
(으)로 설정합니다. 기본값은 false
입니다.페이지 옵션에 대한 참고 사항
페이지 정보 이(가) 지정되지 않은 경우 요청은 일반 JSON 결과를 반환하여 배열을 생성합니다. 페이지 정보 is 을(를) 지정하면 반환된 목록이 전체 결과 및 현재 페이지에 대한 정보가 포함된 JSON 개체로 래핑됩니다. 페이지 옵션을 사용하는 샘플 요청은 다음과 유사할 수 있습니다.
GET https://aam.adobe.io/v1/models/?page=1&pageSize=2&search=Test
API URLs api-urls
요청, 스테이징 및 프로덕션 환경 및 버전에 대해 URLs합니다.
URLs 요청 request-urls
다음 표에는 메서드별로 API 요청을 전달하는 데 사용되는 URLs 요청이 나열되어 있습니다.
사용하는 인증 방법에 따라 아래 표에 따라 요청 URLs을(를) 조정해야 합니다.
[권장]{class="badge informative"}에 대한 URLs 요청{type=positive}[사용되지 않음]{class="badge negative"}Adobe Developer을 통한 JWT 인증 request-urls-jwt
https://aam.adobe.io/v1/models/
https://aam.adobe.io/v1/datasources/
https://aam.adobe.io/v1/signals/derived/
https://aam.adobe.io/v1/destinations/
https://aam.adobe.io/v1/partner-sites/
https://aam.adobe.io/v1/folders/traits /
세그먼트:
https://aam.adobe.io/v1/folders/segments /
https://aam.adobe.io/v1/schemas/
https://aam.adobe.io/v1/segments/
https://aam.adobe.io/v1/traits/
https://aam.adobe.io/v1/customer-trait-types
https://aam.adobe.io/v1/taxonomies/0/
[사용되지 않음]{class="badge informative"}에 대한 요청 URLs{type=negative}OAuth 인증 request-urls-oauth
https://api.demdex.com/v1/models/
https://api.demdex.com/v1/datasources/
https://api.demdex.com/v1/signals/derived/
https://api.demdex.com/v1/destinations/
https://api.demdex.com/v1/partner-sites/
https://api.demdex.com/v1/folders/traits /
세그먼트:
https://api.demdex.com/v1/folders/segments /
https://api.demdex.com/v1/schemas/
https://api.demdex.com/v1/segments/
https://api.demdex.com/v1/traits/
https://api.demdex.com/v1/customer-trait-types
https://api.demdex.com/v1/taxonomies/0/
환경 environments
Audience Manager API에서 다른 작업 환경에 액세스할 수 있습니다. 이러한 환경은 라이브 프로덕션 데이터에 영향을 주지 않고 별도의 데이터베이스에 대해 코드를 테스트하는 데 도움이 됩니다. 다음 표에는 사용 가능한 API 환경 및 해당 리소스 호스트 이름이 나열되어 있습니다.
사용하는 인증 방법에 따라 아래 표에 따라 환경 URLs을(를) 조정해야 합니다.
https://aam.adobe.io/...
https://api.demdex.com/...
https://aam-beta.adobe.io/...
https://api-beta.demdex.com/...
버전 versions
이 API의 새 버전은 정기적으로 릴리스됩니다. 새 릴리스로 인해 API 버전 번호가 증가합니다. 버전 번호가 URL 요청에서 v<version number>
(으)로 참조되었습니다. 다음 예제와 같습니다.
https://<host>/v1/...
정의된 응답 코드 response-codes-defined
Audience Manager REST API에서 반환된 HTTP
상태 코드 및 응답 텍스트입니다.
200
OK
201
Created
PUT
및 POST
요청에 대해 를 반환합니다.204
No Content
400
Bad Request
403
Forbidden
404
Not Found
409
Conflict
500
Server Error