거래 기록 정책 구성

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

다음 섹션에 설명된 대로 API 제품 번들의 각 API 제품에 대한 거래 기록 정책을 구성합니다.

소개

거래 기록 정책을 사용하면 수익 창출을 통해 거래 매개변수를 캡처할 수 있습니다. 맞춤 속성도 지원합니다. 수익 창출에서 수익 창출 처리를 수행하려면 이 정보가 필요합니다. 요율표를 적용할 수 있습니다

예를 들어 수익 공유 요금제를 설정하면 수익을 창출하는 API 제품과 관련된 각 거래에서 발생한 수익이 공유됩니다. 요청을 발행하는 앱 개발자와 함께 일할 수 있습니다. 수익 공유는 순수익 또는 총수익을 거래 가격 (사용자가 직접 지정), 즉 총 가격 또는 순 가격의 일정 비율 수익 배분을 결정하는 데 사용됩니다. 따라서 수익 창출과 거래의 총 가격 또는 순 가격을 알 수 있습니다. 총 가격 또는 순 가격을 얻습니다. 녹음, 저장, 삭제가 가능합니다.

요율표를 설정하는 경우 개발자에게 각 거래에 대한 요금을 청구하는 경우 요금제의 요금을 설정할 수 있습니다. 트랜잭션에서 전송된 바이트 수와 같은 맞춤 속성을 기반으로 합니다. 수익 창출 담당자는 맞춤 속성이 무엇인지, 어디에서 찾을 수 있는지 알아야 합니다. 따라서 트랜잭션 기록 정책에서 맞춤 속성을 지정하세요.

트랜잭션 기록 정책에서 트랜잭션 속성을 지정하는 것 외에도 다음을 수행할 수 있습니다. 거래 성공 기준을 지정하여 거래가 성공한 시점 (즉, 충전)을 사용합니다. 거래 성공 기준 설정의 예는 거래 기록에서 거래 성공 기준 설정 예를 참조하세요. 정책을 참조하세요. 또한 API 제품에 대한 맞춤 속성을 지정하여 요금제 청구 금액).

트랜잭션 기록 정책 구성

아래 설명에 따라 제품 번들 페이지에 액세스합니다.

에지

Edge UI를 사용하여 API 제품 번들을 추가할 때 트랜잭션 기록 정책을 구성해야 합니다. 다음 단계를 따르세요.

  1. Transaction Recording Policy 섹션에서 구성할 API 제품을 선택합니다 (제품 번들에 API 제품이 여러 개 있는 경우).
  2. 거래 속성을 구성합니다.
  3. 맞춤 속성을 구성합니다.
  4. 고유한 트랜잭션 ID로 리소스를 연결합니다.
  5. 환불 구성
  6. API 제품 번들에 정의된 각 API 제품에 대해 위 작업을 반복합니다.

Classic Edge (Private Cloud)

기본 Edge UI를 사용하여 트랜잭션 기록 정책을 구성하려면 다음 안내를 따르세요.

  1. http://ms-ip:9000에 로그인합니다. 여기서 ms-ip는 관리 서버 노드의 IP 주소 또는 DNS 이름입니다.
  2. 게시 > 제품을 클릭합니다.
  3. 해당하는 API 행에서 + Transaction Recording Policy를 클릭합니다. 있습니다. 새 거래 기록 정책 창이 표시됩니다.
  4. 다음 단계를 수행하여 거래 기록 정책을 구성합니다. <ph type="x-smartling-placeholder">
  5. 저장을 클릭합니다.

트랜잭션 속성 구성

