---
# System prepended metadata

title: Gestion du courrier

---

# Gestion du courrier
Présentation des différentes méthodes de gestion du courrier mises à disposition par le web service CADIC.

---

## URL de base
```{URL_CADIC}/exl-php/webservices/courrier/index.php```

---


## Création d'un nouveau courrier (Insertion dans la base de données Archivistique)

### Méthode HTTP :
```POST```

### Paramètres en URL
Aucun

### Paramètres Data
* archive=[file]  
  Cet item correspond au fichier .zip qui sera envoyé .
  Ce fichier Zip doit contenir deux éléments :
    *   Un fichier manifest.xml au format seda2.1 décrivant les métadonnées associés aux documents numériques
    *   Un fichier numérique devant être associé à la description Archivistique
  


### Réponse de réussite :
* Code HTTP : 201
* Content: 
```
{
    status: "ok", 
    error: false, 
    message: "Fichier téléversé avec succès.",
    data: {
      fichiers: [...]
    }
}
```

### Exemple d'appel :
```js
var formData = new FormData(document.getElementById("form"));
$.ajax({
    url: "{URL_CADIC}/exl-php/webservices/courrier/index.php",
    type : "POST",
    data: formData,
    contentType: false,
    cache: false,
    processData: false,
    success : function(res) {
      console.log(res);
    }
});
```

---

## Mise à jour d'un courrier

### Méthode HTTP :
```PUT```

### Paramètres en URL
Aucun

### Paramètres Data
* archive=[file]  
  Cet item correspond au fichier .zip qui sera envoyé 
  Ce fichier Zip doit contenir deux éléments :
    *   Un fichier manifest.xml au format seda2.1 décrivant les métadonnées associés aux documents numériques
    *   Un fichier numérique devant être associé à la description Archivistique
    
### Réponse de réussite :
* Code HTTP : 200
* Content: 
```
{
    status: "ok", 
    error: false,
    message: "Enregistrement mis à jour avec succès."
    data: {
      DOS_COTE1: ...,
      DOS_TITRE: ...,
      langage: ...
    }
}
```

### Exemple d'appel :
```js 
var formData = new FormData(document.getElementById("form"));
$.ajax({
    url: "{URL_CADIC}/exl-php/webservices/courrier/index.php",
    type : "PUT",
    data: formData,
    contentType: false,
    cache: false,
    processData: false,
    success : function(res) {
      console.log(res);
    }
});
```

---

## Récupération d'un courrier à partir de sa cote (ArchiveUnit id_Language)

### Méthode HTTP :
```GET```

### Paramètres en URL
* DOS_COTE1 = "{COTE}_{LANGAGE}" - [string]  (est construite en suffixant la valeur de ArchiveUnit id (référence du courrier arrivé) avec le caractère _  suivi de la valeur de la balise Language : Exemple : CARR20000002_FR ) 
  Cet item correspond à la cote du courrier présent dans Base de donnéees Archivistique

### Paramètres Data
Aucun

### Réponse de réussite :
* Code HTTP : 200
* Content : 
```
{
    status: "ok", 
    error: false, 
    data: {
      id: ...,
      DOS_COTE1: ...,
      DOS_TITRE: ...,
      url: ...
    }
}
```

### Exemple d'appel :
```js
$.ajax({
    url: "{URL_CADIC}/exl-php/webservices/courrier/index.php/DOS_COTE1={param_url_cote}",
    type : "GET",
    contentType: false,
    cache: false,
    processData: false,
    success : function(res) {
      console.log(res);
    }
});
```

---

## Récupération de tous les courriers du Fond de Regroupement Courrier

### Méthode HTTP :
```GET```

### Paramètres en URL
Aucun

### Paramètres Data
Aucun

### Réponse de réussite :
* Code HTTP : 200
* Content: 
```
{
    status: "ok", 
    error: false, 
    data: [
      {
        DOS_ARC_REF: ...,
        DOS_COTE1: ...,
        DOS_TITRE: ...,
        url: ...
      },
      ...
    ]
}
```

