61 lines
1.5 KiB
Markdown
61 lines
1.5 KiB
Markdown
|
# REST API For Flectra
|
||
|
|
||
|
This module enable REST API in any Flectra applications/modules.
|
||
|
|
||
|
|
||
|
## How to Use
|
||
|
|
||
|
|
||
|
```python
|
||
|
import requests, json, pprint
|
||
|
|
||
|
data = {'username': 'admin', 'password': 'admin', 'db': 'db_flectra_base'}
|
||
|
s = requests.post('http://localhost:7073/api/auth/get_tokens', data=data)
|
||
|
content = json.loads(s.content.decode('utf-8'))
|
||
|
headers = {'access_token': content.get('access_token')}
|
||
|
```
|
||
|
|
||
|
**GET request**
|
||
|
```python
|
||
|
p = requests.get('http://localhost:7073/api/res.partner/', headers=headers,
|
||
|
data=json.dumps({'limit': 2}))
|
||
|
# ***Pass optional parameter like this***
|
||
|
# {
|
||
|
# 'limit': 10, 'filters': "[('supplier','=',True),('parent_id','=', False)]",
|
||
|
# 'order': 'name asc', 'offset': 10
|
||
|
# }
|
||
|
print(p.content)
|
||
|
```
|
||
|
|
||
|
**POST request**
|
||
|
```python
|
||
|
p = requests.post('http://localhost:7073/api/res.partner/', headers=headers,
|
||
|
data=json.dumps({
|
||
|
'name':'John',
|
||
|
'country_id': 105,
|
||
|
'child_ids': [{'name': 'Contact', 'type':'contact'},
|
||
|
{'name': 'Invoice', 'type':'invoice'}],
|
||
|
'category_id': [{'id':9}, {'id': 10}]
|
||
|
}
|
||
|
))
|
||
|
print(p.content)
|
||
|
```
|
||
|
|
||
|
**PUT Request**
|
||
|
```python
|
||
|
p = requests.put('http://localhost:7073/api/res.partner/68', headers=headers,
|
||
|
data=json.dumps({
|
||
|
'name':'John Doe',
|
||
|
'country_id': 107,
|
||
|
'category_id': [{'id': 10}]
|
||
|
}
|
||
|
))
|
||
|
print(p.content)
|
||
|
```
|
||
|
|
||
|
**DELETE Request**
|
||
|
```python
|
||
|
p = requests.delete('http://localhost:7073/api/res.partner/68', headers=headers)
|
||
|
print(p.content)
|
||
|
```
|