- Introduction to KooGallery
-
Seller Guide
- Registration
- Joint Operations Certification and Product Access
-
Delivery Methods
- Product Release Description
- Delivery Methods
- Image Release Guide
- Releasing Professional Services
- SaaS Release Guide
- Releasing Consulting Services
- License Release Guide
- Releasing Multi-SKU Product Specifications
- Seller Management
- Product Management
- Service Supervision
- Transaction Management
- Settlement Management
- Bill Management
- Issuing Invoices to Huawei Cloud
-
FAQs
- What Enterprise Certificates Are Needed for the Registration?
- Can I Use the Same Account to Apply for Seller Registration Again After I Exit KooGallery?
- How Do I Become a KooGallery Partner?
- How Long Does It Take to Review the Registration Application?
- How Do I Release Products on KooGallery?
- How Long Does It Take to Review a Product Release Application?
- How Do I Remove a Product from the Catalog?
- When Can I Receive the Payment After a Bill Is Generated?
- When Can I Issue an Invoice for an Order?
- Is the Product Technical Support Provided by Sellers or Huawei Cloud?
- How Long Is the Validity Period of Products on KooGallery?
- How Do I Initiate an Appeal During Service Supervision?
- Can an Individual User Become a Seller on KooGallery?
- What Benefits Can I Obtain After Registering with KooGallery?
- Do I Need to Pay Deposit If I Register with KooGallery?
- How Do I Change the Company Name?
- Why Is No Bill Generated for an Order? What Are the Prerequisites for Bill Run?
- How Do I View the Sharing Ratio of a Product?
- How Do I Release a Trial SaaS Specification?
- Why Can't I Select an Image as an Image Asset?
- Reseller Guide
-
User Guide
- Support You May Need
- Huawei Cloud KooGallery Terms
- Product Purchase
- Product Use
- Service Supervision
- After-Sales Support
- Renewal Management
- Product Unsubscription
- Invoice Management
- Agencies
-
FAQs
- What Is Huawei Cloud KooGallery?
- What Software and Services Are Provided on KooGallery?
- How Do I Purchase Cloud Applications on KooGallery?
- Why Can't I Use the Pay-per-Use or Yearly/Monthly Billing Mode for Certain Products?
- How Do I View Purchased Applications?
- How Do I Request Invoices After Purchasing Products from KooGallery?
- What Do I Do If I Encounter a Problem When Using a Product?
- How Do I Renew Purchased Applications?
- What Do I Do If No Applications or Services Meet My Requirements?
- How Do I Contact a Seller?
- What Do I Do If I Cannot Contact a Seller?
- Does Huawei Cloud Support Login Through Third-Party Website?
- Common Problems About Yearly/Monthly Images
- Common Problems About Pay-per-Use Images
- How Do I Initiate an Appeal During Service Supervision?
-
Access Guide
- SaaS Access Guide V2.0 (New Products)
- SaaS Access Guide V1.0 (Existing Products)
- Automatic Deployment and Access Guide
- General Reference
Show all
Copied.
HTTP Body Signature
Definition
Each time KooGallery calls your interface, KooGallery generates a signature for the request based on certain rules and adds the signature to the URL as a URL parameter. After receiving the request, you need to recalculate the signature for the request body based on the same rules, compare the signature with the signature transferred by KooGallery. If they are the same, the verification succeeds. The following table lists the parameters transferred.
Parameter |
Value |
Description |
---|---|---|
signature |
String |
Encrypted signature, which is generated by signing a request based on certain rules. |
timestamp |
Long |
UNIX timestamp, in seconds. The difference between the timestamp and the current time must not exceed 60 seconds. |
nonce |
String |
Randomly generated by KooGallery each time an interface is called. You can cache it to defend against replay attacks. |
Generation Rules
- Sort request parameters by name (from Z to A). For example, a parameter whose name starts with a is placed after a parameter whose name starts with b.
- Obtain the standard request character string.
canonicalRequest = accessKey + nonce + timestamp + Lowercase(HexEncode(HMAC_SHA256 (RequestPayload)))
- Obtain the signature value for the key.
signature = HexEncode(HMAC_SHA256(canonicalRequest))
Example
The following is an example of the request received by you:
curl -X POST -H 'Content-Type: application/json' 'https://www.isvwebsite.com/saasproduce?signature=af71c5a7ef45310b8dc05ab15f7da50189ffa81a95cc284379ebaa5eb61155c0×tamp=1666677988730&nonce=RLLUammMSInlrNWb' --data '{"activity":"newInstance","buyerInfo":{"customerId":"688055390f3049f283fe9f1aa90f1858","customerName":"CBC_marketplace_mwx616072_01","userId":"1e86066c22754361933f607df834e4fe","userName":"CBC_marketplace_mwx616072_01","mobilePhone":"18652996659","email":"mapengfei8@huawei.com"},"orderInfo":[{"businessId":"8a2c4e6f-405a-4f8d-8e24-f41090522646","orderId":"CS2210101920BWXLK","trialFlag":"0","orderAmount":12.78,"chargingMode":"PERIOD","periodType":"month","periodNumber":5,"provisionType":1,"productInfo":[{"skuCode":"a63ee5c9-4f86-11ed-9f95-fa163e8cb3b2","productId":"OFFI788963615933718528","linearValue":20}],"createTime":"20221024194509","expireTime":"20221224194509","extendParams":[{"name":"emailDomainName","value":"test.xxxx.com"},{"name":"extendParamName","value":"extendParamValue"}]}],"testFlag":"1"}'
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot