Resources
========

`Ces Web Services seront supprimés dans la version qui suivra la 18.10`

### Création d'un courrier

*La création d'un courrier se fait en 2 appels successifs*

#### Route
```
POST /rest/res
```

#### Paramètres

##### Body

|  Valeur           |          Type         | Obligatoire           | Description|
|-------------------|-----------------------|-----------------------|-------------|
| collId             | string                | Oui                   | collection |
| table              | string                | Oui                   | Table|
| status             | string                | Oui                   | Statut du courrier|
| fileFormat         | string                | Oui                   | Format du fichier transmit|
| encodedFile        | base64                | Oui                   | Fichier encodé en base64|
| data               | array                 | Oui                   | Tableau de données  |

```
Le tableau data contient les informations du courrier à enregistrer sous la forme (JSON) :
[
    {"column" : "type_id", "value" : "102", "type" : "integer"},
    {"column" : "subject", "value" : "Un courrier à enregistrer", "type" : "string"}
]
Seulement la "column" type_id est obligatoire pour la création d'un courrier
```
Les différentes "column" disponibles sont celles de la table res_letterbox visible [ici](../database_model.md).

###### Exemple
```
// JSON
{
    "status" : "COU",
    "collId" : "letterbox_coll",
    "table" : "res_letterbox",
    "fileFormat" : "PDF",
    "encodedFile": "JVBERi0xLjQgLi4u",
    "data" : [
        {"column" : "type_id", "value" : "102", "type" : "integer"},
        {"column" : "subject", "value" : "Un courrier à enregistrer", "type" : "string"}
    ]
}
```
 
#### Retour
 
| Code Http     | Type  | Description                           | Exemple|
|---------------|-------|---------------------------------------|--------|
| 200           | array | Le courrier a bien été créé           | ['resId' => 123]|
| `400`         | array | Un paramètre obligatoire est manquant | ['errors' => 'Bad Request']|
| `500`         | array | Une erreur s'est produite             | ['errors' => '[ResController create] ...']|

  
#### Route
```
POST /rest/resExt
```

#### Paramètres

##### Body

|  Valeur           |          Type         | Obligatoire           | Description|
|-------------------|-----------------------|-----------------------|-------------|
| resId              | integer               | Oui                   | identifiant du courrier précédemment créé|
| data               | array                 | Oui                   | Tableau de données  |

```
Le tableau data contient les informations du courrier (ext) à enregistrer sous la forme (JSON) :
[
    {"column" : "category_id", "value" : "incoming", "type" : "string"},
    {"column" : "nature_id", "value" : "simple_mail", "type" : "string"}
]
Seulement la "column" category_id est obligatoire
```
Les différentes "column" disponibles sont celles de la table mlb_coll_ext visible [ici](../database_model.md).
 
###### Exemple
```
// JSON
{
    "resId" : 101,
    "data" : [
        {"column" : "category_id", "value" : "incoming", "type" : "string"},
        {"column" : "nature_id", "value" : "simple_mail", "type" : "string"}
    ]
}
```

#### Retour
 
| Code Http     | Type  | Description                               | Exemple|
|---------------|-------|-------------------------------------------|--------|
| 200           | array | Le courrier (ext) a bien été créé         | ['status' => true]|
| `400`         | array | Un paramètre obligatoire est manquant     | ['errors' => 'Bad Request']|
| `404`         | array | L'identifiant en paramètre n'existe pas   | ['errors' => 'Document does not exist']|
| `500`         | array | Une erreur s'est produite                 | ['errors' => '[ResController create] ...']|
