Availability
The Availability resources allow you to interact with the availability options of your items and stores.
Important
Due to expansion and improvements, new endpoints or resources have been introduced that expand the capabilities for interacting with various item and store availability options. Because of these advancements, this section is now divided into two distinct parts, each with its own List of Country Domains. It's essential to note that the current availability section remains fully operational and contains the traditional resources that have previously handled the established availability options.
The following table describes the different contents of the Availability resources related to this List of Country Domains.
Resource | Description |
---|---|
POST availability/items/status | Returns the availability of items by Item SKU. |
POST availability/items/rappi/status | Returns the availability of items by Item ID. |
PUT availability/stores/items | Manage item availability in the application by Item SKU |
PUT availability/stores/items/rappi | Manage item availability in the application by Item ID |
POST availability/stores | Returns the availability status of the stores in the application |
PUT availability/stores | Manage store availability asynchronously in the application |
PUT availability/stores/enable/massive | Manage store availability asynchronously in the application |
PUT availability/stores/enable | Manage store availability synchronously in the application |
POST availability/items/status
Use this endpoint to check the availability options of your items by SKU in your stores.
Endpoint URL
Use this URL to make a request with this endpoint:
https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/availability/stores/items
{COUNTRY_DOMAIN}
: This is your Rappi Country Domain. See the list of Country Domains.
Endpoint Properties
This resource has the following properties:
Response formats | JSON |
Request body requirements | JSON |
Authentication requirements | Token |
Parameters
This endpoint does not permit additional parameters.
Status Codes
These are the possible status codes of the response for this endpoint:
Sample Request
This is an example of an API request using this endpoint:
POST https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/availability/items/status
This is an example of the request:
{ "store_id": "900144512", "item_ids": ["7713", "2668", "3395", "5685"] }
URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/availability/items/status"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); connection.setDoOutput(true); String jsonInputString = "{\n" + " \"store_id\":\"900144512\",\n" + " \"item_ids\":[\n" + " \"7713\",\n" + " \"2668\",\n" + " \"3395\",\n" + " \"5685\"\n" + " ],\n" + "}"; try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8); os.write(input, 0, input.length); } System.out.println("Response Code : " + connection.getResponseCode());
This table describes the attributes that the JSON
of your request requires:
Attributes | Requirement | Description |
---|---|---|
store_id string | required | Identifier of the store. |
item_ids array of strings | required | List of the SKUs of the articles to consult. |
Sample Response
This is an example of the response:
[ { "item_id": 2136411305, "item_type": "PRODUCT", "stock_out_state": "AVAILABLE" }, { "item_id": 2136411307, "item_type": "PRODUCT", "stock_out_state": "AVAILABLE" }, { "item_id": 2136411304, "item_type": "PRODUCT", "stock_out_state": "AVAILABLE" }, { "item_id": 2136411306, "item_type": "PRODUCT", "stock_out_state": "AVAILABLE" } ]
This table describes the objects within the sample response::
Object in response | Description |
---|---|
item_id integer | Identifier of the item. |
item_type string | Type of product in the menu. |
stock_out_state string | Indicates product availability. |
These are the possible responses for the request:
- If the request succeeds, the endpoint returns a Success response code.
- If the request fails, the endpoint returns an Error response code with an error message in a
JSON
.
POST availability/items/rappi/status
Use this endpoint to check the availability options of your items by ID in your stores.
Endpoint URL
Use this URL to make a request with this endpoint:
https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/availability/stores/items
{COUNTRY_DOMAIN}
: This is your Rappi Country Domain. See the list of Country Domains.
Endpoint Properties
This resource has the following properties:
Response formats | JSON |
Request body requirements | JSON |
Authentication requirements | Token |
Parameters
This endpoint does not permit additional parameters.
Status Codes
These are the possible status codes of the response for this endpoint:
Sample Request
This is an example of an API request using this endpoint:
POST https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/availability/items/rappi/status
This is an example of the request:
{ "store_id": "900144512", "item_ids": ["2136411304"] }
URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/availability/items/rappi/status"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); connection.setDoOutput(true); String jsonInputString = "{\n" + " \"store_id\":\"900144512\",\n" + " \"item_ids\":[\n" + " \"2136411304\"\n" + " ],\n" + "}"; try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8); os.write(input, 0, input.length); } System.out.println("Response Code : " + connection.getResponseCode());
This table describes the attributes that the JSON
of your request requires:
Attributes | Requirement | Description |
---|---|---|
store_id string | required | Identifier of the store. |
item_ids array of strings | required | List of the IDs of the articles to consult. |
Sample Response
This is an example of the response:
[ { "item_id": 2136411304, "item_type": "PRODUCT", "stock_out_state": "AVAILABLE" } ]
This table describes the objects within the sample response::
Object in response | Description |
---|---|
item_id integer | Identifier of the item. |
item_type string | Type of product in the menu. |
stock_out_state string | Indicates product availability. |
These are the possible responses for the request:
- If the request succeeds, the endpoint returns a Success response code.
- If the request fails, the endpoint returns an Error response code with an error message in a
JSON
.
PUT availability/stores/items
Use this endpoint to configure the availability options of your items by SKU in your stores.
Endpoint URL
Use this URL to make a request with this endpoint:
https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/availability/stores/items
{COUNTRY_DOMAIN}
: This is your Rappi Country Domain. See the list of Country Domains.
Endpoint Properties
This resource has the following properties:
Response formats | JSON |
Request body requirements | JSON |
Authentication requirements | Token |
Parameters
This endpoint does not permit additional parameters.
Status Codes
These are the possible status codes of the response for this endpoint:
Sample Request
This is an example of an API request using this endpoint:
PUT https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/availability/stores/items
This is an example of the request:
[ { "store_integration_id": "999", "items": { "turn_on": ["1111", "2222", "3333"], "turn_off": ["5555"] } } ]
URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/availability/stores/items"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("PUT"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); connection.setDoOutput(true); String jsonInputString = "[\n" + " {\n" + " \"store_integration_id\":\"999\",\n" + " \"items\":{\n" + " \"turn_on\":[\n" + " \"1111\",\n" + " \"2222\",\n" + " \"3333\"\n" + " ],\n" + " \"turn_off\":[\n" + " \"5555\"\n" + " ]\n" + " }\n" + " }\n" + "]"; try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8); os.write(input, 0, input.length); } System.out.println("Response Code : " + connection.getResponseCode());
This table describes the attributes that the JSON
of your request requires:
Attributes | Requirement | Description |
---|---|---|
store_integration_id string | required | Identifier of the store integration. |
items array of objects | required | Properties of the items you configure. |
items.turn_on string | optional | SKU of the item to turn on. |
items.turn_off string | optional | SKU of the item to turn off. |
Sample Response
This is an example of the response with an error message:
[ { "message": "Error updating items" } ]
These are the possible responses for the request:
- If the request succeeds, the endpoint returns a Success response code.
- If the request fails, the endpoint returns an Error response code with an error message in a
JSON
.
PUT availability/stores/items/rappi
Use this endpoint to configure the availability options of your items by Rappi ID in your stores.
Endpoint URL
Use this URL to make a request with this endpoint:
https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/availability/stores/items/rappi
{COUNTRY_DOMAIN}
: This is your Rappi Country Domain. See the list of Country Domains.
Endpoint Properties
This resource has the following properties:
Response formats | JSON |
Request body requirements | JSON |
Authentication requirements | Token |
Parameters
This endpoint does not permit additional parameters.
Status Codes
These are the possible status codes of the response for this endpoint:
Sample Request
This is an example of an API request using this endpoint:
PUT https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/availability/stores/items/rappi
This is an example of the request:
[ { "store_integration_id": "999", "items": { "turn_on": [1111, 2222, 3333], "turn_off": [5555] } } ]
URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/availability/stores/items/rappi"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("PUT"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); connection.setDoOutput(true); String jsonInputString = "[\n" + " {\n" + " \"store_integration_id\":\"999\",\n" + " \"items\":{\n" + " \"turn_on\":[\n" + " 1111,\n" + " 2222,\n" + " 3333\n" + " ],\n" + " \"turn_off\":[\n" + " 5555\n" + " ]\n" + " }\n" + " }\n" + "]"; try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8); os.write(input, 0, input.length); } System.out.println("Response Code : " + connection.getResponseCode());
This table describes the attributes that the JSON
of your request requires:
Attributes | Requirement | Description |
---|---|---|
store_integration_id string | required | Identifier of the store integration. |
items array of objects | required | Properties of the items you configure. |
items.turn_on integer | optional | Rappi ID of the item to turn on. |
items.turn_off integer | optional | Rappi ID the item to turn off. |
Sample Response
This is an example of the response with an error message:
{ "message": "Error message" }
These are the possible responses for the request:
- If the request succeeds, the endpoint returns a Success response code.
- If the request fails, the endpoint returns an Error response code with an error message in a
JSON
.
POST availability/stores
Use this endpoint to check the availability of your stores.
Endpoint URL
Use this URL to make a request with this endpoint:
https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/availability/stores
{COUNTRY_DOMAIN}
: This is your Rappi Country Domain. See the list of Country Domains.
Endpoint Properties
This resource has the following properties:
Response formats | JSON |
Request body requirements | JSON |
Authentication requirements | Token |
Parameters
This endpoint does not permit additional parameters.
Status Codes
These are the possible status codes of the response for this endpoint:
Sample Request
This is an example of an API request using this endpoint:
POST https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/availability/stores
This is an example of the request:
[900105433]
URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/availability/stores"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); connection.setDoOutput(true); String jsonInputString = "[ 900105433 ]"; try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8); os.write(input, 0, input.length); } System.out.println("Response Code : " + connection.getResponseCode());
This table describes the attributes that the JSON
of your request requires:
Attributes | Requirement | Description |
---|---|---|
Store list integer | required | List of store IDs to consult separated by commas. |
Sample Response
This is an example of a Success response:
{ "900105433": false }
This is an example of the response with an error message:
{ "message": "Error message" }
These are the possible responses to the request:
- If the request is successful, the endpoint returns a Success code with an object in
JSON
format. - If the request fails, the endpoint returns an Error response code with an error message in a
JSON
.
PUT availability/stores
Use this endpoint to configure the availability options of your stores.
Endpoint URL
Use this URL to make a request with this endpoint:
https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/availability/stores
{COUNTRY_DOMAIN}
: This is your Rappi Country Domain. See the list of Country Domains.
Endpoint Properties
This resource has the following properties:
Response formats | JSON |
Request body requirements | JSON |
Authentication requirements | Token |
Parameters
This endpoint does not permit additional parameters.
Status Codes
These are the possible status codes of the response for this endpoint:
Sample Request
This is an example of an API request using this endpoint:
PUT https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/availability/stores
This is an example of the request:
{ "turn_on": ["2222"], "turn_off": ["333", "444"] }
URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/availability/stores"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("PUT"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); connection.setDoOutput(true); String jsonInputString = "{\n" + " \"turn_on\":[\n" + " \"2222\"\n" + " ],\n" + " \"turn_off\":[\n" + " \"333\",\n" + " \"444\"\n" + " ]\n" + "}"; try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8); os.write(input, 0, input.length); } System.out.println("Response Code : " + connection.getResponseCode());
This table describes the attributes that the JSON
of your request requires:
Attributes | Requirement | Description |
---|---|---|
turn_on integer | optional | List of store IDs to turn on. |
turn_off integer | optional | List of store IDs to turn off. |
Sample Response
This is an example of the response with an error message:
{ "message": "Error message" }
These are the possible responses to the request:
- If the request succeeds, the endpoint returns a Success response code.
- If the request fails, the endpoint returns an Error response code with an error message in a
JSON
.
PUT availability/stores/enable/massive
Use this endpoint to configure the availability options of your stores.
Endpoint URL
Use this URL to make a request with this endpoint:
https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/availability/stores
{COUNTRY_DOMAIN}
: This is your Rappi Country Domain. See the list of Country Domains.
Endpoint Properties
This resource has the following properties:
Response formats | JSON |
Request body requirements | JSON |
Authentication requirements | Token |
Parameters
This endpoint does not permit additional parameters.
Status Codes
These are the possible status codes of the response for this endpoint:
Sample Request
This is an example of an API request using this endpoint:
PUT https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/availability/stores/enable/massive
This is an example of the request:
{ "stores": [ { "store_id": "12312", "is_enabled": true }, { "store_id": "12312", "is_enabled": false } ] }
URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/availability/stores/enable/massive"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("PUT"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); connection.setDoOutput(true); String jsonInputString = = "{\n" + " \"stores\": [\n" + " {\n" + " \"store_id\": \"12312\",\n" + " \"is_enabled\": true\n" + " },\n" + " {\n" + " \"store_id\": \"12312\",\n" + " \"is_enabled\": false\n" + " }\n" + " ]\n" + "}"; try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8); os.write(input, 0, input.length); } System.out.println("Response Code : " + connection.getResponseCode());
This table describes the attributes that the JSON
of your request requires:
Attributes | Requirement | Description |
---|---|---|
stores array of objects | required | List of store's data |
stores.store_id string | required | id of the store (rappi side) that will change the status |
stores.is_enabled boolean | required | true to turn on the store, otherwise false |
Sample Response
This is an example of the response with an error message:
{ "message": "Error message" }
These are the possible responses to the request:
- If the request succeeds, the endpoint returns a Success response code.
- If the request fails, the endpoint returns an Error response code with an error message in a
JSON
.
PUT availability/stores/enable
Use this endpoint to configure the availability options of your stores synchronously
Endpoint URL
Use this URL to make a request with this endpoint:
https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/availability/stores/enable
{COUNTRY_DOMAIN}
: This is your Rappi Country Domain. See the list of Country Domains.
Endpoint Properties
This resource has the following properties:
Response formats | JSON |
Request body requirements | JSON |
Authentication requirements | Token |
Parameters
This endpoint does not permit additional parameters.
Status Codes
These are the possible status codes of the response to this endpoint:
Sample Request
This is an example of an API request using this endpoint:
PUT https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/availability/stores/enable
This is an example of the request:
{ "stores": [ { "store_id": "12312", "is_enabled": true }, { "store_id": "12312", "is_enabled": false } ] }
URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/availability/stores/enable"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("PUT"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); connection.setDoOutput(true); String jsonInputString = = "{\n" + " \"stores\": [\n" + " {\n" + " \"store_id\": \"12312\",\n" + " \"is_enabled\": true\n" + " },\n" + " {\n" + " \"store_id\": \"12312\",\n" + " \"is_enabled\": false\n" + " }\n" + " ]\n" + "}"; try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8); os.write(input, 0, input.length); } System.out.println("Response Code : " + connection.getResponseCode());
This table describes the attributes that the JSON
of your request requires:
Attributes | Requirement | Description |
---|---|---|
stores array of objects | required | List of store's data |
stores.store_id string | required | id of the store (your side) that will change the status |
stores.is_enabled boolean | required | true to turn on the store, otherwise false |
Sample Response
This is an example of a successful response:
{ "results": [ { "store_id": 90774, "is_enabled": true, "operation_result": true, "operation_result_type": "SUCCESS", "operation_result_message": "success", "suspended_reason": null, "suspended_at": null, "suspended_time": 0 }, { "store_id": 90775, "is_enabled": false, "operation_result": false, "operation_result_type": "SUSPENDED", "operation_result_message": "suspended", "suspended_reason": "suspended due to cancelled orders", "suspended_at": "2022-04-11T20:23:00.00Z", "suspended_time": 60 } ] }
This is an example of an error response:
{ "message": "It has been sent more than 300 stores and cannot be processed, please use the asynchronous service" }
This table describes the attributes that the JSON
of the response contains:
Response Object | Object Description |
---|---|
results array of objects | Result list |
results.store_id int | Store id. |
results.is_enabled boolean | Current store status |
results.operation_result boolean | true if the operation has been finished successfully, otherwise false . |
results.operation_result_type string | Possible values: SUCCESS, SUSPENDED, FORBIDDEN, STORE_NOT_PUBLISHED, STORE_ALREADY_IN_STATUS, ERROR_EXTERNAL_SERVICE |
results.operation_result_message string | Result type description |
results.suspended_reason string | If the store has been suspended, the reason will be here |
results.suspended_at date | Date since the store has been suspended |
results.suspended_time int | Time in minutes that indicates for how long the store will be suspended |
Meaning of the different operation_result_type values
STORE_NOT_PUBLISHED
: the store is not currently showing on the appSUSPENDED
: the store has been suspended and it is not possible to turn it onERROR_EXTERNAL_SERVICE
: there was an error trying to change the store statusSTORE_ALREADY_IN_STATUS
: the store is already in the status you are trying to change toFORBIDDEN
: the authenticated client_id is not allowed to change the status for the specified storeSUCCESS
: the store was updated successfully