{"id":29009686,"url":"https://github.com/grab/grabfood-api-sdk-java","last_synced_at":"2026-04-25T08:36:47.081Z","repository":{"id":272411312,"uuid":"855586439","full_name":"grab/grabfood-api-sdk-java","owner":"grab","description":"Java API client for GrabFood ","archived":false,"fork":false,"pushed_at":"2025-03-12T06:47:33.000Z","size":535,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-25T15:12:09.979Z","etag":null,"topics":["grab","grabfood","java-client","openapi"],"latest_commit_sha":null,"homepage":"https://developer.grab.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grab.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-11T05:47:30.000Z","updated_at":"2025-06-13T09:05:08.000Z","dependencies_parsed_at":"2025-01-14T09:34:49.388Z","dependency_job_id":"4793d0aa-36ee-4139-aea5-6bc4480eb43f","html_url":"https://github.com/grab/grabfood-api-sdk-java","commit_stats":null,"previous_names":["grab/grabfood-api-sdk-java"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/grab/grabfood-api-sdk-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grab%2Fgrabfood-api-sdk-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grab%2Fgrabfood-api-sdk-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grab%2Fgrabfood-api-sdk-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grab%2Fgrabfood-api-sdk-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grab","download_url":"https://codeload.github.com/grab/grabfood-api-sdk-java/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grab%2Fgrabfood-api-sdk-java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32255810,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T04:23:17.126Z","status":"ssl_error","status_checked_at":"2026-04-25T04:21:53.360Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["grab","grabfood","java-client","openapi"],"created_at":"2025-06-25T15:12:09.081Z","updated_at":"2026-04-25T08:36:47.067Z","avatar_url":"https://github.com/grab.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Java API client for GrabFood\n\n- API version: 1.1.3\n\n- Generator version: 7.8.0\n\n  For more information, please visit [https://developer.grab.com](https://developer.grab.com)\n\n*Automatically generated by the [OpenAPI Generator](https://openapi-generator.tech)*\n\n## Requirements\n\nBuilding the API client library requires:\n\n1. Java 1.8+\n2. Maven/Gradle\n\n## Installation\n\nTo install the API client library to your local Maven repository, simply execute:\n\n```shell\nmvn clean install\n```\n\nTo deploy it to a remote Maven repository instead, configure the settings of the repository and execute:\n\n```shell\nmvn clean deploy\n```\n\nRefer to the [OSSRH Guide](http://central.sonatype.org/pages/ossrh-guide.html) for more information.\n\n### Maven users\n\nAdd this dependency to your project's POM:\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.grab\u003c/groupId\u003e\n  \u003cartifactId\u003egrabfood-api-sdk-java\u003c/artifactId\u003e\n  \u003cversion\u003e1.0.2\u003c/version\u003e\n  \u003cscope\u003ecompile\u003c/scope\u003e\n\u003c/dependency\u003e\n```\n\n### Gradle users\n\nAdd this dependency to your project's build file:\n\n```groovy\n  repositories {\n    mavenCentral()     // Needed if the 'grabfood-api-sdk-java' jar has been published to maven central.\n    mavenLocal()       // Needed if the 'grabfood-api-sdk-java' jar has been published to the local maven repo.\n  }\n\n  dependencies {\n     implementation \"com.grab:grabfood-api-sdk-java:1.0.2\"\n  }\n```\n\n### Others\n\nAt first generate the JAR by executing:\n\n```shell\nmvn clean package\n```\n\nThen manually install the following JARs:\n\n- `target/grabfood-api-sdk-java-1.0.2.jar`\n- `target/lib/*.jar`\n\n## Getting Started\n\nPlease follow the [installation](#installation) instruction and execute the following Java code:\n\nIn the example below, we start by acquiring an OAuth2 access token. In your applications, it's important to handle OAuth2 tokens efficiently. This means:\n- Store the received access token once it's obtained.\n- Use this stored access token for as long as it's valid.\n- Only request a new access token when the current one has expired.\n  \nBy following these practices, you minimize the number of requests to the server, making your application more efficient and responsive. \n\nYou can usually determine the validity of a token by the `expires_in` attribute in the OAuth2 token response.\n\n```java\nimport com.grab.grabfood.client.ApiClient;\nimport com.grab.grabfood.client.ApiException;\nimport com.grab.grabfood.client.Configuration;\nimport com.grab.grabfood.client.model.*;\nimport com.grab.grabfood.client.api.*;\n\npublic class Example {\n    public static void main(String[] args) {\n        ApiClient client = Configuration.getDefaultApiClient();\n        client.setServerIndex(Configuration.StgEnv);\n\n        GetOauthGrabApi authInstance = new GetOauthGrabApi(client);\n        authInstance.setHostIndex(client.getServerIndex());\n\n        String contentType = \"application/json\";\n\n        GrabOauthRequest req = new GrabOauthRequest();\n        req.setClientId(\"client_id\");\n        req.setClientSecret(\"client_secret\");\n        req.setGrantType(\"client_credentials\");\n        req.setScope(\"food.partner_api\");\n\n        try {\n            GrabOauthResponse authResp = authInstance.getOauthGrab(contentType, req);\n            // Request a new token only when the previous one has expired.\n            // Can utilize the `expires_in` from authResp.getExpiresIn() to determine the validity of the token.\n            ACCESS_TOKEN = authResp.getAccessToken();\n        } catch (ApiException e) {\n            System.err.println(\"Exception when calling GetOauthGrabApi#getOauthGrab\");\n            e.printStackTrace();\n        }\n\n        GetStoreHourApi apiInstance = new GetStoreHourApi(client);\n        String authorization = \"Bearer \" + ACCESS_TOKEN;\n        String merchantID = \"1-CYNGRUNGSBCCC\";\n        try {\n            StoreHourResponse result = apiInstance.getStoreHour(authorization, merchantID);\n            System.out.println(result);\n        } catch (ApiException e) {\n            System.err.println(\"Exception when calling GetStoreHourApi#getStoreHour\");\n            e.printStackTrace();\n        }\n    }\n}\n```\n\nFor handling webhook requests, we provide dedicated models for both requests and responses. Please refer to the list of available models provided below for more details.\n\n## Documentation for API Endpoints\n\nThe base URL for OAuth2 URIs is https://api.grab.com\n\nFor other GrabFood partner API endpoints, URIs are relative to https://partner-api.grab.com/grabfood\n\nClass | Method | HTTP request | Description\n------------ | ------------- | ------------- | -------------\n*AcceptRejectOrderApi* | [**acceptRejectOrder**](docs/AcceptRejectOrderApi.md#acceptRejectOrder) | **POST** /partner/v1/order/prepare | Manually accept/reject orders\n*CancelOrderApi* | [**cancelOrder**](docs/CancelOrderApi.md#cancelOrder) | **PUT** /partner/v1/order/cancel | Cancel an order\n*CheckOrderCancelableApi* | [**checkOrderCancelable**](docs/CheckOrderCancelableApi.md#checkOrderCancelable) | **GET** /partner/v1/order/cancelable | Check order cancelable\n*CreateCampaignApi* | [**createCampaign**](docs/CreateCampaignApi.md#createCampaign) | **POST** /partner/v1/campaigns | Create campaign\n*CreateSelfServeJourneyApi* | [**createSelfServeJourney**](docs/CreateSelfServeJourneyApi.md#createSelfServeJourney) | **POST** /partner/v1/self-serve/activation | Create self serve journey\n*DeleteCampaignApi* | [**deleteCampaign**](docs/DeleteCampaignApi.md#deleteCampaign) | **DELETE** /partner/v1/campaigns/{campaign_id} | Delete campaigns\n*EditOrderApi* | [**editOrder**](docs/EditOrderApi.md#editOrder) | **PUT** /partner/v1/orders/{orderID} | Edit Order\n*GetDineinVoucherApi* | [**getDineinVoucher**](docs/GetDineinVoucherApi.md#getDineinVoucher) | **GET** /partner/v1/dinein/voucher | Get Dine In Voucher\n*GetOauthGrabApi* | [**getOauthGrab**](docs/GetOauthGrabApi.md#getOauthGrab) | **POST** /grabid/v1/oauth2/token | Get Oauth access token\n*GetStoreHourApi* | [**getStoreHour**](docs/GetStoreHourApi.md#getStoreHour) | **GET** /partner/v2/merchants/{merchantID}/store/hours | Get Store Hours\n*GetStoreStatusApi* | [**getStoreStatus**](docs/GetStoreStatusApi.md#getStoreStatus) | **GET** /partner/v1/merchants/{merchantID}/store/status | Get Store Status\n*ListCampaignApi* | [**listCampaign**](docs/ListCampaignApi.md#listCampaign) | **GET** /partner/v1/campaigns | List campaigns\n*ListOrdersApi* | [**listOrders**](docs/ListOrdersApi.md#listOrders) | **GET** /partner/v1/orders | List orders\n*MarkOrderReadyApi* | [**markOrderReady**](docs/MarkOrderReadyApi.md#markOrderReady) | **POST** /partner/v1/orders/mark | Mark order as ready\n*NotifyMembershipWebviewApi* | [**notifyMembershipWebview**](docs/NotifyMembershipWebviewApi.md#notifyMembershipWebview) | **POST** /partner/v1/membership/notify | Notify Membership\n*PauseStoreApi* | [**pauseStore**](docs/PauseStoreApi.md#pauseStore) | **PUT** /partner/v1/merchant/pause | Pause store\n*RedeemDineinVoucherApi* | [**redeemDineinVoucher**](docs/RedeemDineinVoucherApi.md#redeemDineinVoucher) | **POST** /partner/v1/dinein/voucher/redeem | Redeem Dine In Voucher\n*TraceMenuSyncApi* | [**traceMenuSync**](docs/TraceMenuSyncApi.md#traceMenuSync) | **GET** /partner/v1/merchant/menu/trace | Trace menu sync\n*UpdateCampaignApi* | [**updateCampaign**](docs/UpdateCampaignApi.md#updateCampaign) | **PUT** /partner/v1/campaigns/{campaign_id} | Update campaign\n*UpdateDeliveryStateApi* | [**updateDeliveryState**](docs/UpdateDeliveryStateApi.md#updateDeliveryState) | **POST** /partner/v1/order/delivery | Update delivery state\n*UpdateMenuNotificationApi* | [**updateMenuNotification**](docs/UpdateMenuNotificationApi.md#updateMenuNotification) | **POST** /partner/v1/merchant/menu/notification | Notify Grab of updated menu\n*UpdateMenuRecordApi* | [**batchUpdateMenu**](docs/UpdateMenuRecordApi.md#batchUpdateMenu) | **PUT** /partner/v1/batch/menu | Batch Update Menu\n*UpdateMenuRecordApi* | [**updateMenu**](docs/UpdateMenuRecordApi.md#updateMenu) | **PUT** /partner/v1/menu | Update menu record\n*UpdateOrderReadyTimeApi* | [**updateOrderReadyTime**](docs/UpdateOrderReadyTimeApi.md#updateOrderReadyTime) | **PUT** /partner/v1/order/readytime | Update new order ready time\n*UpdateStoreDeliveryHourApi* | [**updateStoreDeliveryHour**](docs/UpdateStoreDeliveryHourApi.md#updateStoreDeliveryHour) | **PUT** /partner/v1/merchants/{merchantID}/store/opening-hours | Update Store Delivery Hours\n*UpdateStoreDineInHourApi* | [**updateStoreDineInHour**](docs/UpdateStoreDineInHourApi.md#updateStoreDineInHour) | **PUT** /partner/v1/merchants/{merchantID}/store/dine-in-hours | Update Store Dine-in Hours\n*UpdateStoreSpecialHourApi* | [**updateStoreSpecialHour**](docs/UpdateStoreSpecialHourApi.md#updateStoreSpecialHour) | **PUT** /partner/v2/merchants/{merchantID}/store/special-opening-hour | Update Store Special Hours\n\n\n## Documentation for Models\n\n - [AcceptOrderRequest](docs/AcceptOrderRequest.md)\n - [Address](docs/Address.md)\n - [AdvancedPricing](docs/AdvancedPricing.md)\n - [BatchUpdateMenuItem](docs/BatchUpdateMenuItem.md)\n - [BatchUpdateMenuResponse](docs/BatchUpdateMenuResponse.md)\n - [BindMembershipNativeRequest](docs/BindMembershipNativeRequest.md)\n - [BindMembershipNativeResponse](docs/BindMembershipNativeResponse.md)\n - [Campaign](docs/Campaign.md)\n - [CampaignConditions](docs/CampaignConditions.md)\n - [CampaignDiscount](docs/CampaignDiscount.md)\n - [CampaignQuotas](docs/CampaignQuotas.md)\n - [CampaignScope](docs/CampaignScope.md)\n - [CancelCode](docs/CancelCode.md)\n - [CancelOrderLimitType](docs/CancelOrderLimitType.md)\n - [CancelOrderRequest](docs/CancelOrderRequest.md)\n - [CancelOrderResponse](docs/CancelOrderResponse.md)\n - [CancelReason](docs/CancelReason.md)\n - [CheckOrderCancelableResponse](docs/CheckOrderCancelableResponse.md)\n - [Coordinates](docs/Coordinates.md)\n - [CreateCampaignRequest](docs/CreateCampaignRequest.md)\n - [CreateCampaignResponse](docs/CreateCampaignResponse.md)\n - [CreateSelfServeJourneyRequest](docs/CreateSelfServeJourneyRequest.md)\n - [CreateSelfServeJourneyRequestPartner](docs/CreateSelfServeJourneyRequestPartner.md)\n - [CreateSelfServeJourneyResponse](docs/CreateSelfServeJourneyResponse.md)\n - [Currency](docs/Currency.md)\n - [DineIn](docs/DineIn.md)\n - [EditOrderItem](docs/EditOrderItem.md)\n - [EditOrderRequest](docs/EditOrderRequest.md)\n - [Error](docs/Error.md)\n - [GetDineInVoucherResponse](docs/GetDineInVoucherResponse.md)\n - [GetMembershipNativeResponse](docs/GetMembershipNativeResponse.md)\n - [GetMembershipNativeResponsePointInfo](docs/GetMembershipNativeResponsePointInfo.md)\n - [GetMembershipRequest](docs/GetMembershipRequest.md)\n - [GetMembershipWebviewResponse](docs/GetMembershipWebviewResponse.md)\n - [GetMenuNewResponse](docs/GetMenuNewResponse.md)\n - [GetMenuOldResponse](docs/GetMenuOldResponse.md)\n - [GetRewardNativeRequest](docs/GetRewardNativeRequest.md)\n - [GetRewardNativeResponse](docs/GetRewardNativeResponse.md)\n - [GrabOauthRequest](docs/GrabOauthRequest.md)\n - [GrabOauthResponse](docs/GrabOauthResponse.md)\n - [ListCampaignResponse](docs/ListCampaignResponse.md)\n - [ListOrdersResponse](docs/ListOrdersResponse.md)\n - [MarkOrderRequest](docs/MarkOrderRequest.md)\n - [MenuCategory](docs/MenuCategory.md)\n - [MenuEntity](docs/MenuEntity.md)\n - [MenuEntityError](docs/MenuEntityError.md)\n - [MenuItem](docs/MenuItem.md)\n - [MenuModifier](docs/MenuModifier.md)\n - [MenuSection](docs/MenuSection.md)\n - [MenuSectionCategory](docs/MenuSectionCategory.md)\n - [MenuSectionCategoryItem](docs/MenuSectionCategoryItem.md)\n - [MenuSyncFail](docs/MenuSyncFail.md)\n - [MenuSyncFailCategory](docs/MenuSyncFailCategory.md)\n - [MenuSyncFailItem](docs/MenuSyncFailItem.md)\n - [MenuSyncFailModifier](docs/MenuSyncFailModifier.md)\n - [MenuSyncFailModifierGroup](docs/MenuSyncFailModifierGroup.md)\n - [MenuSyncFailServiceHours](docs/MenuSyncFailServiceHours.md)\n - [MenuSyncResponse](docs/MenuSyncResponse.md)\n - [MenuSyncWebhookRequest](docs/MenuSyncWebhookRequest.md)\n - [ModifierGroup](docs/ModifierGroup.md)\n - [NewOrderTimeRequest](docs/NewOrderTimeRequest.md)\n - [NotifyMembershipWebviewRequest](docs/NotifyMembershipWebviewRequest.md)\n - [OpenPeriod](docs/OpenPeriod.md)\n - [Order](docs/Order.md)\n - [OrderCampaign](docs/OrderCampaign.md)\n - [OrderDeliveryRequest](docs/OrderDeliveryRequest.md)\n - [OrderFeatureFlags](docs/OrderFeatureFlags.md)\n - [OrderFreeItem](docs/OrderFreeItem.md)\n - [OrderItem](docs/OrderItem.md)\n - [OrderItemModifier](docs/OrderItemModifier.md)\n - [OrderPrice](docs/OrderPrice.md)\n - [OrderPromo](docs/OrderPromo.md)\n - [OrderReadyEstimation](docs/OrderReadyEstimation.md)\n - [OrderStateRequest](docs/OrderStateRequest.md)\n - [OutOfStockInstruction](docs/OutOfStockInstruction.md)\n - [PartnerOauthRequest](docs/PartnerOauthRequest.md)\n - [PartnerOauthResponse](docs/PartnerOauthResponse.md)\n - [PauseStoreRequest](docs/PauseStoreRequest.md)\n - [Purchasability](docs/Purchasability.md)\n - [PushIntegrationStatusWebhookRequest](docs/PushIntegrationStatusWebhookRequest.md)\n - [Receiver](docs/Receiver.md)\n - [RedeemDineInVoucherRequest](docs/RedeemDineInVoucherRequest.md)\n - [RedeemDineInVoucherResponse](docs/RedeemDineInVoucherResponse.md)\n - [RedeemResult](docs/RedeemResult.md)\n - [RegisterMembershipNativeRequest](docs/RegisterMembershipNativeRequest.md)\n - [RegisterMembershipNativeResponse](docs/RegisterMembershipNativeResponse.md)\n - [RewardItem](docs/RewardItem.md)\n - [SellingTime](docs/SellingTime.md)\n - [ServiceHour](docs/ServiceHour.md)\n - [ServiceHours](docs/ServiceHours.md)\n - [SpecialOpeningHour](docs/SpecialOpeningHour.md)\n - [SpecialOpeningHourMetadata](docs/SpecialOpeningHourMetadata.md)\n - [SpecialOpeningHourOpeningHours](docs/SpecialOpeningHourOpeningHours.md)\n - [StoreHour](docs/StoreHour.md)\n - [StoreHourResponse](docs/StoreHourResponse.md)\n - [StoreStatusResponse](docs/StoreStatusResponse.md)\n - [SubmitOrderRequest](docs/SubmitOrderRequest.md)\n - [UnbindMembershipNativeRequest](docs/UnbindMembershipNativeRequest.md)\n - [UnlinkMembershipWebviewRequest](docs/UnlinkMembershipWebviewRequest.md)\n - [UpdateAdvancedPricing](docs/UpdateAdvancedPricing.md)\n - [UpdateCampaignRequest](docs/UpdateCampaignRequest.md)\n - [UpdateDeliveryHourRequest](docs/UpdateDeliveryHourRequest.md)\n - [UpdateDeliveryHourResponse](docs/UpdateDeliveryHourResponse.md)\n - [UpdateDineInHourRequest](docs/UpdateDineInHourRequest.md)\n - [UpdateDineInHourResponse](docs/UpdateDineInHourResponse.md)\n - [UpdateMenuItem](docs/UpdateMenuItem.md)\n - [UpdateMenuModifier](docs/UpdateMenuModifier.md)\n - [UpdateMenuNotifRequest](docs/UpdateMenuNotifRequest.md)\n - [UpdateMenuRequest](docs/UpdateMenuRequest.md)\n - [UpdatePurchasability](docs/UpdatePurchasability.md)\n - [UpdateSpecialHourRequest](docs/UpdateSpecialHourRequest.md)\n - [UpdateSpecialHourResponse](docs/UpdateSpecialHourResponse.md)\n - [Voucher](docs/Voucher.md)\n - [VoucherDescriptionInfo](docs/VoucherDescriptionInfo.md)\n - [WorkingHour](docs/WorkingHour.md)\n - [WorkingHourDay](docs/WorkingHourDay.md)\n\n\n## Recommendation\n\nIt's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrab%2Fgrabfood-api-sdk-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrab%2Fgrabfood-api-sdk-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrab%2Fgrabfood-api-sdk-java/lists"}