웹후크
웹후크는 구성이 저장될 때마다 POST 요청을 받을 수 있는 엔드포인트입니다.
CPQ 는 구성이 저장될 때 POST 요청을 수신할 수 있는 엔드포인트인 웹후크를 지원합니다. 웹후크가 구성되면 모든 구성 저장 작업에서 호출됩니다.
웹후크를 활성화하려면 지원팀에 케이스를 기록하십시오. 환경당 CPQ 하나의 웹후크만 생성할 수 있습니다.
웹후크 사용 사례
웹후크를 사용하여 다른 다운스트림 시스템에 데이터를 CPQ 통합할 수 있습니다. 사용 사례는 다음과 같습니다.
- 직접 URL을 통해 네이티브 UI를 CPQ 표시하고 웹후크를 통해 구성 결과를 타사 대상으로 보냅니다. 참조:
- 구성 데이터를 견적 또는 주문 관리 시스템으로 직접 전송
- 데이터를 조작하고 다운스트림 시스템에 전달할 수 있는 미들웨어로 구성 결과 푸시
웹후크 설정
- 웹후크가 활성화되면 관리자 화면의 CPQ 유틸리티 메뉴에서 찾을 수 있습니다.
- 요약: 웹후크 구성은 외부 연결과 유사합니다. 이름, 설명 및 통합 유형을 모두 정의할 수 있습니다.
- 인증: 웹후크는 인증 없음(없음)과 전달자 토큰 인증(전달자 토큰)을 모두 지원합니다.
- 웹후크 상세 정보: 웹후크의 추가 상세 정보를 지정하여 동작을 제어할 수도 있습니다.
웹후크 상세 정보
- URL: 구성 저장 시 Logik에서 데이터를 수신할 엔드포인트입니다. HTTP POST 요청을 수신할 수 있어야 합니다.
- 비동기: 사용하도록 설정하면 구성이 완료될 때 최종 사용자가 즉시 리디렉션되고 종료하기 전에 서버의 응답을 기다리지 않습니다. 저장 프로세스는 비동기식입니다.
비활성화하면 사용자가 리디렉션되기 전에 웹후크 프로세스가 해결됩니다. 저장 프로세스는 동기식입니다.
- 콘텐츠: 엔드포인트로 보내야 하는 CPQ 데이터입니다.
- 구성 데이터: 관리자가 생성한 모든 구성 필드와 해당 입력 값
- BOM 및 시스템 필드: 모든 시스템 구성 필드 및 해당 값; BOM(바로 아래의 BOM 유형 입력에 지정됨)
- BOM 유형: 요청에서 보낼 BOM 유형입니다.
- 시간 제한: 시간 제한 값(밀리초)
- 추가 헤더: 요청과 함께 보내야 하는 추가 헤더로, 따옴표로 묶인 키 값 쌍으로 입력됩니다. 예: "X-header1": "value1"
웹후크 본문 예
웹후크가 외부 자원으로 보내는 본문은 다음과 같습니다. 이 예시에서는 제품의 선택기와 환경의 기본 제공 시스템 필드를 다룹니다.
{
"uuid": "8014a955-49c4-4d63-a15a-8c91cef6f6f4",
"fields": [
{
"userEdited": false,
"dataType": "array",
"visibilityState": "visible",
"editable": "true",
"variableName": "pp",
"uniqueName": "pp",
"value": ["alpha"],
"optionSet": {
"selectedOptions": [
{
"label": "alpha",
"state": "visible",
"value": "alpha",
"imageUrl": null,
"orderNumber": 10
}
],
"options": [
{
"label": "alpha",
"state": "visible",
"value": "alpha",
"imageUrl": null,
"orderNumber": 10
},
{
"label": "beta",
"state": "visible",
"value": "beta",
"imageUrl": null,
"orderNumber": null
}
]
},
"rows": {
"content": [
{
"index": 0,
"fields": [
{
"userEdited": false,
"dataType": "text",
"visibilityState": "visible",
"editable": "false",
"variableName": "pp.value",
"uniqueName": "pp-0-pp.value",
"value": "alpha",
"set": "pp",
"index": 0
},
{
"userEdited": true,
"dataType": "boolean",
"visibilityState": "visible",
"editable": "true",
"variableName": "pp.select",
"uniqueName": "pp-0-pp.select",
"value": true,
"optionSet": {
"options": [
{
"label": "true",
"state": "visible",
"value": "true",
"imageUrl": null,
"orderNumber": null
},
{
"label": "false",
"state": "visible",
"value": "false",
"imageUrl": null,
"orderNumber": null
}
]
},
"set": "pp",
"index": 0
},
{
"userEdited": false,
"dataType": "number",
"visibilityState": "visible",
"editable": "true",
"variableName": "pp.quantity",
"uniqueName": "pp-0-pp.quantity",
"value": 1,
"set": "pp",
"index": 0
},
{
"userEdited": false,
"dataType": "text",
"visibilityState": "visible",
"editable": "true",
"variableName": "pp.data",
"uniqueName": "pp-0-pp.data",
"value": "",
"set": "pp",
"index": 0
}
],
"label": "alpha",
"state": "visible",
"value": "alpha",
"imageUrl": null,
"orderNumber": 10,
"productDetails": {}
},
{
"index": 1,
"fields": [
{
"userEdited": false,
"dataType": "text",
"visibilityState": "visible",
"editable": "false",
"variableName": "pp.value",
"uniqueName": "pp-1-pp.value",
"value": "beta",
"set": "pp",
"index": 1
},
{
"userEdited": false,
"dataType": "boolean",
"visibilityState": "visible",
"editable": "true",
"variableName": "pp.select",
"uniqueName": "pp-1-pp.select",
"value": false,
"optionSet": {
"options": [
{
"label": "true",
"state": "visible",
"value": "true",
"imageUrl": null,
"orderNumber": null
},
{
"label": "false",
"state": "visible",
"value": "false",
"imageUrl": null,
"orderNumber": null
}
]
},
"set": "pp",
"index": 1
},
{
"userEdited": false,
"dataType": "number",
"visibilityState": "visible",
"editable": "true",
"variableName": "pp.quantity",
"uniqueName": "pp-1-pp.quantity",
"value": 0,
"set": "pp",
"index": 1
},
{
"userEdited": false,
"dataType": "text",
"visibilityState": "visible",
"editable": "true",
"variableName": "pp.data",
"uniqueName": "pp-1-pp.data",
"value": "",
"set": "pp",
"index": 1
}
],
"label": "beta",
"state": "visible",
"value": "beta",
"imageUrl": null,
"orderNumber": null,
"productDetails": {}
}
],
"pageable": "INSTANCE",
"last": true,
"totalPages": 1,
"totalElements": 2,
"size": 2,
"number": 0,
"sort": { "empty": true, "sorted": false, "unsorted": true },
"numberOfElements": 2,
"first": true,
"empty": false
}
},
{
"userEdited": false,
"dataType": "text",
"visibilityState": "visible",
"editable": "true",
"variableName": "sys.productCode",
"uniqueName": "sys.productCode",
"value": "CC-LGK"
},
{
"userEdited": false,
"dataType": "text",
"visibilityState": "visible",
"editable": "true",
"variableName": "partner.quote.pricebookId",
"uniqueName": "partner.quote.pricebookId",
"value": ""
},
{
"userEdited": false,
"dataType": "text",
"visibilityState": "visible",
"editable": "true",
"variableName": "partner.quote.currencyIsoCode",
"uniqueName": "partner.quote.currencyIsoCode",
"value": "USD"
},
{
"userEdited": false,
"dataType": "text",
"visibilityState": "visible",
"editable": "true",
"variableName": "sys.productFamily",
"uniqueName": "sys.productFamily",
"value": ""
},
{
"userEdited": false,
"dataType": "text",
"visibilityState": "visible",
"editable": "true",
"variableName": "sys.productDescription",
"uniqueName": "sys.productDescription",
"value": ""
},
{
"userEdited": false,
"dataType": "text",
"visibilityState": "visible",
"editable": "true",
"variableName": "partner.quote.id",
"uniqueName": "partner.quote.id",
"value": ""
},
{
"userEdited": false,
"dataType": "text",
"visibilityState": "visible",
"editable": "true",
"variableName": "sys.productUOM",
"uniqueName": "sys.productUOM",
"value": ""
},
{
"userEdited": false,
"dataType": "number",
"visibilityState": "visible",
"editable": "true",
"variableName": "sys.productPrice",
"uniqueName": "sys.productPrice",
"value": 0
},
{
"userEdited": false,
"dataType": "text",
"visibilityState": "visible",
"editable": "true",
"variableName": "sys.productName",
"uniqueName": "sys.productName",
"value": "CheckConfig"
},
{
"userEdited": false,
"dataType": "text",
"visibilityState": "visible",
"editable": "true",
"variableName": "partner.quote.lineId",
"uniqueName": "partner.quote.lineId",
"value": ""
},
{
"userEdited": false,
"dataType": "number",
"visibilityState": "visible",
"editable": "false",
"variableName": "pp.aggregates.quantity_sum",
"uniqueName": "pp.aggregates.quantity_sum",
"value": 1
},
{
"userEdited": false,
"dataType": "text",
"visibilityState": "visible",
"editable": "true",
"variableName": "sys.productId",
"uniqueName": "sys.productId",
"value": "CC-LGK"
},
{
"userEdited": false,
"dataType": "text",
"visibilityState": "visible",
"editable": "true",
"variableName": "sys.actionContext",
"uniqueName": "sys.actionContext",
"value": ""
},
{
"userEdited": false,
"dataType": "text",
"visibilityState": "visible",
"editable": "true",
"variableName": "sys.currentDate",
"uniqueName": "sys.currentDate",
"value": "2023-08-04"
}
],
"products": [
{
"id": "alpha",
"quantity": 1,
"bomType": "SALES",
"type": "accessory",
"extended": { "data": "" },
"pricing": {
"productSellingModelId": "OneTime_OneTime_2023_07_05",
"endDate": null,
"startDate": null,
"ProductId": "01tHr000007i4B5IAI",
"StartingUnitPriceSource": "System",
"ListPrice": 99.99,
"TotalLineAmount": 99.99,
"ListPriceTotal": 99.99,
"StartingPriceTotal": 99.99,
"Quantity": 1.0,
"PricingTermCount": 1,
"NetUnitPrice": 99.99,
"StartingUnitPrice": 99.99,
"PricebookEntryId": "01uHr00000FYKDUIA5",
"TotalAdjustmentDistAmount": 0,
"TotalAdjustmentAmount": 0,
"TotalPrice": 99.99,
"SalesItemType": "Product"
},
"name": "alpha",
"partnerId": "01tHr000007i4B5IAI",
"productCode": "alpha",
"externalId": "",
"productFamily": "",
"description": "",
"uom": "",
"price": 99.99,
"extPrice": 99.99,
"level": 0,
"rollUpPrice": 99.99
}
],
"total": 99.99
}