Availability

The Availability resource enables you to interact with the availability options of your items and stores.

The following table describes the different contents of the Availability resource:

ResourceDescription
POST availability/items/statusReturns the availability of items by Item SKU.
POST availability/items/rappi/statusReturns the availability of items by Item ID.
PUT availability/stores/itemsManage item availability in the application by Item SKU
PUT availability/stores/items/rappiManage item availability in the application by Item ID
POST availability/storesReturns the availability status of the stores in the application
PUT availability/storesManage store availability asynchronously in the application
PUT availability/stores/enable/massiveManage store availability asynchronously in the application
PUT availability/stores/enableManage 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 formatsJSON
Request body requirementsJSON
Authentication requirementsToken

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:

AttributesRequirementDescription
store_id
string
requiredIdentifier of the store.
item_ids
array of strings
requiredList 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 responseDescription
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 formatsJSON
Request body requirementsJSON
Authentication requirementsToken

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:

AttributesRequirementDescription
store_id
string
requiredIdentifier of the store.
item_ids
array of strings
requiredList 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 responseDescription
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 formatsJSON
Request body requirementsJSON
Authentication requirementsToken

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:

AttributesRequirementDescription
store_integration_id
string
requiredIdentifier of the store integration.
items
array of objects
requiredProperties of the items you configure.
items.turn_on
string
optionalSKU of the item to turn on.
items.turn_off
string
optionalSKU 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 formatsJSON
Request body requirementsJSON
Authentication requirementsToken

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:

AttributesRequirementDescription
store_integration_id
string
requiredIdentifier of the store integration.
items
array of objects
requiredProperties of the items you configure.
items.turn_on
integer
optionalRappi ID of the item to turn on.
items.turn_off
integer
optionalRappi 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 formatsJSON
Request body requirementsJSON
Authentication requirementsToken

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:

AttributesRequirementDescription
Store list
integer
requiredList 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 formatsJSON
Request body requirementsJSON
Authentication requirementsToken

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:

AttributesRequirementDescription
turn_on
integer
optionalList of store IDs to turn on.
turn_off
integer
optionalList 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 formatsJSON
Request body requirementsJSON
Authentication requirementsToken

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:

AttributesRequirementDescription
stores
array of objects
requiredList of store's data
stores.store_id
string
requiredid of the store (rappi side) that will change the status
stores.is_enabled
boolean
requiredtrue 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 formatsJSON
Request body requirementsJSON
Authentication requirementsToken

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:

AttributesRequirementDescription
stores
array of objects
requiredList of store's data
stores.store_id
string
requiredid of the store (your side) that will change the status
stores.is_enabled
boolean
requiredtrue 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 ObjectObject 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 app
  • SUSPENDED: the store has been suspended and it is not possible to turn it on
  • ERROR_EXTERNAL_SERVICE: there was an error trying to change the store status
  • STORE_ALREADY_IN_STATUS: the store is already in the status you are trying to change to
  • FORBIDDEN: the authenticated client_id is not allowed to change the status for the specified store
  • SUCCESS: the store was updated successfully