거래 속성 섹션에서 수익 창출 거래가 완료되었음을 나타내는 기준을 지정합니다.

  1. 거래 성공 기준 입력란에 상태 속성의 값에 따라 표현식을 지정합니다. (다음에 설명됨)을 사용합니다. 실패한 거래 (즉, 표현식의 기준을 충족하지 않음)은 기록되지만 요금제가 적용되지는 않습니다. 예를 들면 다음과 같습니다.

    txProviderStatus == 'OK'

  2. Status(상태) 속성에는 거래 성공 기준 입력란을 확인합니다. 다음 필드를 정의하여 Status 속성을 구성합니다.
    필드 설명
    API 리소스 수익 창출 거래를 식별하는 데 사용될 API 제품에 정의된 URI 패턴입니다.
    응답 위치 속성이 지정된 응답의 위치입니다. 유효한 값에는 Flow 변수, Header, JSON Body, XML Body가 있습니다.
    응답 값입니다. 값을 두 개 이상 지정하려면 + x 추가 (예: + 흐름 변수 추가)를 클릭합니다.
  3. 선택적 트랜잭션 속성을 구성하려면 Use Optional Attributes 전환 버튼을 사용 설정하고 다음 표에 정의된 거래 속성입니다.
    속성 설명
    총가격

    이 속성은 수익 공유 모델을 사용하는 요금제에만 적용됩니다. 이러한 요금제의 경우 총가격 또는 순가격을 반드시 입력해야 합니다. 숫자 값은 문자열 유형으로 표현됩니다. 거래의 총 가격입니다. 대상 총 가격 속성이나 순 가격을 기록해야 합니다. 속성의 값을 제공합니다. 필요한 속성은 수익 배분에 따라 다릅니다. 대상 예를 들어 발생합니다 이 경우 총 가격 입력란이 필요합니다.

    실제 등록금 납부액

    이 속성은 수익 공유 모델을 사용하는 요금제에만 적용됩니다. 이러한 요금제의 경우 총가격 또는 순가격을 반드시 입력해야 합니다. 숫자 값은 문자열 유형으로 표현됩니다. 거래의 순 가격입니다. 대상 수익 공유 계획인 경우 순 가격 필드나 총 가격을 기록해야 합니다. 필드를 확인합니다. 필수 입력란은 수익 공유에 따라 다릅니다. 예를 들어 거래의 순 가격을 기준으로 한 수익 공유 요금제를 설정할 수 있습니다. 이 경우 순 가격 입력란이 필요합니다.

    통화

    이 속성은 수익 공유 모델을 사용하는 요금제에 필요합니다. 거래에 적용되는 통화 유형입니다.

    오류 코드

    트랜잭션과 연결된 오류 코드입니다. 또한 실패한 거래에 대한 정보

    상품 설명

    거래에 관한 설명입니다.

    세금

    이 속성은 수익 공유 모델에만 세액이 API 호출에 캡처됩니다. 숫자 값이 표시되는지 확인합니다. 문자열 유형으로 제공됩니다. 구매에 부과되는 세액입니다. 순 가격과 세금을 더한 = 총 가격입니다.

예를 들어 다음 값을 설정하면 수익 창출은 response.reason.phrase라는 변수가 포함되어 있습니다. 값이 OK인 경우 수익 창출 한도 확인 정책이 API 프록시 ProxyEndpoint 요청에 연결되면 수익 창출은 이를 거래로 집계합니다.

필드
거래 성공 기준 txProviderStatus == 'OK'
상태: API 리소스 **
상태: 응답 위치 흐름 변수
상태: 흐름 변수 response.reason.phrase

커스텀 속성 구성

맞춤 속성 섹션에서는 트랜잭션 기록 정책 예를 들어 요율표 요금제를 설정하면 계획의 요율을 설정하는 데 트랜잭션에서 전송된 바이트 수와 같습니다. 그런 다음 맞춤 속성을 트랜잭션 기록 정책

이러한 각 속성은 쿼리할 수 있는 트랜잭션 로그에 저장됩니다. 또한 표시되는데, 여기에서 이러한 속성을 하나 이상 선택할 수 있습니다. 입니다.

거래 기록 정책에 정의된 맞춤 속성을 수익에 포함할 수 있습니다. 요약 보고서에 설명된 대로 맞춤 거래 포함 속성을 참조하세요.

