webMethods API Gateway 단독으로 Subscription 기능 사용 (10.7)
>> APIGatewayMonetizationSwagger.json (10.11)
>> APIGatewayApplication.json (10.7) 활용
- Package - Plan 은 Gateway 화면에서 미리 생성해 두고 테스트
- Plan id 관련 API
{{Gateway:Port}}/rest/apigateway/plans -> 전체 Plan 확인
{{Gateway:Port}}/rest/apigateway/plans/{planId} -> 특정 id 값 plan 디테일 정보
- Package id 관련 API
{{Gateway:Port}}/rest/apigateway/packages/ -> 전체 Package 확인
{{Gateway:Port}}/rest/apigateway/packages/{packageId} -> 특정 id 값 Pakcage 디테일 정보
- Subscription Application 생성 [POST] /rest/apigateway/subscriptions

Request Body (JSON)
{"applicationName": "String","packageId": "생성한 Gateway의 Package Id 값 입력","planId": "생성한 Gateway의 Plan Id 값 입력","requesterId": "??????","applicationDescription": "String","otherRequesterDetails": {},"redirectURIs": ["xxxxx"],"requesterComment": "laborum commodo dolore deserunt","requesterEmail": "nisi ul","requesterFirstName": "est sed ut nulla","requesterLastName": "mollit ipsum eiusmod","requesterName": "aliquip irure nulla Duis anim"}
Response

Response 받은 Package Id 값 활용하여 Applicatioin Id 값 찾기
"packageId": "f368a77f-cca2-424e-82d0-4e3e2356859d"
** 위에서 생성된 Application은 AppName이 Blank 처리되어 들어갈 수 없으나 ElasticSearch에서 확인이 가능
** Package Id , Plan Id 만 정확히 입력하면 나머지는 자동 생성
- Subscription 인덱스에서 Application Id 값 Search
- [GET] {GatewayIP}:9240/gateway_default_subscriptions-000001/_search?q=packageId:{Package Id}

"appIds": ["cb27569d-22be-4642-b8f0-9c1b8debf5c2"],
app Id 값 활용하여 Blank 처리된 Application update
- 화면에서 확인 , 수정을 위한 Application Name Update
- [PUT] /rest/apigateway/applications/:applicationId

-> Response 로 받은 apiAccessKey 활용하여 호출
Request Header > X-Gateway-APIKey : "apiAccessKey"
{"name": "PSTM_UPDATE_APP_4","description": "","contactEmails": [],"identifiers": [],"siteURLs": [],"jsOrigins": [],"authStrategyIds": ["2c6b8f8b-fabf-4b46-af3a-64604ae4e6d3"],"version": "1.0","id": "cb27569d-22be-4642-b8f0-9c1b8debf5c2","created": "2022-02-08 01:35:27 GMT","lastupdated": "2022-02-08 01:36:01 GMT","owner": "","consumingAPIs": [],"teams": [],"accessTokens": {"apiAccessKey_credentials": {"apiAccessKey": "f3a5eeea-a3f5-4f66-bc6d-748881c2b1b7","expirationInterval": null,"expirationDate": null,"expired": false}}}