{"items":[{"type":"link","label":"Keeta Basic API Reference","link":"/apis/standard/basic","routeSlug":"/apis/standard/basic","content":{"contentType":"overview","meta":{"name":"Keeta Basic API Reference"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"basic.json","url":"/_bundle/apis/@standard/basic.json?download"},{"kind":"download","label":"basic.yaml","url":"/_bundle/apis/@standard/basic.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"email","title":"Keeta Developer Website","email":"https://developers.mykeeta.com/","label":"https://developers.mykeeta.com/","withCopyButton":true,"copyContent":"https://developers.mykeeta.com/"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"https://open.mykeeta.com/api/open"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Keeta Basic API Reference (v.1.0.0)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":"This API provides basic functionality for Keeta platform integration, including webhook configuration, authorization management, and OAuth token operations."}],"sectionId":"/apis/standard/basic"}],"sectionId":"/apis/standard/basic"}]}]}},{"type":"group","label":"Endpoints","link":"/apis/standard/basic/endpoints","routeSlug":"/apis/standard/basic/endpoints","items":[{"label":"Webhook URL Configuration","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/standard/basic/endpoints/configurewebhookurl","routeSlug":"/apis/standard/basic/endpoints/configurewebhookurl","metadata":{"seo":{"title":"Webhook URL Configuration","description":"This API enables developers to configure webhook URLs for receiving real-time notifications from the Keeta platform regarding orders, stores, menus, and other relevant business events."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"configureWebhookUrl","name":"Webhook URL Configuration","isWebhook":false,"pointer":"/paths/~1base~1callback~1url~1set/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Webhook URL Configuration","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This API enables developers to configure webhook URLs for receiving real-time notifications from the Keeta platform regarding orders, stores, menus, and other relevant business events.\n"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_144"}},"schemaId":"schema_144","pointer":"/paths/~1base~1callback~1url~1set/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/base/callback/url/set","servers":[{"url":"https://open.mykeeta.com/api/open"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_144"}},"responseCodes":["200"],"pointer":"/base/callback/url/set","href":"endpoints/configurewebhookurl","openApiOperationId":"configureWebhookUrl","summary":"Webhook URL Configuration"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://open.mykeeta.com/api/open"}],"schemaId":"schema_144","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_144"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Webhook URL configuration result.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_145"}},"schemaId":"schema_145"}],"pointer":"/paths/~1base~1callback~1url~1set/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_145","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_145"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/endpoints/configurewebhookurl"}],"panels":[]}]},"httpPath":"/base/callback/url/set"},{"label":"Get Merchant Authorization Information","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/standard/basic/endpoints/getauthorizedresources","routeSlug":"/apis/standard/basic/endpoints/getauthorizedresources","metadata":{"seo":{"title":"Get Merchant Authorization Information","description":"This API retrieves merchant information and authorized store lists based on the authentication token provided in the request, enabling developers to validate access permissions and obtain essential business context."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAuthorizedResources","name":"Get Merchant Authorization Information","isWebhook":false,"pointer":"/paths/~1base~1authorized~1resource~1get/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Merchant Authorization Information","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This API retrieves merchant information and authorized store lists based on the authentication token provided in the request, enabling developers to validate access permissions and obtain essential business context.\n"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_146"}},"schemaId":"schema_146","pointer":"/paths/~1base~1authorized~1resource~1get/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/base/authorized/resource/get","servers":[{"url":"https://open.mykeeta.com/api/open"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_146"}},"responseCodes":["200"],"pointer":"/base/authorized/resource/get","href":"endpoints/getauthorizedresources","openApiOperationId":"getAuthorizedResources","summary":"Get Merchant Authorization Information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://open.mykeeta.com/api/open"}],"schemaId":"schema_146","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_146"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful retrieval of authorized resources.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_147"}},"schemaId":"schema_147"}],"pointer":"/paths/~1base~1authorized~1resource~1get/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_147","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_147"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/endpoints/getauthorizedresources"}],"panels":[]}]},"httpPath":"/base/authorized/resource/get"},{"label":"OAuth Token Operations","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/standard/basic/endpoints/oauthtoken","routeSlug":"/apis/standard/basic/endpoints/oauthtoken","metadata":{"seo":{"title":"OAuth Token Operations","description":"This endpoint handles both access token acquisition and token refresh operations based on the grantType parameter."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"oauthToken","name":"OAuth Token Operations","isWebhook":false,"pointer":"/paths/~1base~1oauth~1token/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"OAuth Token Operations","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint handles both access token acquisition and token refresh operations based on the grantType parameter."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For Access Token Acquisition (grantType = \"authorization_code\"):"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint enables developers to acquire access token from Keeta."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For Token Refresh (grantType = \"refresh_token\"):"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint enables developers to refresh access token validity period from Keeta platform."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_148"}},"schemaId":"schema_148","pointer":"/paths/~1base~1oauth~1token/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/base/oauth/token","servers":[{"url":"https://open.mykeeta.com/api/open"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_148"}},"responseCodes":["200"],"pointer":"/base/oauth/token","href":"endpoints/oauthtoken","openApiOperationId":"oauthToken","summary":"OAuth Token Operations"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://open.mykeeta.com/api/open"}],"schemaId":"schema_148","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_148"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OAuth token operation result.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenResponse"}},"schemaId":"components/schemas/TokenResponse"}],"pointer":"/paths/~1base~1oauth~1token/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/TokenResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/endpoints/oauthtoken"}],"panels":[]}]},"httpPath":"/base/oauth/token"},{"label":"Batch Decrypt","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/standard/basic/endpoints/batchdecrypt","routeSlug":"/apis/standard/basic/endpoints/batchdecrypt","metadata":{"seo":{"title":"Batch Decrypt","description":"For merchant self-delivery or third-party logistics (3PL) orders, this endpoint can be called to decrypt the user's phone number and address.A maximum of 50 data items can be decrypted at once.The encrypted data generally uses ENC_ as a prefix."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"batchDecrypt","name":"Batch Decrypt","isWebhook":false,"pointer":"/paths/~1base~1batchDecrypt/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Batch Decrypt","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"merchant self-delivery or third-party logistics (3PL)"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" orders, this endpoint can be called to decrypt the user's phone number and address."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A maximum of "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"50"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" data items can be decrypted at once."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The encrypted data generally uses "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ENC_"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" as a prefix."},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The following data returned by the order details endpoints will be encrypted data (ciphertext data prefixed with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ENC_"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"):"},"children":[]}]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"recipientInfo.addressLocation"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"delirecipientInfovery.addressViewInfo"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"recipientInfo.houseNumber"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"recipientInfo.phone"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"recipientInfo.detailAddressStruct"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"recipientInfo.addressStruct"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_149"}},"schemaId":"schema_149","pointer":"/paths/~1base~1batchDecrypt/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/base/batchDecrypt","servers":[{"url":"https://open.mykeeta.com/api/open"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_149"}},"responseCodes":["200"],"pointer":"/base/batchDecrypt","href":"endpoints/batchdecrypt","openApiOperationId":"batchDecrypt","summary":"Batch Decrypt"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://open.mykeeta.com/api/open"}],"schemaId":"schema_149","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_149"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The decryption result corresponding to the ciphertext.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_150"}},"schemaId":"schema_150"}],"pointer":"/paths/~1base~1batchDecrypt/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_150","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_150"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/endpoints/batchdecrypt"}],"panels":[]}]},"httpPath":"/base/batchDecrypt"}],"content":{"contentType":"group","meta":{"name":"Endpoints"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Endpoints","showPageActions":true},{"nodeType":"markdoc","content":"API endpoints for Keeta platform integration"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/base/callback/url/set","summary":"Webhook URL Configuration","prefix":{"name":"post","color":"post"},"badges":[],"link":"/endpoints/configurewebhookurl","deprecated":false},{"title":"/base/authorized/resource/get","summary":"Get Merchant Authorization Information","prefix":{"name":"post","color":"post"},"badges":[],"link":"/endpoints/getauthorizedresources","deprecated":false},{"title":"/base/oauth/token","summary":"OAuth Token Operations","prefix":{"name":"post","color":"post"},"badges":[],"link":"/endpoints/oauthtoken","deprecated":false},{"title":"/base/batchDecrypt","summary":"Batch Decrypt","prefix":{"name":"post","color":"post"},"badges":[],"link":"/endpoints/batchdecrypt","deprecated":false}]}]}]}]}},{"type":"group","label":"Webhooks","link":"/apis/standard/basic/webhooks","routeSlug":"/apis/standard/basic/webhooks","items":[{"label":"OAuth2 Authorization Code Notification","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/standard/basic/webhooks/oauth2authorizationcodenotification","routeSlug":"/apis/standard/basic/webhooks/oauth2authorizationcodenotification","metadata":{"seo":{"title":"OAuth2 Authorization Code Notification","description":"This webhook is sent by Keeta to notify the vendor's system when a merchant completes the merchant self-authorization process. Upon receiving this notification, the developer should use the provided authorization code to obtain an access token."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"oauth2AuthorizationCodeNotification","name":"OAuth2 Authorization Code Notification","isWebhook":true,"pointer":"/paths/oauth2AuthorizationCodeNotification/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"OAuth2 Authorization Code Notification","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This webhook is sent by Keeta to notify the vendor's system when a merchant completes the merchant self-authorization process. Upon receiving this notification, the developer should use the provided authorization code to obtain an access token."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Event ID:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 1"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Important Notes:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The authorization code is single-use and must be exchanged for an access token within 10 minutes of receipt."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unix timestamp in milliseconds allows the developer's system to verify that the notification was received within a reasonable time window (e.g., within 10 minutes of the timestamp), helping to prevent replay attacks."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The signature must be verified to ensure the webhook message was sent from Keeta."},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_151"}},"schemaId":"schema_151","pointer":"/paths/oauth2AuthorizationCodeNotification/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"oauth2AuthorizationCodeNotification","servers":[{"url":"https://open.mykeeta.com/api/open"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_151"}},"responseCodes":["200"],"pointer":"oauth2AuthorizationCodeNotification","href":"webhooks/oauth2authorizationcodenotification","openApiOperationId":"oauth2AuthorizationCodeNotification","summary":"OAuth2 Authorization Code Notification"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"https://open.mykeeta.com/api/open"}],"schemaId":"schema_151","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_151"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request executed successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CommonResponse"}},"schemaId":"components/schemas/CommonResponse"}],"pointer":"/paths/oauth2AuthorizationCodeNotification/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/CommonResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CommonResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhooks/oauth2authorizationcodenotification"}],"panels":[]}]},"httpPath":"oauth2AuthorizationCodeNotification"},{"label":"Store Authorization Notification","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/standard/basic/webhooks/storeauthorizationnotification","routeSlug":"/apis/standard/basic/webhooks/storeauthorizationnotification","metadata":{"seo":{"title":"Store Authorization Notification","description":"This webhook is sent by Keeta to notify the vendor's system when a merchant grants authorization for a store. This event is triggered when a new store is added to the merchant's authorized store list. This event is triggered when a merchant adds one or more stores to an existing brand authorization. For example, when stores were not fully included during the initial authorization and are subsequently added."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"storeAuthorizationNotification","name":"Store Authorization Notification","isWebhook":true,"pointer":"/paths/storeAuthorizationNotification/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Store Authorization Notification","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This webhook is sent by Keeta to notify the vendor's system when a merchant grants authorization for a store. This event is triggered when a new store is added to the merchant's authorized store list. This event is triggered when a merchant adds one or more stores to an existing brand authorization. For example, when stores were not fully included during the initial authorization and are subsequently added."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Event ID:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 1301"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Notes:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Authorization in Keeta is managed at the brand level, and each brand has a single access token. Expanding the store scope does not affect the existing token."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_152"}},"schemaId":"schema_152","pointer":"/paths/storeAuthorizationNotification/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"storeAuthorizationNotification","servers":[{"url":"https://open.mykeeta.com/api/open"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_152"}},"responseCodes":["200"],"pointer":"storeAuthorizationNotification","href":"webhooks/storeauthorizationnotification","openApiOperationId":"storeAuthorizationNotification","summary":"Store Authorization Notification"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"https://open.mykeeta.com/api/open"}],"schemaId":"schema_152","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_152"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request executed successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CommonResponse"}},"schemaId":"components/schemas/CommonResponse"}],"pointer":"/paths/storeAuthorizationNotification/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/CommonResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CommonResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhooks/storeauthorizationnotification"}],"panels":[]}]},"httpPath":"storeAuthorizationNotification"},{"label":"Store Authorization Removal Notification","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/standard/basic/webhooks/storeauthorizationremovalnotification","routeSlug":"/apis/standard/basic/webhooks/storeauthorizationremovalnotification","metadata":{"seo":{"title":"Store Authorization Removal Notification","description":"This webhook is sent by Keeta to notify the vendor's system when a merchant reduces the authorized store scope for a brand. This event is triggered when one or more stores are removed from an existing brand authorization."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"storeAuthorizationRemovalNotification","name":"Store Authorization Removal Notification","isWebhook":true,"pointer":"/paths/storeAuthorizationRemovalNotification/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Store Authorization Removal Notification","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This webhook is sent by Keeta to notify the vendor's system when a merchant reduces the authorized store scope for a brand. This event is triggered when one or more stores are removed from an existing brand authorization."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Event ID:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 1302"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Authorization in Keeta is managed at the brand level, and each brand has a single access token. Reducing the store scope does not affect the existing token."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_153"}},"schemaId":"schema_153","pointer":"/paths/storeAuthorizationRemovalNotification/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"storeAuthorizationRemovalNotification","servers":[{"url":"https://open.mykeeta.com/api/open"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_153"}},"responseCodes":["200"],"pointer":"storeAuthorizationRemovalNotification","href":"webhooks/storeauthorizationremovalnotification","openApiOperationId":"storeAuthorizationRemovalNotification","summary":"Store Authorization Removal Notification"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"https://open.mykeeta.com/api/open"}],"schemaId":"schema_153","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_153"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request executed successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CommonResponse"}},"schemaId":"components/schemas/CommonResponse"}],"pointer":"/paths/storeAuthorizationRemovalNotification/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/CommonResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CommonResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhooks/storeauthorizationremovalnotification"}],"panels":[]}]},"httpPath":"storeAuthorizationRemovalNotification"},{"label":"Brand Authorization Removal Notification","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/apis/standard/basic/webhooks/brandauthorizationremovalnotification","routeSlug":"/apis/standard/basic/webhooks/brandauthorizationremovalnotification","metadata":{"seo":{"title":"Brand Authorization Removal Notification","description":"This webhook is sent by Keeta to notify the vendor's system when a merchant fully revokes authorization for a brand. This event is triggered only when the entire brand authorization is removed, meaning all stores under the brand are deauthorized simultaneously. Upon receiving this notification, the developer's system should treat the associated access token as invalid."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"brandAuthorizationRemovalNotification","name":"Brand Authorization Removal Notification","isWebhook":true,"pointer":"/paths/brandAuthorizationRemovalNotification/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Brand Authorization Removal Notification","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This webhook is sent by Keeta to notify the vendor's system when a merchant fully revokes authorization for a brand. This event is triggered only when the entire brand authorization is removed, meaning all stores under the brand are deauthorized simultaneously. Upon receiving this notification, the developer's system should treat the associated access token as invalid."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Event ID:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 1303"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_154"}},"schemaId":"schema_154","pointer":"/paths/brandAuthorizationRemovalNotification/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"brandAuthorizationRemovalNotification","servers":[{"url":"https://open.mykeeta.com/api/open"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_154"}},"responseCodes":["200"],"pointer":"brandAuthorizationRemovalNotification","href":"webhooks/brandauthorizationremovalnotification","openApiOperationId":"brandAuthorizationRemovalNotification","summary":"Brand Authorization Removal Notification"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"https://open.mykeeta.com/api/open"}],"schemaId":"schema_154","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_154"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request executed successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CommonResponse"}},"schemaId":"components/schemas/CommonResponse"}],"pointer":"/paths/brandAuthorizationRemovalNotification/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/CommonResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CommonResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhooks/brandauthorizationremovalnotification"}],"panels":[]}]},"httpPath":"brandAuthorizationRemovalNotification"}],"content":{"contentType":"group","meta":{"name":"Webhooks"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Webhooks","showPageActions":true},{"nodeType":"markdoc","content":"Webhook notifications sent by Keeta to third-party systems"}],"panels":[{"children":[{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"oauth2AuthorizationCodeNotification","summary":"OAuth2 Authorization Code Notification","prefix":{"name":"post","color":"post"},"badges":[],"link":"/webhooks/oauth2authorizationcodenotification","deprecated":false},{"title":"storeAuthorizationNotification","summary":"Store Authorization Notification","prefix":{"name":"post","color":"post"},"badges":[],"link":"/webhooks/storeauthorizationnotification","deprecated":false},{"title":"storeAuthorizationRemovalNotification","summary":"Store Authorization Removal Notification","prefix":{"name":"post","color":"post"},"badges":[],"link":"/webhooks/storeauthorizationremovalnotification","deprecated":false},{"title":"brandAuthorizationRemovalNotification","summary":"Brand Authorization Removal Notification","prefix":{"name":"post","color":"post"},"badges":[],"link":"/webhooks/brandauthorizationremovalnotification","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/CommonResponse":{"id":"components/schemas/CommonResponse","kind":"json-schema","title":"CommonResponse","data":{"type":"object","required":["code","message"],"properties":{"code":{"type":"integer","description":"A numeric status identifier indicating the result of the interface call, used to determine whether the operation executed successfully. \n","x-enumDescriptions":{"0":"The request was executed successfully.","Non-zero value":"The request execution failed. Specific error details can be viewed in the message field."},"example":0},"message":{"type":"string","description":"Text description corresponding to the status code, explaining the operation result or error cause to users.","example":"Success"}}}},"components/schemas/AuthorizedResourceResponse":{"id":"components/schemas/AuthorizedResourceResponse","kind":"json-schema","title":"AuthorizedResourceResponse","data":{"type":"object","properties":{"userId":{"type":"integer","format":"int64","example":"593890666","description":"Merchant Account ID"},"brandId":{"type":"integer","format":"int64","example":4323,"description":"Brand ID of the store"},"brandName":{"type":"string","example":"GUI JI","description":"Brand name of the store"},"authorizedShops":{"type":"array","description":"List of authorized stores","items":{"$ref":"#/components/schemas/AuthorizedShop"}},"page":{"allOf":[{"description":"Pagination information container"},{"$ref":"#/components/schemas/PageInfo"}]}}}},"components/schemas/AuthorizedShop":{"id":"components/schemas/AuthorizedShop","kind":"json-schema","title":"AuthorizedShop","data":{"type":"object","properties":{"id":{"type":"integer","format":"int64","example":593890,"description":"Unique identifier of the store"},"name":{"type":"string","example":"GUIJI","description":"Name of the store"},"address":{"type":"string","example":"Shop 266, 2nd Floor, Kwai Fong New Metropolis Plaza","description":"Physical address of the store"},"longitude":{"type":"string","example":"114.127006","description":"Geographic longitude coordinate of the store"},"latitude":{"type":"string","example":"22.357059","description":"Geographic latitude coordinate of the store"}}}},"components/schemas/PageInfo":{"id":"components/schemas/PageInfo","kind":"json-schema","title":"PageInfo","data":{"type":"object","description":"Pagination information container","properties":{"pageNum":{"type":"integer","example":1,"description":"Current page number (1-based index)"},"pageSize":{"type":"integer","example":10,"description":"Number of items displayed per page"},"totalPage":{"type":"integer","example":1,"description":"Total number of pages available"},"totalCount":{"type":"integer","example":1,"description":"Total number of items across all pages"}}}},"components/schemas/CipherText":{"id":"components/schemas/CipherText","kind":"json-schema","title":"CipherText","data":{"type":"object","description":"cipher text object","properties":{"cipherText":{"type":"string","example":"ENC_NzURv/tedeRcBhtxidwjwcxOoljZsmaOB72uNv3RDL4="}}}},"components/schemas/DecryptResponse":{"id":"components/schemas/DecryptResponse","kind":"json-schema","title":"DecryptResponse","data":{"type":"object","properties":{"plainInfos":{"type":"array","items":{"$ref":"#/components/schemas/DecryptPlainInfos"}}}}},"components/schemas/DecryptPlainInfos":{"id":"components/schemas/DecryptPlainInfos","kind":"json-schema","title":"DecryptPlainInfos","data":{"type":"object","properties":{"errorMsg":{"type":"string","example":"success"},"plainText":{"type":"string","example":"Rua xxxxx, 427, Tsiroanomandidy, Bongolava"},"errorCode":{"type":"integer","example":0},"cipherText":{"type":"string","example":"ENC_XSwD1JYiBb5x5g6/vOhTf+U+fHz57vdHU5KBVGX"}}}},"components/schemas/AccessTokenRequest":{"id":"components/schemas/AccessTokenRequest","kind":"json-schema","title":"AccessTokenRequest","data":{"type":"object","required":["appId","timestamp","sig","grantType","code"],"properties":{"appId":{"type":"integer","format":"int64","example":3340612437,"description":"Unique application ID assigned by Keeta"},"timestamp":{"type":"integer","example":1740151097,"description":"Unix timestamp (seconds since 1970-01-01)"},"sig":{"type":"string","example":"7713bf15971faf402341bd0a372af7af5d788c25a8b08d7f238314b43a46f768","description":"Result of the sig calculation"},"grantType":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This field represents the mode of the authorization code, and its value should be fixed as \"authorization_code\"."},"children":[]}]}]}],"enum":["authorization_code"],"example":"authorization_code"},"code":{"type":"string","example":"885000242","description":"Authorization code"}}}},"components/schemas/RefreshTokenRequest":{"id":"components/schemas/RefreshTokenRequest","kind":"json-schema","title":"RefreshTokenRequest","data":{"type":"object","required":["appId","timestamp","sig","grantType","refreshToken"],"properties":{"appId":{"type":"integer","format":"int64","example":9940612437,"description":"Unique application ID assigned by Keeta"},"timestamp":{"type":"integer","example":1740151097,"description":"Unix timestamp (seconds since 1970-01-01)"},"sig":{"type":"string","example":"7773bf15971faf402341bd0a372af7af5d788c25a8b08d7f238314b43a46f768","description":"Result of the sig calculation"},"grantType":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This field represents the mode of the authorization code, and its value should be fixed as \"refresh_token\"."},"children":[]}]}]}],"enum":["refresh_token"],"example":"refresh_token"},"refreshToken":{"type":"string","example":"011e258c2715400d9160e9a1820af3d9","description":"Refresh token obtained from previous token acquisition"}}}},"components/schemas/TokenResponse":{"id":"components/schemas/TokenResponse","kind":"json-schema","title":"TokenResponse","data":{"type":"object","properties":{"accessToken":{"type":"string","example":"911b56fbc7c14ef397261f5efd1d1b99","description":"The access token serves as the primary credential for authenticating API requests."},"tokenType":{"type":"string","description":"This field specifies the type of token issued, with the fixed value \"bearer\" indicating that the token is a bearer token.","example":"bearer"},"expiresIn":{"type":"integer","description":"The expiration period of the access token, measured in seconds. Tokens remain valid for precisely 90 days (7,776,000 seconds)","example":7776000},"refreshToken":{"type":"string","example":"q11bd86271e844cca7dbc139bb3f00f7","description":"A credential used to obtain new access tokens when the current token nears expiration. Each refresh token may only be used once and becomes invalid immediately after use. The system automatically issues a new refresh token with each access token refresh."},"scope":{"type":"string","description":"Defines the permissions granted to the token, corresponding to the scopes requested by the client application. The default value \"all\" grants complete access.","example":"all"},"issuedAtTime":{"type":"integer","format":"int64","example":1740151097721,"description":"The precise timestamp of token issuance represented as Unix epoch time in milliseconds."}}}},"schema_144":{"kind":"json-schema","data":{"type":"object","required":["eventId","url","isTest"],"properties":{"eventId":{"type":"integer","description":"Represents the message type code for push notifications","example":1001},"url":{"type":"string","description":"The webhook URL provided by developers where Keeta system will send notifications","example":"https://open.mykeeta.com/api/open/base/image/upload"},"isTest":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Indicates whether this request comes from a test store:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"0: Production store (non-test)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1: Test store (default value if not specified)"},"children":[]}]}]}]}]}],"example":1}}},"id":"schema_144"},"schema_145":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/CommonResponse"}]},"id":"schema_145"},"schema_146":{"kind":"json-schema","data":{"type":"object","required":["pageNum","pageSize","appId","accessToken"],"properties":{"pageNum":{"type":"integer","example":1,"description":"Pagination parameter: indicates the current page number (starting from 1)"},"pageSize":{"type":"integer","example":1,"description":"Pagination parameter: indicates the number of items per page"},"appId":{"type":"integer","example":834563,"description":"Unique application ID assigned by Keeta"},"accessToken":{"type":"string","example":"b989f155b3304da19a324021eb9e9aaa","description":"The primary credentia from Keeta For identify your identity"}}},"id":"schema_146"},"schema_147":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/CommonResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AuthorizedResourceResponse"}}}]},"id":"schema_147"},"schema_148":{"kind":"json-schema","data":{"oneOf":[{"$ref":"#/components/schemas/AccessTokenRequest"},{"$ref":"#/components/schemas/RefreshTokenRequest"}],"discriminator":{"propertyName":"grantType","mapping":{"authorization_code":"#/components/schemas/AccessTokenRequest","refresh_token":"#/components/schemas/RefreshTokenRequest"}}},"id":"schema_148"},"schema_149":{"kind":"json-schema","data":{"type":"object","required":["appId","cipherInfos"],"properties":{"appId":{"type":"integer","description":"appId","example":3585234},"shopId":{"type":"integer","description":"shopId","example":35465234},"cipherInfos":{"type":"array","description":"The ciphertext that needs to be decrypted","items":{"$ref":"#/components/schemas/CipherText"}}}},"id":"schema_149"},"schema_150":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/CommonResponse"},{"type":"object","properties":{"data":{"type":"object","$ref":"#/components/schemas/DecryptResponse"}}}]},"id":"schema_150"},"schema_151":{"kind":"json-schema","data":{"type":"object","required":["code","appId","timestamp","sig"],"properties":{"code":{"type":"string","example":"99bf245fb49d4c319d31f64ac983c654","description":"Authorization code, single-use. Used to obtain an access token. Must be exchanged for an access token within 10 minutes of receipt."},"state":{"type":"string","example":"","description":"An opaque value passed by the developer when initiating the authorization flow, returned unchanged."},"appId":{"type":"integer","format":"int64","example":1933049627,"description":"Unique application ID assigned by Keeta."},"timestamp":{"type":"integer","format":"int64","example":1747294159789,"description":"Unix timestamp in milliseconds. Keeta includes this field to allow the developer system to verify that the notification was received within a reasonable time window (e.g., within 10 minutes of the timestamp), helping to prevent replay attacks."},"sig":{"type":"string","example":"831b9c1741991f747042c75e3864b52c13ffbef68ea5f82a591643f57d24d610","description":"The signature is the identifier which indicates the webhook message was sent from Keeta, mainly for security check purposes."}}},"id":"schema_151"},"schema_152":{"kind":"json-schema","data":{"type":"object","required":["appId","shopId","shopName","authId","createTime","opType"],"properties":{"appId":{"type":"integer","format":"int64","example":3762772727,"description":"Unique application ID assigned by Keeta."},"shopId":{"type":"integer","format":"int64","example":145541,"description":"Unique identifier of the store that has been added to the authorization scope."},"shopName":{"type":"string","example":"Downtown Store","description":"Name of the shop, provided for identification purposes."},"authId":{"type":"string","example":"auth_20240324_001","description":"Authorization record ID, which can be used for batch store mappings. When a merchant authorizes multiple stores in a single operation, Keeta sends one notification per store. The authId is shared across all notifications from the same authorization batch, allowing the developer to identify which stores were authorized together."},"createTime":{"type":"integer","format":"int64","example":1711267200000,"description":"Time when the event occurred, specified as milliseconds since Jan 1, 1970 (Unix epoch)."},"opType":{"type":"integer","example":0,"description":"Operation type. Always 0 for this event (store authorization added)."}}},"id":"schema_152"},"schema_153":{"kind":"json-schema","data":{"type":"object","required":["appId","shopId","shopName","authId","createTime","opType"],"properties":{"appId":{"type":"string","example":"3762772727","description":"Unique application ID assigned by Keeta."},"shopId":{"type":"integer","format":"int64","example":145541,"description":"Unique identifier of the store that has been removed from the authorization scope."},"shopName":{"type":"string","example":"Downtown Store","description":"Name of the shop, provided for identification purposes."},"authId":{"type":"string","example":"auth_20240324_002","description":"Authorization record ID, which can be used for status queries."},"createTime":{"type":"integer","format":"int64","example":1711267800000,"description":"Time when the event occurred, specified as milliseconds since Jan 1, 1970 (Unix epoch)."},"opType":{"type":"integer","example":1,"description":"Operation type. Always 1 for this event (store authorization removed)."}}},"id":"schema_153"},"schema_154":{"kind":"json-schema","data":{"type":"object","required":["appId","authId","createTime","brandId","brandName","shopIds","opType"],"properties":{"appId":{"type":"string","example":"3762772727","description":"Unique application ID assigned by Keeta."},"authId":{"type":"string","example":"auth_20240324_003","description":"Authorization record ID, which can be used for status queries."},"createTime":{"type":"integer","format":"int64","example":1711268400000,"description":"Time when the event occurred, specified as milliseconds since Jan 1, 1970 (Unix epoch)."},"brandId":{"type":"integer","format":"int64","example":4323,"description":"Unique identifier of the brand whose authorization was removed."},"brandName":{"type":"string","example":"GUI JI","description":"Name of the brand, provided for identification purposes."},"shopIds":{"type":"array","items":{"type":"integer","format":"int64"},"example":[145541,145542,145543],"description":"List of store IDs that were deauthorized under this brand. All stores under the brand are included."},"opType":{"type":"integer","example":2,"description":"Operation type. Always 2 for this event (brand authorization removed)."}}},"id":"schema_154"}},"exampleStore":{},"securitySchemeStore":{},"servers":[{"url":"https://open.mykeeta.com/api/open"}]},"options":{"hideSidebar":true,"mockServer":{"off":true},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/apis/@standard/basic.json?download"},{"url":"/_bundle/apis/@standard/basic.yaml?download"}],"excludeFromSearch":false,"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Keeta Basic API Reference","description":"This API provides basic functionality for Keeta platform integration, including webhook configuration, authorization management, and OAuth token operations.\n"}},"baseSlug":"/apis/standard/basic","routesMapping":{}}