맞춤 속성을 구성하려면 Use Custom Attributes 전환 버튼을 사용 설정하고 최대 10개의 맞춤 속성을 추가할 수 있습니다. 거래 기록 정책에 포함된 각 맞춤 속성에 대해 다음 정보를 지정해야 합니다

필드 설명
맞춤 속성 이름 맞춤 속성을 설명하는 이름을 입력합니다. 요금제가 맞춤 속성을 기반으로 하는 경우 이 이름이 요금제 세부정보에서 사용자에게 표시됩니다. 예를 들어 맞춤 속성이 기간을 캡처하는 경우 속성의 이름을 지정해야 합니다. 맞춤 속성의 실제 단위 (예: 시간, 분, 초)는 평가 단위 필드에 설정됩니다. 맞춤 속성 요금제를 만들 때 맞춤 속성 세부정보로 요금제 지정을 참고하세요.
API 리소스 트랜잭션에서 액세스된 API 리소스의 URI 서픽스 (기본 경로 뒤에 오는 URI 프래그먼트)를 하나 이상 선택합니다. 사용 가능한 리소스는 트랜잭션 속성과 동일합니다.
응답 위치 응답에서 속성이 지정된 위치를 선택합니다. 유효한 값에는 Flow 변수, Header, JSON Body, XML Body가 있습니다.
맞춤 속성의 값을 지정합니다. 지정하는 각 값은 필드, 매개변수, 또는 콘텐츠 요소를 사용할 수 있습니다. 값을 두 개 이상 지정하려면 + x 추가 (예: + 흐름 변수 추가)를 클릭합니다.

예를 들어 콘텐츠 길이라는 맞춤 속성을 구성하고 응답 위치로 헤더를 선택하는 경우 HTTP 콘텐츠 길이 필드에 콘텐츠 길이 값이 제공된 경우 Content-Length를 값으로 지정합니다.

일부 트랜잭션은 단순하며 하나의 리소스에 대한 API 호출을 포함합니다. 그러나 더 복잡해질 수 있습니다 예를 들어 인앱 구매를 위한 거래가 있다고 가정해 보겠습니다. 제품에는 다음과 같은 여러 건의 리소스 호출이 포함됩니다.

  • 선불 사용자가 제품을 구매하고 구매 자금을 할당('예약')합니다.
  • 선불 사용자의 계정에서 금액을 차감하는 Charge API에 대한 호출입니다.

전체 거래를 처리하려면 수익 창출에 첫 번째 리소스( 예약 API에 대한 호출 및 응답)을 두 번째 리소스 (예약 API에 대한 호출 및 응답)로 및 Charge API에서 가져옴). 이를 위해 이 API는 리소스를 고유한 거래 ID와 연결 섹션을 참조하세요.

맞춤 속성을 구성하려면 고유 거래 ID 사용 전환 버튼 및 링크를 사용 설정합니다. 발생합니다 각 트랜잭션에 대해 해당하는 리소스, 응답 위치, 속성 값을 서로 연결된 값이 거래입니다.

예를 들어 예약 API 호출과 청구 API 호출이 다음과 같이 연결되어 있다고 가정해 보겠습니다. Reserve API의 응답 헤더에 있는 session_id 필드는 Charge API의 reference_id 응답 헤더입니다. 이 경우 '고유한 거래 ID로 리소스 연결' 섹션에 다음과 같이 입력합니다.

리소스 응답 위치
reserve/{id}**

헤더

session_id
/charge/{id}**

헤더

reference_id

환불 구성

환불 섹션에서 판매자는 환불을 처리하는 방법을 살펴보겠습니다.

예를 들어 사용자가 수익 창출 API를 사용하는 모바일 앱입니다. 이 거래는 수익 계획 하지만 사용자가 제품에 만족하지 않아 반품하고 싶어 한다고 가정해 보겠습니다. 만약 환불을 수행하는 API 호출을 사용하여 제품이 환불되는 경우, 수익 창출은 수익 창출 조정이 필요한 경우 이것은 거래 기록 정책의 환불 섹션

