Aller au contenu

Champs personnalisés des contacts

La consultation est accessible à tout utilisateur authentifié. Les modifications nécessitent le privilège admin_contacts.

Les types utilisés par l’interface d’administration sont string, integer, select, date, radio et checkbox. Les valeurs proposées concernent principalement les types select, radio et checkbox.

Lister les champs personnalisés

Route

GET /rest/contactsCustomFields

Retour

Code HTTP Type Description
200 object Objet contenant la liste customFields, triée par libellé
{
  "customFields": [
    {
      "id": 2,
      "label": "Type de partenaire",
      "type": "select",
      "values": ["Fournisseur", "Association"]
    }
  ]
}

Créer un champ personnalisé

Route

POST /rest/contactsCustomFields

Body

Valeur Type Obligatoire Description
label string Oui Libellé unique du champ
type string Oui Type du champ
values array Non Liste non vide des valeurs proposées ; [] par défaut
{
  "label": "Type de partenaire",
  "type": "select",
  "values": ["Fournisseur", "Association"]
}

Retour

Code HTTP Description Exemple
200 Champ créé {"id":2}
400 Champ invalide ou libellé déjà utilisé {"errors":"Custom field with this label already exists"}
403 Privilège insuffisant {"errors":"Service forbidden"}

Modifier un champ personnalisé

Route

PUT /rest/contactsCustomFields/{id}

Paramètres

Valeur Emplacement Type Obligatoire Description
id URL integer Oui Identifiant du champ
label Body string Oui Nouveau libellé unique
values Body array Oui Valeurs proposées, sans doublon
{
  "label": "Catégorie de partenaire",
  "values": ["Fournisseur", "Association", "Institution"]
}

Le type du champ n’est pas modifiable par cette route. Pour les types select, radio et checkbox, une valeur renommée à la même position est également remplacée dans les contacts existants.

Retour

Code HTTP Description
204 Champ modifié, sans contenu
400 Identifiant, libellé ou liste de valeurs invalide ; champ introuvable
403 Privilège insuffisant

Supprimer un champ personnalisé

Route

DELETE /rest/contactsCustomFields/{id}

Le paramètre id est un entier. La suppression retire aussi la valeur correspondante de tous les contacts et le paramètre de contact associé.

Retour

Code HTTP Description
204 Champ supprimé, sans contenu
400 Identifiant invalide
403 Privilège insuffisant