Utils
Utils API v1.2.0 includes all the resources, endpoints, and methods that assist you to manage your restaurant operation.
The following sections guide you through the process allowed by this API.
Corridor schedules
The Utils API enables you to manage the schedules of your corridors.
You can create, update, and obtain schedules of corridors in the platform.
Setting schedules for your corridors allows you to enable / disable them in the app according to your schedule operation.
Important
The child store uses the same schedule configuration as the parent store.
The main rules that involve managing schedules through the Utils API consist of the following:
-
The corridors are available 24-hours or according to the store schedule. Any absence of time parametrization for any day of the week or holidays for the corridors means that they always will be available for the users.
-
Once a schedule is created for any corridor, it will be available in the app at that time.
-
You can set many time intervals for a corridor, but those intervals cannot be overlapped.
-
The time interval consists of days of the week or holiday with start time and end time, that time is denoted in 24-hour format HH:mm:ss.
-
The values allowed to indicate the days programmed in the schedules are the following:
- mon = Monday
- tue = Tuesday
- wed = Wednesday
- thu = Thursday
- fri = Friday
- sat = Saturday
- sun = Sunday
- hol = holiday
-
The main properties required for schedule management through the Utils API consist:
- store_id: The store identifier in Rappi
- integration_id: The store identifier in the ally
- corridor_id: The corridor identifier
- days: scheduled days of the week when corridors or products could be available (values: mon,tue,wed,thu,fri,sat,sun,hol)
- starts_time: a specific time for the given days, when the corridor or product begins to be available for users
- ends_time: a specific time for the given days, when the corridor or product become unavailable to users
The following sections guide you through the process of configuring corridor schedules.
Important
In Rappi, the stores have two ids, the store_id identifier in Rappi and the integration_id identifier in the ally. There are several endpoints to manage corridor schedule information by store_id or by integration_id If you manage your own store ids, you must use the endpoints By Integration Id. If you use the store ids from Rappi you must use the endpoints By Store Id.
By store ID
Corridor information
Use the GET corridor/store/{storeId}
endpoint to get the corridors of your Store.
To get the corridors of your store:
Make a GET
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/corridor/store/{storeId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON response like this:
[ { "id": 123, "name": "Bebidas Calientes", "description": "Corredor Bebidas Calientes", "store_id": 999 }, { "id": 321, "name": "Bebidas Frias", "description": "Corredor Bebidas Frias", "store_id": 999 } ]
Getting corridor schedules
Use the GET corridor/schedule/{corridorId}/store/{storeId}
endpoint to get the schedules of your store by Corridor.
To get the corridor schedules for your store by Corridor:
Make a GET
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/corridor/schedule/{corridorId}/store/{storeId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON response like this:
{ "corridor_id": 321, "store_id": 999, "schedule_details": [ { "id": 1, "days": "mon,tue,wed,thu,fri,sat,sun,hol", "starts_time": "08:00:00", "ends_time": "20:00:00" } ] }
Creating corridor schedules
Use the POST /corridor/schedule/{corridorId}/store/{storeId}
endpoint to create the corridor schedules of your store.
To create the schedules of your corridor:
Make a POST
request to the following URL, and add a JSON
to the body of the request with the following objects.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/corridor/schedule/{corridorId}/store/{storeId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
This is an example of JSON in request body:
{ "schedule_details": [ { "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "08:00:00", "ends_time": "20:00:00" }, { "days": "hol", "starts_time": "13:00:00", "ends_time": "22:00:00" } ] }
Note
The values from this JSON
are not real data. Ensure to replace them with your data when making API requests.
System returns JSON response like this:
{ "corridor_id": 123, "store_id": 999, "schedule_details": [ { "id": 2, "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "08:00:00", "ends_time": "20:00:00" }, { "id": 3, "days": "hol", "starts_time": "13:00:00", "ends_time": "22:00:00" } ] }
Updating corridor schedules
Use the PUT /corridor/schedule/{corridorId}/store/{storeId}
endpoint to update the corridor schedules of your store.
To update the schedules of your corridor:
Make PUT request to following URL, and set JSON to body request with this objects.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/corridor/schedule/{corridorId}/store/{storeId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
This is an example of JSON in request body:
{ "schedule_details": [ { "id": 2, "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "10:00:00", "ends_time": "16:00:00" } ] }
Note
The values from this JSON
are not real data. Ensure to replace them with your data when making API requests.
System returns JSON response like this:
{ "corridor_id": 123, "store_id": 999, "schedule_details": [ { "id": 2, "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "10:00:00", "ends_time": "16:00:00" } ] }
Deleting corridor schedules
Use the DELETE /corridor/schedule/{corridorId}/store/{storeId}/{corridorScheduleId}
endpoint to delete the corridor schedules of your store.
To delete the schedules of your corridor:
Make DELETE request to following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/corridor/schedule/{corridorId}/store/{storeId}/{corridorScheduleId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON response like this:
{ "corridor_id": 123, "store_id": 999, "schedule_details": [ { "id": 2, "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "10:00:00", "ends_time": "16:00:00" } ] }
Note
The list in schedule_details represents the schedules that still persist in your corridor.
By integration ID
Corridor information
Use the GET corridor/integration/{integrationId}
endpoint to get the corridors of your Store.
To get the corridors of your store:
Make a GET
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/corridor/integration/{integrationId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON response like this:
[ { "id": 123, "name": "Bebidas Calientes", "description": "Corredor Bebidas Calientes", "integration_id": "888" }, { "id": 321, "name": "Bebidas Frias", "description": "Corredor Bebidas Frias", "integration_id": "888" } ]
Getting corridor schedules
Use the GET corridor/schedule/{corridorId}/integration/{integrationId}
endpoint to get the schedules of your store by Corridor.
To get the corridor schedules for your store by Corridor:
Make a GET
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/corridor/schedule/{corridorId}/integration/{integrationId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON response like this:
{ "corridor_id": 321, "integration_id": "888", "schedule_details": [ { "id": 1, "days": "mon,tue,wed,thu,fri,sat,sun,hol", "starts_time": "08:00:00", "ends_time": "20:00:00" } ] }
Creating corridor schedules
Use the POST /corridor/schedule/{corridorId}/integration/{integrationId}
endpoint to create the corridor schedules of your store.
To create the schedules of your corridor:
Make a POST
request to the following URL, and add a JSON
to the body of the request with the following objects.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/corridor/schedule/{corridorId}/integration/{integrationId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
Note
The values from this JSON
are not real data. Ensure to replace them with your data when making API requests.
System returns JSON response like this:
{ "corridor_id": 123, "integration_id": "888", "schedule_details": [ { "id": 2, "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "08:00:00", "ends_time": "20:00:00" }, { "id": 3, "days": "hol", "starts_time": "13:00:00", "ends_time": "22:00:00" } ] }
Updating corridor schedules
Use the PUT /corridor/schedule/{corridorId}/integration/{integrationId}
endpoint to update the corridor schedules of your store.
To update the schedules of your corridor:
Make PUT request to following URL, and set JSON to body request with this objects.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/corridor/schedule/{corridorId}/integration/{integrationId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
Note
The values from this JSON
are not real data. Ensure to replace them with your data when making API requests.
System returns JSON response like this:
{ "corridor_id": 123, "integration_id": "888", "schedule_details": [ { "id": 2, "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "10:00:00", "ends_time": "16:00:00" } ] }
Deleting corridor schedules
Use the DELETE /corridor/schedule/{corridorId}/integration/{integrationId}/{corridorProductScheduleId}
endpoint to delete the corridor schedules of your store.
To delete the schedules of your corridor:
Make DELETE request to following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/corridor/schedule/{corridorId}/integration/{integrationId}/{corridorProductScheduleId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON response like this:
{ "corridor_id": 123, "integration_id": "888", "schedule_details": [ { "id": 2, "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "10:00:00", "ends_time": "16:00:00" } ] }
Note
The list in schedule_details represents the schedules that still persist in your corridor.
Product schedules
The Utils API enables you to manage the schedules of your products.
You can create, update, and obtain schedules of products in the platform.
Setting schedules for your products allows you to enable / disable them in the app according to your schedule operation.
Important
The child store uses the same schedule configuration as the parent store.
The main rules that involve managing schedules through the Utils API consist of the following:
-
The products are available 24-hours or according to the store/corridor schedule. Any absence of time parametrization for any day of the week or holidays for the products means that they always will be available for the users.
-
Once a schedule is created for any product, it will be available in the app at that time.
-
You can set many time intervals for a product, but those intervals cannot be overlapped.
-
The time interval consists of days of the week or holiday with start time and end time, that time is denoted in 24-hour format HH:mm:ss.
-
The values allowed to indicate the days programmed in the schedules are the following:
- mon = Monday
- tue = Tuesday
- wed = Wednesday
- thu = Thursday
- fri = Friday
- sat = Saturday
- sun = Sunday
- hol = holiday
-
Any schedule created for a product has higher priority than the corridor schedule
. If only one product is available in a specific time interval, the corridor that contains it will also be available regardless of not having a schedule in the same time interval. -
The main properties required for schedule management through the Utils API consist:
- store_id: The store identifier in Rappi
- integration_id: The store identifier in the ally
- corridor_id: The corridor identifier
- product_id: The product identifier in Rappi
- sku: The product identifier in the ally
- days: scheduled days of the week when corridors or products could be available (values: mon,tue,wed,thu,fri,sat,sun,hol)
- starts_time: a specific time for the given days, when the corridor or product begins to be available for users
- ends_time: a specific time for the given days, when the corridor or product become unavailable to users
The following sections guide you through the process of configuring product schedules.
Important
We have the possibility to manage the product schedule information by product_id (product identifier in Rappi) or by sku (product identifier in the ally) If you manage your own product ids, you must use the endpoints By Sku. If you use the ids from Rappi you must use the endpoints By Product Id.
By product
Product information
Use the GET product/corridor/{corridorId}/store/{storeId}
endpoint to get the products of your Store By corridor.
To get the products of your store by Corridor:
Make a GET
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/product/corridor/{corridorId}/store/{storeId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON response like this:
[ { "product_id": 789, "name": "Americano Caliente 16 oz", "description": "16 oz. Espresso con agua caliente.", "corridor_id": 123, "store_id": 999 }, { "product_id": 987, "name": "Americano Caliente 20 oz", "description": "20 oz. Espresso con agua caliente.", "corridor_id": 123, "store_id": 999 } ]
Getting product schedules
Use the GET product/schedule/{productId}/corridor/{corridorId}/store/{storeId}
endpoint to get the schedules of your product by store and corridor.
To get the schedules for your product by a corridor:
Make a GET
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/product/schedule/{productId}/corridor/{corridorId}/store/{storeId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON response like this:
{ "product_id": 789, "corridor_id": 123, "store_id": 999, "schedule_details": [ { "id": 4, "days": "mon,tue,wed,thu,fri,sat,sun,hol", "starts_time": "08:00:00", "ends_time": "23:00:00" } ] }
Creating product schedules
Use the POST product/schedule/{productId}/corridor/{corridorId}/store/{storeId}
endpoint to create the schedules of your product by store and corridor.
To create the schedules for your product by a corridor:
Make a POST
request to the following URL, and add a JSON
to the body of the request with the following objects.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/product/schedule/{productId}/corridor/{corridorId}/store/{storeId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
This is an example of JSON in request body:
{ "schedule_details": [ { "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "08:00:00", "ends_time": "20:00:00" }, { "days": "hol", "starts_time": "13:00:00", "ends_time": "22:00:00" } ] }
Note
The values from this JSON
are not real data. Ensure to replace them with your data when making API requests.
System returns JSON response like this:
{ "product_id": 789, "corridor_id": 123, "store_id": 999, "schedule_details": [ { "id": 5, "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "08:00:00", "ends_time": "20:00:00" }, { "id": 6, "days": "hol", "starts_time": "13:00:00", "ends_time": "22:00:00" } ] }
Updating product schedules
Use the PUT product/schedule/{productId}/corridor/{corridorId}/store/{storeId}
endpoint to update the schedules of your product by store and corridor.
To update the schedules for your product by a corridor:
Make PUT request to following URL, and set JSON to body request with this objects.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/product/schedule/{productId}/corridor/{corridorId}/store/{storeId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
This is an example of JSON in request body:
{ "schedule_details": [ { "id": 5, "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "10:00:00", "ends_time": "16:00:00" } ] }
Note
The values from this JSON
are not real data. Ensure to replace them with your data when making API requests.
System returns JSON response like this:
{ "product_id": 789, "corridor_id": 123, "store_id": 999, "schedule_details": [ { "id": 5, "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "10:00:00", "ends_time": "16:00:00" } ] }
Deleting product schedules
Use the DELETE product/schedule/{productId}/corridor/{corridorId}/store/{storeId}/{corridorProductScheduleId}
endpoint to delete the schedules of your product by store and corridor.
To delete the schedules for your product by a corridor:
Make DELETE request to following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/product/schedule/{productId}/corridor/{corridorId}/store/{storeId}/{corridorProductScheduleId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON response like this:
{ "product_id": 789, "corridor_id": 123, "store_id": 999, "schedule_details": [ { "id": 5, "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "10:00:00", "ends_time": "16:00:00" } ] }
Note
The list in schedule_details represents the schedules that still persist in your product.
By SKU
SKU information
Use the GET sku/corridor/{corridorId}/integration/{integrationId}
endpoint to get the skus of your Store By corridor.
To get the sku list of your store by Corridor:
Make a GET
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/sku/corridor/{corridorId}/integration/{integrationId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON response like this:
[ { "sku": 987, "name": "Americano Caliente 16 oz", "description": "16 oz. Espresso con agua caliente.", "corridor_id": 123, "integration_id": "888" }, { "sku": 988, "name": "Americano Caliente 20 oz", "description": "20 oz. Espresso con agua caliente.", "corridor_id": 123, "integration_id": "888" } ]
Getting product schedules
Use the GET sku/schedule/{sku}/corridor/{corridorId}/integration/{integrationId}
endpoint to get the schedules of your product by store and corridor.
To get the schedules for your product by a corridor:
Make a GET
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/sku/schedule/{sku}/corridor/{corridorId}/integration/{integrationId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON response like this:
{ "sku": 987, "corridor_id": 123, "integration_id": "888", "schedule_details": [ { "id": 4, "days": "mon,tue,wed,thu,fri,sat,sun,hol", "starts_time": "08:00:00", "ends_time": "23:00:00" } ] }
Creating product schedules
Use the POST sku/schedule/{sku}/corridor/{corridorId}/integration/{integrationId}
endpoint to create the schedules of your product by store and corridor.
To create the schedules for your product by a corridor:
Make a POST
request to the following URL, and add a JSON
to the body of the request with the following objects.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/sku/schedule/{sku}/corridor/{corridorId}/integration/{integrationId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
This is an example of JSON in request body:
{ "schedule_details": [ { "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "08:00:00", "ends_time": "20:00:00" }, { "days": "hol", "starts_time": "13:00:00", "ends_time": "22:00:00" } ] }
Note
The values from this JSON
are not real data. Ensure to replace them with your data when making API requests.
System returns JSON response like this:
{ "sku": 987, "corridor_id": 123, "integration_id": "888", "schedule_details": [ { "id": 5, "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "08:00:00", "ends_time": "20:00:00" }, { "id": 6, "days": "hol", "starts_time": "13:00:00", "ends_time": "22:00:00" } ] }
Updating product schedules
Use the PUT sku/schedule/{sku}/corridor/{corridorId}/integration/{integrationId}
endpoint to update the schedules of your product by store and corridor.
To update the schedules for your product by a corridor:
Make PUT request to following URL, and set JSON to body request with this objects.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/sku/schedule/{sku}/corridor/{corridorId}/integration/{integrationId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
This is an example of JSON in request body:
{ "schedule_details": [ { "id": 5, "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "10:00:00", "ends_time": "16:00:00" } ] }
Note
The values from this JSON
are not real data. Ensure to replace them with your data when making API requests.
System returns JSON response like this:
{ "sku": 987, "corridor_id": 123, "integration_id": "888", "schedule_details": [ { "id": 5, "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "10:00:00", "ends_time": "16:00:00" } ] }
Deleting product schedules
Use the DELETE sku/schedule/{sku}/corridor/{corridorId}/integration/{integrationId}/{corridorProductScheduleId}
endpoint to delete the schedules of your product by store and corridor.
To delete the schedules for your product by a corridor:
Make DELETE request to following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/sku/schedule/{sku}/corridor/{corridorId}/integration/{integrationId}/{corridorProductScheduleId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON response like this:
{ "sku": 987, "corridor_id": 123, "integration_id": "888", "schedule_details": [ { "id": 5, "days": "mon,tue,wed,thu,fri,sat,sun", "starts_time": "10:00:00", "ends_time": "16:00:00" } ] }
Note
The list in schedule_details represents the schedules that still persist in your product.
Store hours
Utils API allows you to manage your store hours.
You can create, update and get store hours on the platform.
Important
Each store uses its own scheduling settings.
The main rules that involve managing schedules through the Utils API consist of the following::
-
A time slot is a segment of time in which the store has operations. There can be multiple time bands in a day of operation. The time slot is made up of a starts_time and ends_time, these fields are the start time and the end time of the slot is denoted by the 24-hour format HH: mm: ss
-
Once a schedule is created for any store, it will be available in the app at that time.
-
You can set many time ranges for a store, but those ranges cannot overlap.
-
Schedule types are regular, holidays and special days.
-
The regular schedule is a set of time bands that represent the hours of operations during the week (Monday - Sunday).
-
The allowed values to indicate the days programmed in the schedules are the following:
- mon = Monday
- tue = Tuesday
- wed = Wednesday
- thu = Thursday
- fri = Friday
- sat = Saturday
- sun = Sunday
-
Holidays are a set of schedules classified by day and month, which are previously configured by Rappi according to the official calendar of each country.
-
A store is taken as 24 hours if it does not have settings for any regular day and holidays.
Note
Rappi gives you the facility to have a special schedule for those days since they usually represent sales like a Sunday.
- We know that you want to celebrate special dates, for example, your establishment's anniversary , therefore we give you the possibility to create special days and also manage the time slots for that day.
Important
It is recommended that the closing time (the last time slot of the current day) is configured based on the average cooking time of your store, this way you would avoid generating an order in the last minute before closing the establishment. In addition, you will give our RT time to collect the order.
- The main properties required for managing schedules through the Utils API consist of:
- store_id: The store identifier in Rappi
- day: Scheduled day of the week when store could be available (values: mon,tue,wed,thu,fri,sat,sun,hol)
- starts_time: A specific time for the given days, when the corridor or product begins to be available for users
- ends_time: A specific time for the given days, when the corridor or product become unavailable to users
By store
Regular schedule information
Use the endpoint GET store/schedule/{storeId}
to get all the regular hours for your store.
To get your store's regular hours:
Make a GET
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/store/schedule/{storeId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON
response like this:
{ "storeScheduleDays": [ { "day": "mon", "storeSchedules": [ { "id": 1171828, "startsTime": "07:00:00", "endsTime": "09:00:00" } ] }, { "day": "tue", "storeSchedules": [ { "id": 21126084, "startsTime": "00:00:00", "endsTime": "05:00:00" } ] }, { "day": "sun", "storeSchedules": [ { "id": 1171833, "startsTime": "00:00:00", "endsTime": "13:00:00" } ] } ] }
Holidays schedule information
Use the endpoint GET store/schedule/{storeId}/holiday
to get all the holiday hours for your store.
To get your store's hours for holidays:
Make a GET
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/store/schedule/{storeId}/holiday
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON
response like this:
{ "storeSpecialScheduleDays": [ { "id": 270, "name": "Festivo", "month": 2, "day": 22, "cityId": null, "storeSchedules": [] }, { "id": 10342, "name": "Festivo", "month": 3, "day": 15, "cityId": null, "storeSchedules": [ { "id": 2334763, "startsTime": "00:00:00", "endsTime": "10:00:00" } ] } ] }
Special days schedule information
Use the endpoint GET store/schedule/{storeId}/special
to get all the special hours for your store.
To get your store's hours for special days:
Make a GET
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/store/schedule/{storeId}/special
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON
response like this:
{ "storeSpecialScheduleDays": [ { "id": 270, "name": "Daniel birthday", "month": 6, "day": 20, "cityId": null, "storeSchedules": [] }, { "id": 10342, "name": "Anniversary", "month": 3, "day": 15, "cityId": null, "storeSchedules": [ { "id": 2334761, "startsTime": "00:00:00", "endsTime": "10:00:00" } ] } ] }
Creating time slots for regular hours
Use the endpoint POST store/schedule/{storeId}
to create a time slot on a regular hours day.
To create a time slot on a regular hours day of your store:
Make a POST
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/store/schedule/{storeId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON
response like this:
{ "day": "mon", "starts_time": "08:00:00", "ends_time": "09:00:00" }
Note
The values from this JSON
are not real data. Ensure to replace them with your data when making API requests.
System returns JSON
response like this:
{ "day": "mon", "storeSchedules": [ { "id": 21126292, "starts_time": "08:00:00", "ends_time": "09:00:00" } ] }
Creating time slots for holidays
Use the endpoint POST store/schedule/{storeId}/holiday/{holidayDayId}
to create a time slot on a holiday.
To create a time slot on a holiday:
Make a POST
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/store/schedule/{storeId}/holiday/{holidayDayId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON
response like this:
[ { "startsTime": "10:00:00", "endsTime": "12:00:00" }, { "startsTime": "13:00:00", "endsTime": "15:00:00" } ]
Note
The values from this JSON
are not real data. Ensure to replace them with your data when making API requests.
System returns JSON
response like this:
[ { "id": 21126293, "startsTime": "10:00:00", "endsTime": "12:00:00" }, { "id": 21126294, "startsTime": "13:00:00", "endsTime": "15:00:00" } ]
Creating a special day
Use the endpoint POST store/schedule/{storeId}/special
to create a special day for your store.
To create a special day for your store
Make a POST
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/store/schedule/{storeId}/special
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON
response like this:
{ "day": 10, "month": 10, "name": "Special day", "schedules": [ { "startsTime": "09:00:00", "endsTime": "12:00:00" }, { "startsTime": "15:00:00", "endsTime": "16:00:00" } ] }
Note
The values from this JSON
are not real data. Ensure to replace them with your data when making API requests.
System returns JSON
response like this:
{ "name": "Dia especial", "month": 11, "day": 10, "storeSchedules": [ { "id": 21126295, "startsTime": "09:00:00", "endsTime": "12:00:00" }, { "id": 21126296, "startsTime": "15:00:00", "endsTime": "16:00:00" } ] }
Creating time slots for special days
Use the endpoint POST store/schedule/{storeId}/special/{specialDayId}
to create a time slot on a special day.
To create a time slot on a special day:
Make a POST
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/store/schedule/{storeId}/special/{specialDayId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON
response like this:
[ { "startsTime": "12:00:00", "endsTime": "13:00:00" }, { "startsTime": "21:00:00", "endsTime": "22:00:00" } ]
Note
The values from this JSON
are not real data. Ensure to replace them with your data when making API requests.
System returns JSON
response like this:
[ { "id": 21126293, "startsTime": "12:00:00", "endsTime": "13:00:00" }, { "id": 21126294, "startsTime": "21:00:00", "endsTime": "22:00:00" } ]
Updating time slots
Use the endpoint PUT store/schedule/{storeId}/{storeScheduleId}
to update a time slot.
To update a time slot for your store:
Make a PUT
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/store/schedule/{storeId}/{storeScheduleId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
System returns JSON
response like this:
{ "startsTime": "07:00:00", "endsTime": "08:00:00" }
Note
The values from this JSON
are not real data. Ensure to replace them with your data when making API requests.
System returns JSON
response like this:
{ "day": "mon", "storeSchedules": [ { "id": 1171828, "startsTime": "07:00:00", "endsTime": "08:00:00" } ] }
Note
Given the ID of the time slot, the system will determine to which type of schedule it belongs, in this example, the system identified that this time slot belongs to the day Monday of the regular schedule
Deleting time slots
Use the endpoint DELETE store/schedule/{storeId}/{storeScheduleId}
to delete a time slot.
To delete a time slot from your store:
Make a DELETE
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/store/schedule/{storeId}/{storeScheduleId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
The system does not return a response, so if you receive a 200 OK status, it means that the deletion was successful.
Deleting special days
Use the endpoint DELETE store/schedule/{storeId}/special/{specialDayId}
to delete a special day.
To delete a special day from your store:
Make a DELETE
request to the following URL.
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/store/schedule/{storeId}/special/{specialDayId}
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains.
The system does not return a response, so if you receive a 200 OK status, it means that the deletion was successful.
Stores status menus
The Utils API enables you to get all the menus of a store and check out its status
Getting status of the stores menus
To get all the menus statuses of a store:
System returns JSON response like this:
Make a GET
request to the following URL:
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/store/menu/{storeId}/details?from={from}&to={to}
-
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains. -
{storeId}
: This is the identifier of your store integration. -
{from}
: This is the from date in format yyyy/MM/dd (this parameter is optional) -
{to}
: This is the end date in format yyyy/MM/dd (this parameter is optional)
In case of not sending the from
or to
parameters, it will show the data from a month ago to the current date
System returns JSON response like this:
[ { "menu_id": "23236", "status": "ERROR_MA", "status_description": "An error has occurred in the sent menu flow.", "created_at": "2021-04-29 13:41:49.389", "updated_at": "2021-04-29 13:42:01.024", "error_description": "[Store: CO900113276]: Error finishing review. Code: 400 BAD_REQUEST. Message: {\"id\":400,\"message\":\"Estado invĂĄlido\",\"code\":\"partner.menu.status.invalid\"}" }, { "menu_id": "23193", "status": "APPROVED", "status_description": "Final status when the review is approved in the partner manager portal.", "created_at": "2021-04-27 17:40:32.021", "updated_at": "2021-04-27 17:44:00.268", "error_description": "" } ]
Getting status of the store products
To get all the products and toppings statuses of a store:
Make a GET
request to the following URL:
URL: https://{COUNTRY_DOMAIN}/api/rest-ops-utils/menu/integration/{integrationId}
-
{COUNTRY_DOMAIN}
: Your Rappi Country Domain. See the list of Country Domains. -
{integrationId}
: This is the identifier of your store integration.
System returns JSON response like this:
{ "corridors": [ { "id": "1000", "name": "Platos variados", "description": "", "storeId": "9000", "integrationId": "9000" } ], "products": [ { "id": "10", "sku": "2021", "name": "Plato normal", "description": "Tiene de todo", "active": true, "isAvailable": true, "corridorId": "1000" } ], "toppingsCategories": [ { "id": "20", "sku": null, "description": "Acompañamiento", "productId": "10", "toppings": [ { "id": "341376951", "sku": "3033", "description": "Papas", "activated": true } ] } ] }
Frequently asked questions about updating schedules
-
What does it mean for an aisle to have a schedule?
It means that the aisle will be displayed in the user's app only at the configured hours.
-
What happens if an aisle has a different schedule than the store?
The fact that an aisle has a different schedule from the store means that the aisle will only be displayed at the configured time, for example: if your store is open from 8:00 am to 6:00 pm and you have a âBreakfastâ aisle with a set time from 8:00 am to 11:30 am, the aisle will only be shown at this time, even if your store is open for longer
-
What does it mean for a product to have a schedule?
It means that the product will be displayed in the user's app only at the configured hours.
-
What happens if you set different hours for the aisle and the product?
When setting different times, the product's time prevails over the aisle time, so the aisle is enabled according to the product's time, showing only that product.
For example: if the product âOrange Juiceâ is included in the âBreakfastâ aisle, and the product's schedule is from 7:00 am to 11:30 am and the aisle's schedule is from 8:00 am to 11:30 am, then at 7:00 am the âBreakfastâ aisle is enabled and shows only the âOrange Juiceâ product and at 8:00 am the aisle shows the other products it contains that have the same schedule.
-
What schedule settings can be handled?
The configuration allows the management of a calendar, that is, by days and by hours, it also includes a start time and an end time.
-
What if aisles and products DO NOT have a set schedule?
Their hours will be the same as the store's schedule, therefore, the entire menu will be displayed during the store's opening hours.
-
Is it possible to update the schedule of aisles and products only for a branch store?
Regardless if you send the information at the branch store level, the information is updated at the head store level, that is, the update is performed for the head stores, so the change is reflected both in the head store and in all branch stores associated with it
-
Do store hours prevail over products and aisles hours?
Store hours prevail over aisles and products hours