환불을 구성하려면 Use refund Attributes 전환 버튼을 사용 설정하고 환불 세부정보를 정의합니다.

  1. 다음 필드를 정의하여 환불 기준을 정의합니다.
    필드 설명
    응답 위치 환불 거래의 리소스입니다. API 제품이 리소스가 여러 개 있는 경우 환불을 수행하는 리소스만 선택할 수 있습니다.
    환불 성공 기준 다음 값을 기반으로 하는 표현식입니다. 청구 목적으로 환불 거래가 완료된 시점을 확인하는 상태 속성(다음에 설명) 목적). 환불되지 않은 환불 거래, 즉 표현식)는 기록되지만 요금제가 적용되지는 않습니다. 예를 들면 다음과 같습니다.

    txProviderStatus == 'OK'

  2. 다음 필드를 정의하여 Status 속성을 구성합니다.
    필드 설명
    응답 위치 속성이 지정된 응답의 위치입니다. 유효한 값에는 Flow 변수, Header, JSON Body, XML Body가 있습니다.
    응답 값입니다. 값을 두 개 이상 지정하려면 + x 추가 (예: + 흐름 변수 추가)를 클릭합니다.
  3. 다음 필드를 정의하여 Parent ID 속성을 구성합니다.
    필드 설명
    응답 위치 속성이 지정된 응답의 위치입니다. 유효한 값에는 Flow 변수, Header, JSON Body, XML Body가 있습니다.
    환불이 처리된 거래의 ID입니다. 예를 들어 사용자가 제품을 구매한 다음 환불을 요청하면 상위 거래 ID는 구매 거래의 ID입니다. 값을 두 개 이상 지정하려면 + x 추가 (예: + 흐름 변수 추가)를 클릭합니다.
  4. 선택사항인 환불 속성을 구성하려면 Use Optional refund Attributes 전환 버튼을 사용 설정하고 속성입니다. 선택사항인 환불 속성은 트랜잭션 속성 구성

API를 사용하여 트랜잭션 기록 정책 관리

다음 섹션에서는 API를 사용하여 트랜잭션 기록 정책을 관리하는 방법을 설명합니다.

API를 사용하여 트랜잭션 기록 정책 만들기

거래 기록 정책을 API 제품의 속성으로 지정합니다. 이 속성의 특징은 다음과 같습니다.

  • 트랜잭션 기록 정책이 적용되는 제품 리소스의 URI 서픽스입니다. 첨부되어 있습니다. 접미사에는 중괄호로 묶인 패턴 변수가 포함되어 있습니다. 패턴 변수는 런타임에 API 서비스에 의해 평가됩니다. 예를 들어 다음 URI 서픽스는 패턴 변수 {id}를 포함합니다.
    /reserve/{id}**
    

    이 경우 API 서비스는 리소스의 URI 서픽스를 /reserve: API에서 정의한 ID로 시작하는 모든 하위 디렉터리가 뒤에 옴 제공업체

  • 연결된 응답의 리소스입니다. API 제품에는 여러 개의 각 리소스의 응답에 연결된 트랜잭션 기록 정책을 해당 리소스에 적용됩니다
  • 거래 기록 정책에서 콘텐츠를 추출할 수 있도록 하는 추출 변수 정책입니다. 응답 메시지에서 캡처하려는 트랜잭션 매개변수에 대한 응답 메시지를 생성합니다.
를 통해 개인정보처리방침을 정의할 수 있습니다.

PUT 요청을 실행하여 API 제품에 거래 기록 정책 속성을 추가합니다. 관리 API에 https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id} 수익 창출 API가 아니라

API를 사용하여 거래 성공 기준 지정

거래 성공 시점을 결정하기 위한 거래 성공 기준을 지정할 수 있습니다. (충전용). 성공하지 못한 거래 (즉, 기준을 충족함) )은 기록되지만 요금제가 적용되지는 않습니다. 설정 예시 거래 성공 기준에 대한 자세한 내용은 거래 기록 정책에서 거래 성공 기준을 설정하는 예

