API 참조
기본 URL
대상 API의 기본 URL은 다음과 같습니다.
https://audience.api.brightcove.com/v1
계정 경로
모든 경우에 특정 Video Cloud 계정에 대한 요청이 이루어집니다. 항상 “계정”이라는 용어와 계정 ID를 기본 URL에 추가해야 합니다.
https://audience.api.brightcove.com/v1/accounts/{account_id}
인증
Audience API는 브라이트코브 OAuth 서비스를사용하여 통화를 인증합니다.
먼저 클라이언트 자격 증명 (a client_id및client_secret ) 을 받아야 합니다. 이 작업은 OAuth 자격 증명 UI를 사용하여 수행할 수 있는 일회성작업입니다. 오디언스/읽기 작업에 대한 권한이 필요합니다.
cURL또는 Postman을 사용하여 브라이트코브 OAuth 서비스에서 직접 클라이언트 자격 증명을 가져올 수있습니다.
또한 및 를 사용하여access_token가져와서 API client_idclient_secret요청과 함께 Authorization 헤더에 전달한 도 필요합니다.
Authorization: Bearer {access_token}
5분이 지나면access_token만료되므로 요청마다 하나씩 받거나 토큰이 아직 유효한지 확인해야 합니다. 보다액세스 토큰 얻기코드 샘플을 포함하여 액세스 토큰을 얻는 방법에 대한 자세한 설명을 보려면
오류 처리
오류가 발생하면 API는 다음 상태 코드 중 하나와 응답 본문에 해당 오류 코드를 사용하여 응답합니다.
| 상태 코드 | 오류 코드 | 설명 |
|---|---|---|
| 400 | BAD_REQUEST_ERROR |
쿼리 매개 변수가 잘못되었습니다. |
| 401 | UNAUTHORIZED_ERROR |
액세스 토큰이 없거나 만료되었거나 유효하지 않습니다. |
| 404 | RESOURCE_NOT_FOUND |
URL이 존재하지 않습니다. |
| 429 | REQUEST_THROTTLED_ERROR |
사용자가 속도 제한 정책을 초과했습니다. |
| 500 | INTERNAL_ERROR |
내부 오류가 발생했습니다. |
| 504 | GATEWAY_TIMEOUT_ERROR |
요청을 이행하는 동안 서버가 시간 초과되었습니다. |
다음은 오류에 대한 샘플 응답 본문입니다.
[
{
"error_code": "UNAUTHORIZED_ERROR",
"message": "Permission denied"
}
]
매개변수
검색된 데이터를 제한하고 필터링하기 위해 요청에 추가할 수 있는 여러 매개 변수가 있습니다. 이는 다음 섹션에 설명된 모든 요청 유형에 적용됩니다.
결과 필터링
where파라미터를 사용하여 결과를 필터링할 수 있습니다. 필터의 구문은 다음과 같습니다.
where=field1==value1;field2==value2
예:
where=video_id==123456789;video_name==test
쉼표는 논리 OR로 취급되고 세미콜론은 논리 AND로 취급됩니다. 예를 들어, where=video_id==1234,5678;video_name=test는 “여기서 video_id = 1234 또는 5678이고 video_name = 테스트”로 해석됩니다.
반환할 필드 선택
필드의 하위 집합으로 결과를 제한하기 위해 요청에 필드 목록을 지정할 수 있습니다. 필드의 구문은 다음과 같습니다.
fields=field1,field4
예:
fields=video_id,video_name
필터링 및 정렬할 수 있는 필드는 다음 섹션에서 각 요청 유형에 대해 자세히 설명합니다.
날짜 범위
날짜 범위는from및to매개 변수로 지정할 수 있으며 뷰 이벤트가 마지막으로 업데이트된 날짜 (updated_at 필드) 에 적용됩니다. 날짜 범위는 다음 형식으로 나타낼 수 있습니다.
- 현재 시간을
now나타내는 텍스트 값입니다. - 밀리초 단위의 에포크 시간 값 (예:
1377047323000 - ISO 8601 표준 국제 날짜 형식으로 표시된 날짜:
YYYY-MM-DD형식 등2013-09-12. 이 형식으로 표현된 날짜의 경우:- 지정된 날짜 범위는 UTC로 해석됩니다.
- 주어진 날짜의 시간은 지정된 날짜의 자정 (
00:00:00) 으로 해석됩니다.
- 기준 날짜:
to및from값 중 하나를 다른 값과 비교하여d(일), (시간),hm(분) 또는 로 표현할 수 있습니다.s(초). 예:from=2015-01-01&to=31dfrom=-48h&to=nowfrom=-2d&to=now(이전 예제와 동일한 결과를 제공합니다)from=-365d&to=2015-12-31from=-10m&to=now
페이징 결과
limit는 반환할 항목 수입니다 (기본값: 25, 최대: 200). offset건너뛸 항목 수입니다 (기본값: 0). limit및 를offset함께 사용하여 결과를 단계별로 보여주는 앱을 만들 수 있습니다. 각 항목에는 전체 결과에 대한 반복을 설정하는 데 사용할 수 있는limitoffsetcount. , 및 가 포함됩니다. 예를 들어 JavaScript에서는 다음과 같이 필요한 총 반복을 얻을 수 있습니다.
// response is the JSON-parsed response from the first request
var totalRequests = Math.ceil(response.count / response.limit)
보기 이벤트 검색
계정에서 뷰 이벤트를 검색하려면 view_events 리소스에GET요청을 수행하십시오.
https://audience.api.brightcove.com/v1/accounts/{account_id}/view_events
다음은 cURL의 샘플 요청입니다.
curl -i https://audience.api.brightcove.com/v1/accounts/{account_id}/view_events?where=video_id==123&from=-5d&to=now&sort=-created_at \
-H "Authorization: Bearer {token}"
샘플 응답
{
"count": 27,
"limit": 25,
"offset": 0,
"result": [
{
"created_at": "2016-04-25T18:30:21.651Z",
"page_url": "https://players.brightcove.net/1486906377/V1s6NOwRx_default/index.html?videoId=4842718056001",
"player_id": "V1s6NOwRx",
"time_watched": 2,
"updated_at": "2016-04-25T18:30:21.651Z",
"video_id": "4842718056001",
"video_name": "Horses Heading to the Track",
"watched": 19
},
{
"created_at": "2016-04-25T18:31:55.071Z",
"page_url": "https://players.brightcove.net/1486906377/BkgFuzyhg_default/index.html?videoId=4842718056001",
"player_id": "BkgFuzyhg",
"time_watched": 15,
"updated_at": "2016-04-25T18:32:00.879Z",
"video_id": "4842718056001",
"video_name": "Horses Heading to the Track",
"watched": 99
}, ...
}
]
필터링 및 선택 필드
모든매개변수함께 사용할 수 있습니다view_event요청합니다.
다음은 매개 변수를 사용하는 cURL의 샘플 요청입니다.
curl -i https://audience.api.brightcove.com/v1/accounts/{account_id}/view_events?where=video_id==123&from=-5d&to=now&sort=-created_at \
-H "Authorization: Bearer {token}"
다음 필드가 지원됩니다. view_event필터링 시 요청where절 또는 a 중에 선택할 때fields절:
| 필드 | 설명 |
|---|---|
video_id |
브라이트코브 동영상 ID |
video_name |
브라이트코브 동영상 이름 |
tracking_id |
사용자 지정 추적 ID |
external_id |
마케토, 엘로쿠아 또는 사용자 지정 GUID |
player_id |
뷰 이벤트를 생성한 브라이트코브 플레이어의 ID |
page_url |
뷰 이벤트가 생성 된 페이지의 URL |
watched |
감시된 백분율 |
time_watched |
시청한 비디오의 초 |
created_at |
작성 날짜 |
updated_at |
마지막 업데이트 날짜 |
is_synced |
뷰 이벤트가 동기화되었는지 여부를 나타내는 부울 |
event_1 |
사용자 정의 이벤트 |
event_2 |
|
event_3 |
|
metric_1 |
맞춤 측정항목 |
metric_2 |
|
metric_3 |
가망 고객 검색
계정에서 보기 이벤트를 검색하려면 다음을 수행하십시오. GET에 요청view_events자원:
https://audience.api.brightcove.com/v1/accounts/{account_id}/leads
샘플 응답:
{
"count": 2,
"limit": 25,
"offset": 0,
"result": [
{
"created_at": "2016-06-30T12:57:11.283Z",
"email_address": "bbailey@brightcove.com",
"first_name": "Bob",
"last_name": "Bailey",
"page_url": "https://players.brightcove.net/1486906377/Hk4TBqzL_default/index.html?videoId=4997275041001",
"player_id": "Hk4TBqzL",
"video_id": "4997275041001"
},
{
"created_at": "2016-06-30T12:57:33.301Z",
"email_address": "rcrooks@brightcove.com",
"first_name": "Robert",
"last_name": "Crooks",
"page_url": "https://players.brightcove.net/1486906377/Hk4TBqzL_default/index.html?videoId=4997275041001",
"player_id": "Hk4TBqzL",
"video_id": "4997275041001"
}
]
}
필터링 및 선택 필드
모든매개변수함께 사용할 수 있습니다leads요청합니다.
다음은 매개 변수를 사용하는 cURL의 샘플 요청입니다.
curl -i https://audience.api.brightcove.com/v1/accounts/{account_id}/leads?where=video_id==123&from=-5d&to=now&sort=-created_at \
-H "Authorization: Bearer {token}"
다음 필드가 지원됩니다. leads필터링 시 요청where절 또는 a 중에 선택할 때fields절:
| 필드 | 설명 |
|---|---|
video_id |
브라이트코브 동영상 ID |
external_id |
마케토, 엘로쿠아 또는 사용자 지정 GUID |
player_id |
뷰 이벤트를 생성한 브라이트코브 플레이어의 ID |
page_url |
뷰 이벤트가 생성 된 페이지의 URL |
created_at |
작성 날짜 |
email_address |
리드의 이메일 주소 |
first_name |
제공된 경우 리드의 이름 |
last_name |
제공된 경우 리드의 성 |
business_phone |
제공된 경우 리드의 전화 번호 |
country |
제공된 경우 가망 고객 국가 |
company_name |
리드의 회사 (제공된 경우) |
industry |
제공 될 경우 리드가 속한 산업 |