### Exemple d'appel :
```js
$.ajax({
    url: "{URL_CADIC}/exl-php/webservices/courrier/index.php",
    type : "GET",
    contentType: false,
    cache: false,
    processData: false,
    success : function(res) {
      console.log(res);
    }
});
```

---

## Recherche Personnalisée de courriers

### Méthode HTTP :
```GET```

### Paramètres en URL
* action = "recherche" [string]
* Autant de critère(s) que souhaité en sachant que chaque critère est lié à un champ présent en base. (ex: WHERE_DOS_FT_TEXT recherche dans le champ DOS_FT_TEXT  
  Liste des critères :
   * WHERE_DOS_FT_TEXT (Recherche sur le contenu du Document associé au manifest.xml)
   * WHERE_DOC_AB (recherche sur le champ Description du manifest.xml)
    * WHERE_DOS_DATE_ENREGISTREMENT_COURRIER ou autre champs date : exemple : 
        * WHERE_DOS_DATE_ENVOI_COURRIER
        * WHERE_DOS_DATE_RECEPTION_COURRIER
        * WHERE_DOS_DATE_CREATION_COURRIER
        * WHERE_DOS_DATE_ENREGISTREMENT_COURRIER  
        * WHERE_DOS_DATE_DEBUT_COURRIER

### Paramètres Data
Aucun

### Réponse de réussite :
* Code HTTP : 200
* Content: 
```
{
    status: "ok", 
    error: false, 
    data: [
      { -- Champs de la table au format key:value -- },
      ...
    ]
}
```

### Exemple d'appel :
```js
$.ajax({
    url: "{URL_CADIC}/exl-php/webservices/courrier/index.php?WHERE_DOC_AB=fonction&WHERE_DOC_FT_TEXT=majest%C3%A9&action=recherche",
    type : "GET",
    contentType: false,
    cache: false,
    processData: false,
    success : function(res) {
      console.log(res);
    }
});
```

---

## Récupération du lien de téléchargement du Courrier

### Méthode HTTP :
```GET```

### Paramètres en URL
* DOS_COTE1 = "{COTE}_{LANGAGE}" - [string] (est construite en suffixant la valeur de ArchiveUnit id (référence du courrier arrivée) avec le caractère _  suivi de la valeur de la balise Language : Exemple : CARR20000002_FR )  
  Cet item correspond à la cote du courrier présent dans ATOM
* action = 'download'  
  Cet item correspond à l'action de récupération d'un courrier (Fichier numérique).

### Paramètres Data
Aucun

### Réponse de réussite :
* Code HTTP : 200
* Content: 
```
{
    status: "ok", 
    error: false, 
    data: {
      DOS_COTE1: ...,
      url: ... 
    }
}
```

### Exemple d'appel :
```js
$.ajax({
    url: "{URL_CADIC}/exl-php/webservices/courrier/index.php/DOS_COTE1={param_url_cote}",
    type : "GET",
    contentType: false,
    cache: false,
    processData: false,
    success : function(res) {
      console.log(res);
    }
});
```

---

## Suppression d'un courrier

### Méthode HTTP :
```DELETE```

### Paramètres en URL
* DOS_COTE1 = "{COTE}_{LANGAGE}" - [string] (est construite en suffixant la valeur de ArchiveUnit id (référence du courrier arrivée) avec le caractère _  suivi de la valeur de la balise Language : Exemple : CARR20000002_FR )  
  Cet item correspond à la cote du courrier présent dans la Base de données Archivistique

### Paramètres Data
Aucun

### Réponse de réussite :
* Code HTTP : 200
* Content: 
```
{
    status: "ok", 
    error: false,
    message: "Cote correctement supprimée"
}
```

### Exemple d'appel :
```js
$.ajax({
    url: "{URL_CADIC}/exl-php/webservices/courrier/index.php/DOS_COTE1={param_url_cote}",
    type : "DELETE",
    contentType: false,
    cache: false,
    processData: false,
    success : function(res) {
      console.log(res);
    }
});
