# eFood Ratings and Review Service These apis deal with customer submitting reviews or ratings against an order. Admin approval of a review is also handled in this service. In development, cuisine base url : `http://api-dev.evaly.com.bd/efood/api/v1.0.0` ### Can Review - `Description:` This api decides whether a user can submit review against an order. User can only submit review is the order is delivered. - `Endpoint` : `/restaurants/users/review/can-review/<invoice_number>` - `Method` : `GET` - `Headers` : - `Authorization` : < access token here > - `Query Parameters` : `N/A` - `Request Body` : `N/A` - `Response Body` : ```json= { "success": true, "message": "Review does not exist", "detail": { "can_review": true } } ``` `message` field contains information whether a review exists or not for the invoice. `detail` field contains the `can_review` option based on which review will be accepted or rejected. ### Get reviews by user with restaurant slug - `Description:` This api shows the list of all the reviews submitted for a restaurant. - `Endpoint` : `/restaurants/users/reviews/<restaurant_slug>` - `Method` : `GET` - `Headers` : `N/A` - `Query Parameters` : `N/A` - `Request Body` : `N/A` - `Response Body` : ```json= { "success": true, "meta_data": { "count": 1, "page_size": 12, "next": null, "previous": null }, "data": [ { "comment": "test test review", "rating": 4, "created_at": "2020-12-21T10:31:33.431474Z", "created_by": { "address": null, "username": "01932062088", "last_name": "v1", "first_name": "Kashfia", "profile_pic_url": "https://images.prothomalo.com/prothomalo-bangla%2F2020-10%2F6e7164ab-2bf3-4b22-8b2e-d728e70d4fee%2Fpolice.png" } } ] } ``` `data` field contains the all the details of the reviews submitted against that restaurant. ### Create restaurant reviews by restaurant slug - `Description:` This api lets a user submit review and rating for a order. - `Endpoint` : `/restaurants/users/review/<invoice_number>` - `Method` : `POST` - `Headers` : - `Authorization` : < access token here > - `Query Parameters` : `N/A` - `Request Body` : ```json= { "slug": "Mezzan-2-btocb", "comment": "some comments", "rating": 4, "images": [ "example.com/some.jpg", "example.com/some2.jpg" ], "other_ratings": { "delivery": { "comment": "bad", "rating": 3 } } } ``` - `Response Body` : ```json= { "success": true, "data": { "id": 10, "restaurant": { "id": 10, "name": "Delight", "slug": "Delight-sezfa" }, "created_at": "2020-12-21T10:40:41.199183Z", "updated_at": "2020-12-21T10:40:41.199214Z", "created_by": { "username": "01932062088", "address": null, "first_name": "Kashfia", "last_name": "v1", "profile_pic_url": "https://images.prothomalo.com/prothomalo-bangla%2F2020-10%2F6e7164ab-2bf3-4b22-8b2e-d728e70d4fee%2Fpolice.png" }, "updated_by": { "username": "01932062088", "address": null, "first_name": "Kashfia", "last_name": "v1", "profile_pic_url": "https://images.prothomalo.com/prothomalo-bangla%2F2020-10%2F6e7164ab-2bf3-4b22-8b2e-d728e70d4fee%2Fpolice.png" }, "comment": "some comments", "rating": 4, "images": [ "example.com/some.jpg", "example.com/some2.jpg" ], "other_ratings": { "delivery": { "comment": "bad", "rating": 3 } }, "not_likes": {}, "misc": {}, "status": "active", "order": 180 } } ``` `data` field contains the all the details of the reviews submitted against that restaurant. ### Get restaurant reviews - `Description:` This api lets a user view the reviews and ratings for a restaurant. - `Endpoint` : `/restaurants/users/reviews/<restaurant_slug>` - `Method` : `GET` - `Headers` : `N/A` - `Query Parameters` : `N/A` - `Request Body` : `N/A` - `Response Body` : ```json= { "success": true, "meta_data": { "count": 1, "page_size": 12, "next": null, "previous": null }, "data": [ { "comment": "some comments", "rating": 4, "created_at": "2020-12-21T10:40:41.199183Z", "created_by": { "address": null, "username": "01932062088", "last_name": "v1", "first_name": "Kashfia", "profile_pic_url": "https://images.prothomalo.com/prothomalo-bangla%2F2020-10%2F6e7164ab-2bf3-4b22-8b2e-d728e70d4fee%2Fpolice.png" } } ] } ``` `data` field contains the all the details of the reviews submitted against that restaurant. ### Admin get review - `Description:` This api lets an admin view a certain review and rating for a restaurant. - `Endpoint` : `/restaurants/admin/review/<review_id>` - `Method` : `GET` - `Headers` : - `Authorization`: < access token here > - `Query Parameters` : `N/A` - `Request Body` : `N/A` - `Response Body` : ```json= { "success": true, "message": "Status OK", "data": { "id": 10, "restaurant": { "id": 10, "name": "Delight", "slug": "Delight-sezfa" }, "created_at": "2020-12-21T10:40:41.199183Z", "updated_at": "2020-12-21T10:40:41.199214Z", "created_by": { "address": null, "username": "01932062088", "last_name": "v1", "first_name": "Kashfia", "profile_pic_url": "https://images.prothomalo.com/prothomalo-bangla%2F2020-10%2F6e7164ab-2bf3-4b22-8b2e-d728e70d4fee%2Fpolice.png" }, "updated_by": { "address": null, "username": "01932062088", "last_name": "v1", "first_name": "Kashfia", "profile_pic_url": "https://images.prothomalo.com/prothomalo-bangla%2F2020-10%2F6e7164ab-2bf3-4b22-8b2e-d728e70d4fee%2Fpolice.png" }, "comment": "some comments", "rating": 4, "images": [ "example.com/some.jpg", "example.com/some2.jpg" ], "other_ratings": { "delivery": { "rating": 3, "comment": "bad" } }, "not_likes": {}, "misc": {}, "status": "active", "order": 180 } } ``` `data` field contains the all the details of the submitted review. ### Admin update review - `Description:` This api lets an admin update the status of a certain review and rating for a restaurant. - `Endpoint` : `/restaurants/admin/review/<review_id>` - `Method` : `PATCH` - `Headers` : - `Authorization`: < access token here > - `Query Parameters` : `N/A` - `Request Body` : ```json= { "status": "active" } ``` - `Response Body` : ```json= { "success": true, "message": "Status OK", "data": { "id": 10, "restaurant": { "id": 10, "name": "Delight", "slug": "Delight-sezfa" }, "created_at": "2020-12-21T10:40:41.199183Z", "updated_at": "2020-12-21T10:52:06.015747Z", "created_by": { "address": null, "username": "01932062088", "last_name": "v1", "first_name": "Kashfia", "profile_pic_url": "https://images.prothomalo.com/prothomalo-bangla%2F2020-10%2F6e7164ab-2bf3-4b22-8b2e-d728e70d4fee%2Fpolice.png" }, "updated_by": { "username": "toma", "address": null, "first_name": null, "last_name": null, "profile_pic_url": null }, "comment": "some comments", "rating": 4, "images": [ "example.com/some.jpg", "example.com/some2.jpg" ], "other_ratings": { "delivery": { "rating": 3, "comment": "bad" } }, "not_likes": {}, "misc": {}, "status": "active", "order": 180 } } ``` `data` field contains the all the details of the submitted review. ### Admin list reviews - `Description:` This api lets an admin view all the reviews and ratings submitted for a restaurant. - `Endpoint` : `/restaurants/admin/reviews/<restaurant_slug>` - `Method` : `GET` - `Headers` : - `Authorization`: < access token here > - `Query Parameters` : `N/A` - `Request Body` : `N/A` - `Response Body` : ```json= { "success": true, "meta_data": { "count": 3, "page_size": 12, "next": null, "previous": null }, "data": [ { "id": 1, "restaurant": { "id": 1, "name": "Mr. Restaurant", "slug": "mr.-restaurant-psoeg" }, "created_at": "2020-11-26T08:54:18.082030Z", "updated_at": "2020-11-26T08:54:18.082054Z", "created_by": { "address": null, "username": "01932062088", "last_name": "v1", "first_name": "Kashfia" }, "updated_by": { "address": null, "username": "01932062088", "last_name": "v1", "first_name": "Kashfia" }, "comment": "errreredddddddsss", "rating": 4, "images": [], "other_ratings": {}, "not_likes": {}, "misc": {}, "status": "active", "order": 8 }, { "id": 2, "restaurant": { "id": 1, "name": "Mr. Restaurant", "slug": "mr.-restaurant-psoeg" }, "created_at": "2020-12-01T13:32:00.215923Z", "updated_at": "2020-12-01T13:32:00.215946Z", "created_by": { "address": null, "username": "01922222222", "last_name": "2", "first_name": "Kashfia" }, "updated_by": { "address": null, "username": "01922222222", "last_name": "2", "first_name": "Kashfia" }, "comment": "okkkkkkkkkkkk", "rating": 5, "images": [], "other_ratings": {}, "not_likes": {}, "misc": {}, "status": "active", "order": 48 }, { "id": 3, "restaurant": { "id": 1, "name": "Mr. Restaurant", "slug": "mr.-restaurant-psoeg" }, "created_at": "2020-12-06T09:53:21.461580Z", "updated_at": "2020-12-06T09:53:21.461604Z", "created_by": { "address": null, "username": "01311133111", "last_name": null, "first_name": null }, "updated_by": { "address": null, "username": "01311133111", "last_name": null, "first_name": null }, "comment": "Shf uvhn shu sv hawghufhh ", "rating": 4, "images": [], "other_ratings": {}, "not_likes": {}, "misc": {}, "status": "active", "order": 63 } ] } ``` `data` field contains all the details of the submitted reviews. ### Get review summary - `Description:` This api lets a user view the summarized rating of a restaurant. - `Endpoint` : `/restaurants/users/review-summary/<restaurant_slug>` - `Method` : `GET` - `Headers` : `N/A` - `Query Parameters` : `N/A` - `Request Body` : `N/A` - `Response Body` : ```json= { "success": true, "data": { "star_1": 0, "star_2": 0, "star_3": 0, "star_4": 2, "star_5": 1, "avg_rating": 4.33, "total_ratings": 3 } } ``` `data` field contains the total ratings submitted against that restaurant.