Apigee Edge 문서입니다.
Go to the
Apigee X 문서로 이동합니다. info
웹훅이란 무엇인가요?
웹훅 은 이벤트에 의해 트리거되는 HTTP 콜백 핸들러를 정의합니다. 수익 창출 알림 템플릿 사용의 대안으로 웹훅을 만들고 이벤트 알림을 처리하도록 구성할 수 있습니다. 자세한 내용은 알림 템플릿을 사용하여 알림 설정을 참조하세요.
웹훅을 사용하여 알림을 설정하려면 Edge 관리 UI 또는 관리 및 수익 창출 API를 사용하여 다음 단계를 완료하세요.
- UI 또는 API를 사용하여 알림 이벤트의 콜백 핸들러를 정의하는 웹훅을 추가합니다.
- 콜백 핸들러를 설정합니다.
- UI 또는 API를 사용하여 조정 가능한 요금제에 대한 알림을 설정합니다.
웹훅 관리
UI 또는 API를 사용하여 알림 이벤트의 콜백 핸들러를 정의하는 웹훅을 추가하고 관리합니다.
UI를 사용하여 웹훅 관리
다음 섹션에 설명된 대로 UI를 사용하여 알림 이벤트의 콜백 핸들러를 정의하는 웹훅을 추가하고 관리합니다.
웹훅 페이지 살펴보기
아래에 설명된 대로 웹훅 페이지에 액세스합니다.
에지
Edge UI를 사용하여 웹훅 페이지에 액세스하려면 다음 안내를 따르세요.
- apigee.com/edge에 로그인합니다.
- 왼쪽 탐색 메뉴에서 게시 > 수익 창출 > 웹훅 을 선택합니다.
웹훅 페이지가 표시됩니다.

그림에 강조 표시된 것처럼 웹훅 페이지에서 다음을 수행할 수 있습니다.
- 기존 웹훅의 세부정보를 확인합니다.
- 웹훅을 추가합니다.
- 웹훅을 사용 설정 또는 중지하거나, 수정 또는 삭제합니다.
- 웹훅 목록을 검색합니다.
기본 Edge (Private Cloud)
기본 Edge UI를 사용하여 웹훅 페이지에 액세스하려면 다음 단계를 따르세요.
http://ms-ip:9000에 로그인합니다. 여기서 ms-ip는 관리 서버 노드의 IP 주소 또는 DNS 이름입니다.관리 > 웹훅 을 선택합니다.

웹훅 페이지가 표시됩니다.

