diff --git a/README.md b/README.md index 0f2dfde..49fee26 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ This README aims to document functionality of backend as well as required steps - [First Steps](#first-steps) - [Location Data](#location-data) +- [Endpoints](#endpoints) ## First Steps @@ -34,3 +35,110 @@ python manage.py migrate ## Location data To load initial location data use: `python manage.py addgeo` + + +## Endpoints + + +### User Management + +Creation: +- endpoint: /api/v1/users/ +- method: GET +- payload: +```json +{ + "email": "test@email.com", + "full_name": "TEST NAME", + "password": "VENTILADOR2ES1234499.89", +} +``` + +Change password: +- endpoint: api/v1/user/change_password/{user.pk}/ +- method: POST +- payload: +```json +{ + "old_password": "my_old_password", + "password": "SUPERSECRETNEWPASSWORD", + "password2": "SUPERSECRETNEWPASSWORD" +} +``` + +Update user profile: +- endpoint: api/v1/user/update// +- method: PUT +- payload: +```json +{ + "email": "new_user@email.com", + "full_name": "Mr. TEST NAME", +} +``` + +### Authentication + +Implemented using `djangorestframework-simplejwt` + + +New token pair endpoint: `/api/v1/token/` + +Response: +```json +{ + "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTYxMjI3MTcwNSwianRpIjoiZDU4YTgzYzFkYzFkNDI5MTljMGQ0NzcxNzljNzUxYTQiLCJ1c2VyX2lkIjo4fQ.yln80W5lONSyHwwqF4qBBHteqLuRfdLLWuaQANr_vxc", + "access": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjEyMTg4OTA1LCJqdGkiOiIzNGIxMzM3NmU4MWI0OWY5YjU3ZmUxM2M5NThmZWZkYiIsInVzZXJfaWQiOjh9.aRDCUvKj7LCvixjPLC9ghy0h7rfRwR6Lo3A7HX4kSHE" +} +``` +Refresh expired token endpoint: `/api/v1/token/refresh/` + + +### Users + +Endpoint url: `/api/v1/users/` + +Authenticated users cannot create new users +User are inactive by default + +To create user: +```json +{ + "email": "test_user23@mail.com", + "full_name": "Mr Test User", + "password": "wqertewqr32qrewqr", + "provider": "TWITTER" +} +``` + + +### Companies + +Endpoint url: `/api/v1/companies/` + +### Products + +Endpoint url: `/api/v1/products/` + + +### History + +Endpoint url: `/api/v1/history/`: + +Historical records about product importation + + +### Stats +Endpoint url: `/api/v1/stats/` + +logs about user interaction with products links + + +### Geo location + +Location ednpoints: + +- `/api/v1/countries/` +- `/api/v1/regions/` +- `/api/v1/provinces/` +- `/api/v1/cities/`