tainacan/docs/tainacan-api.md

287 lines
5.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Tainacan Application Programming Interface
### Brief Description
A REST API for Tainacan Plugin. This API uses the Wordpress REST API.
### Routes and Endpoints
#### Collections
1. Route `wp-json/tainacan/v2/collections/(?P<collection_id>[\d]+)`
1.1. Endpoints supported:
1.1.1 GET (Fetch a collection)
1.1.2 DELETE (Delete or Trash a collection and all your dependencies)
```
To delete pass in body of a requisition the parameter is_permanently as true.
To only trash pass false.
```
1.1.3 PATCH or PUT (Update a collection)
Example of JSON passed in body for updating a collection:
   
```
{
   "name": "string",
   "description": "string",
...
 }
```
2. Route `wp-json/tainacan/v2/collections`
2.1. Endpoints supported:
2.1.1 GET (Fetch all collections)
2.1.2 POST (Create a collection).
Example of JSON passed in body for creating a collection:
```javascript
{
  "name": "string",
   "description": "string",
   "status": "string",
   "order": "string",
   "parent": "integer",
   "slug": "string",
   "default_orderby": "string",
   "default_order": "string",
   "columns": "string",
   "default_view_mode": "string"
 }
```
#### Items
1. Route `wp-json/tainacan/v2/collection/(?P<collection_id>[\d]+)/items`
1.1. Endpoints supported:
1.1.1 GET (Fetch all items from a collection)
1.1.2 POST (Create a item in a collection)
Example of JSON passed in body for creating a item:
```javascript
{
  "title": "string",
   "description": "string",
   "status": "string",
 }
```
2. Route `wp-json/tainacan/v2/items/(?P<item_id>[\d]+)`
2.1. Endpoints supported:
2.1.1 GET (Fetch a item)
2.1.2 DELETE (Delete or Trash a item and all your dependencies)
```
To delete pass in body of a requisition the parameter is_permanently as true.
To only trash pass false.
```
2.1.3 PATCH or PUT (Update a item)
Example of JSON passed in body for updating a item:
   
```
{
   "title": "string",
   "description": "string",
...
 }
```
#### Field
1. Route `wp-json/tainacan/v2/collection/(?P<collection_id>[\d]+)/field`
1.1. Endpoints supported:
1.1.1 POST (Create a field in collection and all your items)
In body of requisition pass a JSON with the attributes of field like:
```javascript
{
      "name": "string",
      "description": "string",
      "field_type": "string",
      "order": "string",
      "parent": "integer",
      "required": "string",
      "collection_key": "string",
      "multiple": "string",
      "cardinality": "string",
      "privacy": "string",
      "mask": "string",
      "default_value": "string",
      "field_type_options": "string",
   }
```
1.1.2 GET (Fetch all collection field)
2. Route `wp-json/tainacan/v2/item/(?P<item_id>[\d]+)/field`
2.1. Endpoints supported:
2.1.1 POST (Set a value of item field)
In body of requisition pass a JSON with value e and id of field like:
```javascript
{
    "field_id": "integer",
    "values": "[any, type]"
 }
```
2.1.2 GET (Fetch all item field, with your values)
#### Taxonomies
1. Route `wp-json/tainacan/v2/taxonomies`
1.1. Endpoints supported:
1.1.1. GET (Fetch all taxonomies)
1.1.2. POST (Create a taxonomy)
Example of JSON passed in body for creating a taxonomy:
```javascript
{
  "name": "string",
   "description": "string",
   "status": "string",
   "parent": "string",
   "slug": "string",
   "allow_insert": "string",
   "collections_ids": "array"
 }
```
2. Route `wp-json/tainacan/v2/taxonomies/(?P<taxonomy_id>[\d]+)`
2.1. Endpoints supported:
2.1.1 GET (Fetch a taxonomy)
2.1.2 DELETE (Delete or trash a taxonomy)
```
To delete pass in body of requisition the parameter is_permanently as true.
To only trash pass false.
```
2.1.3 PATCH or PUT (Update a taxonomy)
Example of JSON passed in body for updating a taxonomy:
   
```javascript
{
   "name": "string",
   "description": "string",
...
 }
```
#### Filters
1. Route `wp-json/tainacan/v2/filters`
1.1 Endpoints supported:
1.1.1 POST (Create a filter)
Example of JSON passed in body for creating a filter:
```javascript
{
  "collection_id": "int",
  "field_id": "int",
"filter_type": "string",
  "filter": {
    "name": "string",
    "description": "string",
...
  }
}
```
1.1.2 GET (Fetch all filters)
2. Route `wp-json/tainacan/v2/filters/(?P<filter_id>[\d]+)`
2.1. Endpoints supported:
2.1.1 DELETE (Delete or trash a filter)
```
To delete pass in body of requisition the parameter is_permanently as true.
To only trash pass false.
```
2.1.2 PATCH or PUT (Update a filter)
Example of JSON passed in body for updating a filter:
```javascript
{
"name": "string",
...
}
```
2.1.3 GET (Fetch a filter)
#### Terms
1. Route `wp-json/tainacan/v2/taxonomy/(?P<taxonomy_id>[\d]+)/terms`
1.1 Endpoints supported:
1.1.1 POST (Create a term in a taxonomy)
Example of JSON passed in body for creating a term:
```javascript
{
  "name": "string",
  "user": "int",
...
}
```
   1.1.2 GET (Fetch all tems of a taxonomy)
2. Route `wp-json/tainacan/v2/taxonomy/(?P<taxonomy_id>[\d]+)/terms/(?P<term_id>[\d]+)`
2.1 Endpoints supported:
2.1.1 GET (Fecth a term of a taxonomy)
2.1.2 PATCH or PUT (Update a term in a taxonomy)
Example of JSON passed in body for updating a term:
```javascript
{
  "name": "string",
...
}
```
2.1.3 DELETE (Delete a term of a taxonoy)