웹훅 페이지에서 다음을 수행할 수 있습니다.
- 기존 웹훅의 세부정보를 확인합니다.
- 웹훅을 추가합니다.
- 웹훅을 사용 설정 또는 중지하거나, 수정 또는 삭제합니다.
- 웹훅 목록을 검색합니다.
UI를 사용하여 웹훅 추가
UI를 사용하여 웹훅을 추가하려면 다음 안내를 따르세요.
- 웹훅 페이지에 액세스합니다.
- + 웹훅 을 클릭합니다.
- 다음 정보를 입력합니다 (모든 필드는 필수).
필드 설명 이름 웹훅의 이름입니다. URL 활동 알림이 트리거될 때 호출되는 콜백 핸들러의 URL입니다. 콜백 핸들러 설정을 참조하세요. - 저장 을 클릭합니다.
웹훅이 목록에 추가되고 기본적으로 사용 설정됩니다.
UI를 사용하여 웹훅 수정
UI를 사용하여 웹훅을 수정하려면 다음 안내를 따르세요.
- 웹훅 페이지에 액세스합니다.
- 수정하려는 웹훅 위에 커서를 놓고 작업 메뉴에서
을 클릭합니다. - 필요에 따라 웹훅 필드를 수정합니다.
- 웹훅 업데이트 를 클릭합니다.
UI를 사용하여 웹훅 사용 설정 또는 중지
UI를 사용하여 웹훅을 사용 설정 또는 중지하려면 다음 안내를 따르세요.
- 웹훅 페이지에 액세스합니다.
- 웹훅 위에 커서를 놓고 상태 스위치를 전환하여 웹훅을 사용 설정 또는 중지합니다.
UI를 사용하여 웹훅 삭제
UI를 사용하여 웹훅을 삭제하려면 다음 안내를 따르세요.
- 웹훅 페이지에 액세스합니다.
- 삭제하려는 웹훅 위에 커서를 놓고
을 클릭합니다.
웹훅이 삭제되고 목록에서 삭제됩니다.
API를 사용하여 웹훅 관리
다음 섹션에 설명된 대로 API를 사용하여 웹훅을 추가하고 관리합니다.
API를 사용하여 모든 웹훅 보기
/mint/organizations/{org_name}/webhooks에 GET 요청을 실행하여 모든 웹훅을 확인합니다.
예를 들면 다음과 같습니다.
curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks" \ -H "Content-Type: application/json " \ -u email:password
다음은 반환된 응답의 예시입니다.
{
"totalRecords": 2,
"webhooks": [
{
"created": 1460162656342,
"enabled": false,
"id": "21844a37-d26d-476c-93ed-38f3a4b24691",
"name": "webhook1",
"postUrl": "http://mycompany.com/callbackhandler1",
"updated": 1460162656342,
"updatedBy": "joe@example.com"
},
{
"created": 1460138724352,
"createdBy": "joe@example.com",
"enabled": true,
"id": "a39ca777-1861-49cf-a397-c9e92ab3c09f",
"name": "webhook2",
"postUrl": "http://mycompany.com/callbackhandler2",
"updated": 1460138724352,
"updatedBy": "joe@example.com"
}
]
}
API를 사용하여 웹훅 보기
에 GET 요청을 실행하여 단일 웹훅을 확인합니다. /mint/organizations/{org_name}/webhooks/{webhook_id}
예를 들면 다음과 같습니다.
curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/21844a37-d26d-476c-93ed-38f3a4b24691" \ -H "Content-Type: application/json " \ -u email:password
다음은 응답의 예시입니다.
{ "created": 1460162656342, "enabled": false, "id": "21844a37-d26d-476c-93ed-38f3a4b24691", "name": "webhook1", "postUrl": "http://mycompany.com/callbackhandler1", "updated": 1460162656342, "updatedBy": "joe@example.com" }
API를 사용하여 웹훅 추가
/mint/organizations/{org_name}/webhooks에 POST 요청을 실행하여 웹훅을 추가합니다.
이벤트 알림이 트리거될 때 호출되는 웹훅의 이름과 콜백 핸들러의 URL을 전달해야 합니다.
예를 들어 다음은 webhook3이라는 웹훅을 만들고
callbackhandler3을 웹훅에 할당합니다.
curl -X POST "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks"
-H "Content-Type: application/json "
-d '{
"name": "webhook3",
"postURL": "http://mycompany.com/callbackhandler3"
}' \
-u email:password
다음은 응답의 예시입니다.
{ "created": 1460385534555, "createdBy": "joe@example.com", "enabled": false, "id": "0a07eb1f-f485-4539-8beb-01be449699b3", "name": "webhook3", "orgId": "myorg", "postUrl": "http://mycompany.com/callbackhandler3", "updated": 1460385534555, "updatedBy": "joe@example.com" }
API를 사용하여 웹훅 수정
/mint/organizations/{org_name}/webhooks/{webhook_id}에 PUT 요청을 실행하여 웹훅을 수정합니다. 요청 본문에 업데이트를 전달합니다.
예를 들어 다음은
과webhook1 연결된 콜백 핸들러를 업데이트합니다.
curl -X PUT "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/0a07eb1f-f485-4539-8beb-01be449699b3" \
-H "Content-Type: application/json " \
-d '{
"postURL": "http://mycompany.com/callbackhandler4"
}' \
-u email:password
다음은 응답의 예시입니다.
{ "created": 1460385534555, "enabled": false, "id": "0a07eb1f-f485-4539-8beb-01be449699b3", "name": "webhook3", "orgId": "myorg", "postUrl": "http://mycompany.com/callbackhandler4", "updated": 1460385534555, "updatedBy": "joe@example.com" }
API를 사용하여 웹훅 사용 설정 또는 중지
웹훅을 업데이트할 때와 마찬가지로
/mint/organizations/{org_name}/webhooks/{webhook_id}에 POST 요청을 실행하여 웹훅을 사용 설정 또는 중지하고
요청 본문의 enabled 속성을 각각 true 또는 false로 설정합니다. 웹훅을 중지하면 이벤트가 발생할 때
트리거되지 않습니다.
예를 들어 다음은 webhook3을 사용 설정합니다.
curl -X POST "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/0a07eb1f-f485-4539-8beb-01be449699b3" \
-H "Content-Type: application/json " \
-d '{
"enabled": "true"
}' \
-u email:password
다음은 응답의 예시입니다.
{ "created": 1460385534555, "enabled": true, "id": "0a07eb1f-f485-4539-8beb-01be449699b3", "name": "webhook3", "orgId": "myorg", "postUrl": "http://mycompany.com/callbackhandler4", "updated": 1460385534555, "updatedBy": "joe@example.com" }
API를 사용하여 웹훅 삭제
/mint/organizations/{org_name}/webhooks/{webhook_id}에 DELETE 요청을 실행하여 웹훅을 삭제합니다.
진행 중인 프로세스가 있는 경우 웹훅 삭제를 강제할지 여부를 지정하려면 forceDelete 쿼리 매개변수를 true 또는
false로 설정합니다. forceDelete 쿼리 매개변수는 기본적으로 사용 설정 (true)
됩니다.
예를 들어 다음은 webhook3을 삭제합니다.
curl -X DELETE "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/21844a37-d26d-476c-93ed-38f3a4b24691" \ -H "Content-Type: application/json " \ -u email:password
콜백 핸들러 설정
다음은 활동 알림이 트리거될 때 웹훅에 의해 정의된 콜백 핸들러로 전송되는 JSON 요청의 형식을 보여줍니다. 콜백 핸들러가 요청을 적절하게 처리하는지 확인해야 합니다.
{ "orgName": "{org_id}", "developerEmail": "{dev_email}", "developerFirstName": "{first_name}", "developerLastName": "{last_name}", "companyName": "{company_name}", "applicationName": "{app_name}", "packageName": "{api_package_name}", "packageId": "{api_package_id}", "ratePlanId": "{rateplan_id}", "ratePlanName": "{rateplan_name}", "ratePlanType": "{rateplan_type}", "developerRatePlanQuotaTarget": {quota_target}, "quotaPercentUsed": {percentage_quota_used}, "ratePlanStartDate": {rateplan_startdate}, "ratePlanEndDate": {rateplan_enddate}, "nextBillingCycleStartDate": {next_billing_cycle_startdate}, "products": ["{api_product_name}","{api_product_name}"], "developerCustomAttributes": [], "triggerTime": {trigger_time}, "triggerReason": "{trigger_reason}", "developerQuotaResetDate": "{devquota_resetdate}" }
조정 가능한 요금제에 대한 알림 설정
UI 또는 API를 사용하여 조정 가능한 요금제에 대한 웹훅을 사용하여 알림을 설정합니다.
UI를 사용하여 조정 가능한 요금제에 대한 알림 설정
아래에 설명된 대로 UI를 사용하여 조정 가능한 요금제에 대한 웹훅을 사용하여 알림을 설정합니다.
조정 가능한 요금제의 알림 대화상자에 액세스
아래에 설명된 대로 조정 가능한 요금제의 알림 대화상자에 액세스합니다.
에지
Edge UI를 사용하여 알림 대화상자에 액세스하려면 다음 안내를 따르세요.
- 조정 가능한 알림 요금제를 만들고 게시합니다. 자세한 내용은 조정 가능한 알림 요금제 세부정보 지정을 참조하세요.
- 왼쪽 탐색 메뉴에서 게시 > 수익 창출 > 요금제 를 선택하여 요금제 페이지에 액세스합니다.
- 게시된 조정 가능한 알림 요금제 위에 커서를 놓고 작업을 표시합니다.
- +알림 을 클릭합니다.
알림 대화상자가 표시됩니다.
참고: +알림 작업을 표시하려면 요금제를 게시해야 합니다.
기본 Edge (Private Cloud)
알림 페이지에 액세스하려면 다음 안내를 따르세요.
- 조정 가능한 알림 요금제를 만듭니다. 자세한 내용은 조정 가능한 알림 요금제 세부정보 지정을 참조하세요.
- 게시 > 패키지 를 선택하여 요금제를 확인합니다.
- 요금제의 작업 열에서 +알림 을 클릭합니다.
알림 대화상자가 표시됩니다.
UI를 사용하여 조정 가능한 요금제에 대한 알림 추가
UI를 사용하여 조정 가능한 요금제에 대한 알림을 추가하려면 다음 안내를 따르세요.
- 알림 대화상자에 액세스합니다.
- 알림이 트리거될 때 대상 거래 수의 비율을 지정하여 알림 간격에서 알림 조건을 설정합니다. 구체적으로 다음과 같습니다.
- 정확한 비율을 설정하려면 %에서/부터 필드 에 비율을 입력하고 %까지 필드를 비워 둡니다.
- 비율 범위를 설정하려면 %에서/부터 및 %까지 필드에 시작 및 종료 비율을 각각 입력하고 증분 값을 %단계 필드에 입력합니다. 기본적으로 알림은 지정된 범위 내에서 10% 씩 증가하여 전송됩니다.
Notify At필드는 이벤트를 트리거하는 대상 거래 수의 각 비율을 반영하도록 업데이트됩니다. - 알림 조건을 추가하려면 +추가 를 클릭하고 4단계를 반복합니다.
- 알림이 트리거될 때 콜백 처리를 관리할 웹훅을 하나 이상 선택하여 웹훅에서 알림 작업을 설정합니다.
- 알림 만들기 를 클릭합니다.
UI를 사용하여 조정 가능한 요금제에 대한 알림 수정
UI를 사용하여 조정 가능한 요금제에 대한 알림을 수정하려면 다음 안내를 따르세요.
- 알림 대화상자에 액세스합니다.
- 요금제의 작업 열에서 +알림 을 클릭합니다.
- 수정 을 클릭합니다.
- 필요에 따라 값을 수정합니다.
- 알림 저장 을 클릭합니다.
UI를 사용하여 조정 가능한 요금제에 대한 알림 삭제
알림 조건 및 작업을 삭제하려면 다음 안내를 따르세요.
- 알림 대화상자에 액세스합니다.
- 요금제의 작업 열에서 +알림 을 클릭합니다.
- 알림 삭제 를 클릭합니다.
API를 사용하여 조정 가능한 요금제에 대한 알림 설정
API를 사용하여 조정 가능한 요금제에 대한 알림을 설정하려면 API를 사용하여 알림 조건 및 작업 관리에 설명된 절차를 사용하고 이 섹션에 설명된 속성을 사용합니다.
알림 조건 (notificationCondition)을 설정하려면 다음 속성 값을 사용합니다. 자세한 내용은 알림 조건의 구성
속성을 참조하세요.
| 속성 | 값 |
|---|---|
RATEPLAN |
조정 가능한 알림 요금제의 ID입니다. |
PUBLISHED |
조정 가능한 알림 요금제를 게시해야 함을 나타내는 TRUE입니다. |
UsageTarget |
알림이 트리거될 때 대상 거래 수의 비율입니다.
이 속성을 사용하면 개발자가 구매한 조정 가능한 알림 요금제의 대상 거래 수에 가까워지거나 도달했을 때 개발자에게 알릴 수 있습니다. 예를 들어 개발자가 조정 가능한 알림 요금제를 구매했고 개발자의 대상 거래 수가 1, 000으로 설정된 경우 개발자가 800건의 거래 (대상 거래 수의 80%), 1,000건의 거래 (100%) 또는 1,500건의 거래 (150%)에 도달했을 때 개발자에게 알릴 수 있습니다.
|
알림 작업을 설정하려면 actions에서 다음 값을 설정합니다. 자세한 내용은 알림 작업의 구성 속성을 참조하세요.
| 속성 | 값 |
|---|---|
actionAttribute |
웹훅을 트리거하는 WEBHOOK입니다. |
value |
이전 섹션인 API를 사용하여 웹훅 만들기에 정의한 웹훅의 ID입니다. |
다음은 대상 거래 수의 비율이 80%, 90%, 100%, 110%, 120%에 도달할 때 웹훅을 트리거하는 알림 조건을 만드는 방법을 보여주는 예시입니다.
{
"notificationCondition": [
{
"attribute": "RATEPLAN",
"value": "123456"
},
{
"attribute": "PUBLISHED",
"value": "TRUE"
},
{
"attribute": "UsageTarget",
"value": "%= 80 to 120 by 10"
}
}
],
"actions": [{
"actionAttribute": "WEBHOOK",
"value": "b0d77596-142e-4606-ae2d-f55c3c6bfebe",
}]
}알림 조건 및 작업을 보고, 업데이트하고, 삭제하는 방법에 대한 자세한 내용은 다음을 참조하세요.
웹훅 응답 코드
다음은 웹훅 응답 코드와 시스템에서 해석되는 방식을 요약한 것입니다.
| 응답 코드 | 설명 |
|---|---|
2xx |
성공 |
5xx |
요청 실패 시스템은 5분 간격으로 최대 3번 요청을 재시도합니다. 참고: 웹훅 요청의 읽기 및 연결 제한 시간은 각각 3초이므로 요청이 실패할 수 있습니다. |
Other response |
요청 실패 시스템은 요청을 재시도하지 않습니다. |