{"templateId":"markdown","versions":[{"version":"opendelivery","label":"Open Delivery API","link":"/apis/opendelivery/docs/apirequest","default":true,"active":false,"folderId":"58c9a61d"},{"version":"standard","label":"Standard Keeta API","link":"/apis/standard/docs/apirequest","default":false,"active":false,"folderId":"58c9a61d"},{"version":"grocery","label":"Grocery Keeta API","link":"/apis/grocery/docs/apirequest","default":false,"active":true,"folderId":"58c9a61d"}],"sharedDataIds":{"sidebar":"sidebar-apis/@grocery/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"API Request Protocol","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"api-request-protocol","__idx":0},"children":["API Request Protocol"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"1-request-protocol","__idx":1},"children":["1. Request Protocol"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All API interactions must utilize ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTPS"]}," with strict adherence to the following technical standards:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Content Handling"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Content-Type"]},": application/json (mandatory for all requests)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Character Encoding"]},": UTF-8 exclusively"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Parameter Transmission"]},": All parameters must be passed through the request body in JSON format"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Common Request Parameters (Body Content)"]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Every API request must include these four essential parameters within the JSON body:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameters"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Parameters"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Type"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Description"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["appId"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["long"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Unique application identifier assigned by the Keeta platform to your service provider integration. This value remains constant across all API calls from your application."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["accessToken"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Authorization token granted through merchant OAuth 2.0 authentication. Tokens have a 90-day validity period and must be refreshed via the POST {{URL}}/api/open/base/oauth/token endpoint upon expiration."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["timestamp"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["int"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Unix timestamp in seconds representing the exact moment of API invocation."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["sig"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Cryptographic signature generated by applying the HMAC-SHA256 algorithm to the concatenated request parameters. Detailed signature calculation methodology is documented in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/apis/grocery/docs/author"},"children":["Authorization Guide"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"2-response-parameter","__idx":2},"children":["2. Response Parameter"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP Status Code"]},": 200 (All responses return 200 for successful receipt, with actual status in code field)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Content-Type"]},": application/json (mandatory for all requests)"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field Name"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Field Name"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Type"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Description"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["code"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["int"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A numeric status identifier indicating the result of the interface call, used to determine whether the operation executed successfully. ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A code value of 0"]}," indicates that ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["the request was executed successfully"]},". ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Any non-zero code value"]}," indicates that ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["request execution failed"]},". Specific error details can be viewed in the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["message"]}," field."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["message"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Text description corresponding to the status code, explaining the operation result or error cause to users."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["data"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["object/array"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Primary carrier of business data returned upon successful API execution. Contains specific content requested by developers."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["errorList"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["array"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Validation error specifics. For details, please Refer to API reference section."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"response-examples","__idx":3},"children":["Response Examples"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"// Success Response\n{\n  \"code\": 0,\n  \"message\": \"success\",\n  \"data\": {}\n}\n\n// Failure Response  \n{\n  \"code\": 115000110,\n  \"message\": \"The sig calculation error, please refer to the signature calculation instructions for checking.\",\n  \"data\": {}\n}\n\n// Partial Failure Response\n{\n  \"code\": 0,\n  \"message\": \"Partial Failure\", \n  \"data\": [],\n  \"errorList\": []\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"3-error-code-classification--resolution","__idx":4},"children":["3. Error Code Classification & Resolution"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Error Code Range"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Error Code Range"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Error Type"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Error Type"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Resolution Steps"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Resolution Steps"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["115000100～115000199"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Request Signature Errors"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1. Verify signature algorithm compliance with ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/apis/grocery/docs/author"},"children":["Authorization Guide"]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"2. Check Access Token validity and expiration status",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"3. Validate parameter sorting and concatenation logic"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["115000200～115000399"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Business Parameter Errors"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1. Cross-check parameter names and types in request body",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"2. Validate value ranges (timestamp formats, ID validity)",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"3. Verify mandatory field presence",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"4. Consult endpoint-specific field definitions"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["315000100～315000199"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Keeta Server Exceptions"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Please contact Keeta Team for trouble-shooting"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"4-ip-whitelist-configuration","__idx":5},"children":["4. IP Whitelist Configuration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To ensure reliable receipt of Keeta Webhook notifications, whitelist these IP ranges:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["43.135.86.188"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["43.135.94.192"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["101.32.221.146"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["43.128.27.185"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["101.32.216.180"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["119.28.140.253"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["162.62.123.227"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["162.62.219.133"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["162.62.55.69"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["162.62.61.26"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["43.131.16.79"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["43.131.30.39"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["43.131.52.67"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["43.131.55.51"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["43.157.1.126"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["43.157.104.104"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["43.157.33.44"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["43.157.64.52"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["43.158.90.31"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["43.158.90.65"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["49.51.164.88"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["49.51.172.32"]}]}]},"headings":[{"value":"API Request Protocol","id":"api-request-protocol","depth":1},{"value":"1. Request Protocol","id":"1-request-protocol","depth":2},{"value":"2. Response Parameter","id":"2-response-parameter","depth":2},{"value":"Response Examples","id":"response-examples","depth":4},{"value":"3. Error Code Classification & Resolution","id":"3-error-code-classification--resolution","depth":2},{"value":"4. IP Whitelist Configuration","id":"4-ip-whitelist-configuration","depth":2}],"frontmatter":{"seo":{"title":"API Request Protocol"}},"lastModified":"2026-07-15T11:32:09.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/apis/grocery/docs/apirequest","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}