거래 성공 기준은 API 제품의 속성으로 지정합니다. 수행 기준 관리 API에 PUT 요청 실행 https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id} 수익 창출 API가 아니라

예를 들어 다음 요청에서 txProviderStatussuccess (거래 성공 기준과 관련된 강조표시됩니다.)

$ curl -H "Content-Type: application/json" -X PUT -d \ 
'{
        "apiResources": [
        "/reserve/{id}**"       
        ],
        "approvalType": "auto",
        "attributes": [                         
        {
                "name": "MINT_TRANSACTION_SUCCESS_CRITERIA",
                "value": "txProviderStatus == 'OK'"
        }
        ],
        "description": "Payment",
        "displayName": "Payment",
        "environments": [
        "dev"
        ],
        "name": "payment",
        "proxies": [],
        "scopes": [
        ""
        ]
}' \
"https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \
-u email:password

API를 사용하여 커스텀 속성 지정

요금제 청구 기준으로 삼는 API 제품에 대한 맞춤 속성을 지정할 수 있습니다. 대상 예를 들어 각 거래에 대해 개발자에게 청구하는 요율표 요금제를 설정하는 경우 전송된 바이트 수와 같은 커스텀 속성을 기반으로 요금제 요율을 설정할 수 있습니다. 발생하게 됩니다 요금제를 만들 때 요율표에 하나 이상의 맞춤 속성을 정합니다. 하지만 요금제의 특정 제품은 요금제 요율의 기준으로 사용할 맞춤 속성 1개

커스텀 속성은 API 제품의 속성으로 지정합니다. PUT 명령어를 실행하여 관리 API에 보내는 요청 https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id} 수익 창출 API가 아니라

API 제품에 추가하는 각 맞춤 속성에 대해 이름과 속성 값입니다. 이름은 MINT_CUSTOM_ATTRIBUTE_{num} 형식이어야 합니다. 각 항목의 의미는 다음과 같습니다. {num}는 정수입니다.

예를 들어 다음 요청은 세 개의 커스텀 속성을 지정합니다.

$ curl -H "Content-Type: application/json" -X PUT -d \
'{
        "apiResources": [
        "/reserve/{id}**",
        "/charge/{id}**"
        ],
        "approvalType": "auto",
        "attributes": [
        {
                "name": "MINT_CUSTOM_ATTRIBUTE_1",
                "value": "test1"
        },
        {
                "name": "MINT_CUSTOM_ATTRIBUTE_2",
                "value": "test2"
        }
 
        ],
        "name": "payment",
        "proxies": [],
        "scopes": [
                ""
        ]
}' \
"https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \
-u email:password

트랜잭션에서 트랜잭션 성공 기준 설정의 예 녹화 정책

다음 표는 다음을 기준으로 성공 및 실패한 트랜잭션의 예를 보여줍니다. 트랜잭션 성공 기준 표현식과 반환된 txProviderStatus 값 API 프록시에서 확인할 수 있습니다 txProviderStatus는 수익 창출에 사용되는 내부 변수입니다. 트랜잭션 성공 여부를 결정합니다

<ph type="x-smartling-placeholder">
성공 기준 표현식 유효한 표현식입니까? API 프록시의 txProviderStatus 값 평가 결과
null true "200" false
"" false "200" false
" " false "200" false
"sdfsdfsdf" false "200" false
"txProviderStatus =='100'" true "200" false
"txProviderStatus =='200'" true "200" true
"true" true "200" true
"txProviderStatus=='OK' OR
txProviderStatus=='Not Found' OR
txProviderStatus=='Bad Request'"
true "OK" true
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" true "OK" true
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" true "Not Found" true
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" true "Bad Request" true
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" true "Bad Request" true
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" true null false
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" true "bad request" true
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" true "Redirect" false
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" true "heeeelllooo" false
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" true null false
"txProviderStatus == 100" true "200" 거짓