Kategorien: Alle - groupes - propriétés - modification - gestion

von Service Développement Vor 7 Jahren

265

Gestion des groupes - 1.1.0.0

La gestion des groupes implique la modification de leurs propriétés, tant optionnelles qu'obligatoires. Un groupe se caractérise par un ID et un nom, ces éléments étant essentiels pour son identification.

Gestion des groupes - 1.1.0.0

Gestion des groupes

Données du groupe

Réponse
Données uniquement dans les réponses

Id

Les valeurs retournées correspondent aux valeurs du groupe. L'héritage n'est pas pris en compte
Requêtes
Attention à la modification : si un paramètre n'est pas spécifié alors sa valeur par défaut est prise en compte et écrasera la valeur en BDD
Paramètres optionnels

"id": 0,
"name": "string",
"billingCode": "string",
"csid": "string",
"fax": "string",
"phone": "string",
"mobile": "string",
"companyName": "string",
"culture": "string",
"countryLocalisation": "string",
"backgroundPageId": 0,

users

Paramètre retiré pour la v2

Limite BDD: 2 caractères

Vérifier que le code pays est valide

backgroundPageId

Vérifier que la page de garde est associée à la souscription de l'utilisateur

Vérifier qu'une page de garde existe pour cet id

Vérifier que la culture est valide

Limite BDD: 50 caractères

CSID

Limite BDD: 20 caractères

CompanyName

Paramètres obligatoires

Le nom doit accepter les caractères spéciaux

?./§µ%£¨ù*=)~#~{#~[|{[|[\`^,;:!+°-_èçà)=('"é&²

Limite BDD: 256 caractères

Désactivation des droits d’émission

AU moins 1 paramètre obligatoire manquant

userId manquant

MessageType manquant

Vu avec EC, le code de réponse ne sera pas nécessairement 400 - Bad request

Désactivation des droits d'émission pour le MEDIA email

{ "InvalideArgument" : "value" }

Désactivation réussie

Désactivation des droits SMS

Désactivation des droits FAX

Désactivation des droits d'émission pour un groupe dont le groupe supérieur a les droits

Désactivation des droits pour un sous-groupe

Désactivation des droits pour un groupe sous la racine

Désactivation des droits pour le groupe racine

Désactivation des droits d'émission pour les media 'xxx' pour le groupe 'xxx' pour la souscription 'xxx'

AUCUN des utilisateurs du groupe ne peuvent envoyer des SMS (test d'envoi)

Dans la page "Utilisateurs", Aucun des utilisateurs du groupe n'ont les droits d'émission (édition)

entityrightsuse = 0 dans la table EntityRights pour msg_flow_id = 2, msg_status = -1 et msg_type_id = 1

AUCUN des utilisateurs du groupe ne peuvent envoyer de Fax (test d'envoi)

entityrightsuse = 0 dans la table EntityRights pour msg_flow_id = 2, msg_status = -1 et msg_type_id = 0

On ne peut pas désactiver les droits pour TOUS les média en une seule requête
Les droits sont désactivés par MEDIA
On ne peut pas désactiver les droits pour le Media 'EMAIL', seulement pour le Fax et le SMS

Activation des droits d’émission

L'id du groupe spécifié n'est pas numérique

Le type de message n'est pas valide

Activation des droits d'émission pour le MEDIA email

La requête est invalide pour la souscription 'xxx'. La valeur du paramètre 'xxx' est invalide

{ "InvalideArgument" : "value"}

L'id du groupe spécifié n'existe pas

Groupe 'xxx' n’existe pas pour la souscription 'xxx'

Activation réussie

Activation des droits SMS

Activation des droits FAX

Activation des droits d'émission pour un groupe dont le groupe supérieur n'a pas les droits

Activation des droits pour un sous-groupe

Activation des droits pour un groupe sous la racine

Activation des droits pour le groupe racine

Activation des droits d'émission pour les media 'xxx' pour le groupe 'xxx' pour la souscription 'xxx'

Sms

Le sous-groupe peut envoyer des SMS

TOUS Les utilisateurs du groupe peuvent envoyer des SMS (test d'envoi)

Dans la page "Utilisateurs", TOUS les utilisateurs du groupe ont désormais les droits d'émission (édition)

entityrightsuse = 1 dans la table EntityRights pour msg_flow_id = 2, msg_status = -1 et msg_type_id = 1

Fax

Le sous-groupe peut envoyer des Fax

TOUS Les utilisateurs du groupe peuvent envoyer des Fax (test d'envoi)

entityrightsuse = 1 dans la table EntityRights pour msg_flow_id = 2, msg_status = -1 et msg_type_id = 0

On ne peut pas activer les droits pour le Media 'EMAIL', seulement les Fax et SMS
Les droits sont activés par MEDIA
On ne peut pas activer les droits pour TOUS les média en une seule requête

Paramètre 'messageType'

Vérifier que l'héritage fonctionne

Légende

Recette
Ticket de bug TFS
Comportement attendu NOK
comportement attendu OK
Comportement constaté différent du comportement attendu
A preciser
Question en suspens
Interdiction
Prêter attention
Cas non possible
A rajouter dans WIKI

Récupération de la liste des groupes

L'id spécifié correspond à un utilisateur ou un périférique
L'id spécifié correspond à un utilisateur d'une autre souscription

Warn

Ancun

404 - Not Found

Récupération des informations des groupes pour la souscription 'xxx'

Id non spécifié

Les données du groupe racine de la souscription

Id spécifié

Les données de chaque groupe de la souscription appartenant au group spécifié

Récupération réussie

Récupération des données mises à jour de la liste des groupes...

Suite à suppression de groupe

Suite à modification de groupe

...suite à création de nouveau groupe

Récupération de la liste des sous-groupes directement en-dessous du groupe spécifié, sans les sous-sous-groupes

Récupération de la liste des groupes directement en-dessous du groupe racine, sans les sous-groupes

On spécifie ID = groupe racine

Au moins 20 groupes (performance récupération)

Au moins 2 groupes

Au moins 1 groupe

A

0 groupe

Récupération du groupe racine (pas d'ID spécifié) uniquement

Possibilité de retourner une liste de sous groupe d'un groupe en donnant l'id

Comment précisera-t-on l'ID

car préciser l'ID dans l'URL /{groupId} renvoie à la récupération d'un seul groupe

en cours d'étude par EC

Si ID = groupe directement en-dessous de la racine, retourner tous les sous-groupes juste en-dessous

Si aucun sous-groupe, liste vide

Si ID = groupe racine, retourner tous les groupes juste en-dessous

Si aucun groupe dans la souscription, liste vide

Les éventuels sous-sous-groupes ne doivent pas être retournés

Par défaut, sans ID de groupe spécifié, ne retourne QUE le groupe racine

Récupération d'un groupe

Récupération des informations du groupe 'xxx' pour la souscription 'xxx'

Les données du groupe

Conséquence de la récupération

Aucune

récupération réussie

Récupération d'un groupe avec les informations mises à jour suite à modification

Récupération d'un sous-groupe

Récupération d'un groupe sous la racine

Récupération du groupe racine

Retourne le groupe spécifié

Suppression d'un groupe

Suppression d'un groupe contenant un sous-groupe

Groupe 'xxx' contient des groupes pour la souscription '{SubscriptionId}'

Error : { "Forbidden" : "HasGroup"}

Suppression d'un groupe contenant au moins 1 périphérique si cascadeDelete est à false

Groupe 'xxx' contient des utilisateurs ou périphériques pour la souscription '{SubscriptionId}'

Suppression d'un groupe contenant au moins 1 utilisateur si cascadeDelete est à false

Groupe 'xxx' contient des utilisateurs ou périphériques pour la souscription '{SubscriptionId}'

Error : { "Forbidden" : "HasUser"}

Suppression du groupe racine

Groupe 'xxx' est le groupe racine de a souscription '{SubscriptionId}'

Error : { "Forbidden" : "IsRootGroup"}

Suppression d'un groupe contenant un administrateur de groupe

Groupe 'xxx' contient un admin pour la souscription '{SubscriptionId}'

Error : { "Forbidden" : "HasAdmin"}

403 - Forbidden

8532: [Gestion groupes] Trace et retour incorrecte lors de la suppression d'un groupe possédant un admin de groupe

L'id spécifié n'existe pas

Le groupe 'xxx' a été supprimé pour la souscription 'xxx'

Conséquence de la suppression

Groupe avec utilisateurs et paramètre cascadeDelete à true

Suppression des utilisateurs du groupe

Suppression des routages vers les utilisateurs

Groupe vide

Suppression des routages vers le groupe

Suppression du groupe

Suppression réussie

Suppression d'un groupe qui contient des utilisateurs non admin uniquement (cascadeDelete à true)

Pour tester la suppression des users, Voir "Suppression d'un utilisateur..." dans carte mentale Users v2

8533: [Gestion groupes] Suppression d'un groupe contenant un périphérique

Suppression d'un groupe vide

La suppression du groupe racine est interdite
La suppression d'un groupe contenant des utilisateurs n'est possible que si le paramètre cascadeDelete est à true
La suppression d'un groupe contenant des admin de groupe ou de souscription n'est pas permise
La suppression d'un groupe contenant des sous-groupes n'est pas permise

Modification d'un groupe

Erreur Base de donnée
L'id spécifié n'existe pas en BDD
Mise à jour du groupe racine si au moins 1 paramètre obligatoire ou optionnel manquant

La requête est invalide pour la souscription 'xxx'. Le paramètre 'xxx' est manquant.

{ "InvalideArgument" : arg}

L'id spécifié correspond à un groupe d'une autre souscription

Groupe 'xxx' existe, mais ne fait pas partie de la souscription 'xxx'

L'id spécifié correspond à un utilisateur ou un périphérique

Groupe 'xxx' n'existe pas pour la souscription 'xxx'

404 - Not found

Le nouveau nom du groupe correspond à un autre groupe de la souscription qui est au même niveau

{ "alreadyExists": Id }

Le groupe 'xxx' a été modifié pour la souscription 'xxx'

Les information du groupe modifié au format JSON

8496: [Gestion groupes] Pas de body dans la réponse d'une mise à jour de groupe

200 - Ok

Conséquence de la modification

Les données du groupe non spécifiées en base sont initialisées à leur valeur par défaut

INterprétation: les valeurs à NULL sont héritées

EC et FLN ne comprennent pas bien ce que SS a indiqué

Les Données du groupe sont mises à jour avec les valeurs passées en paramètre

Modification réussie

Mise à jour du groupe racine avec tous les paramètres obligatoires et optionnels

Mise à jour d'un groupe avec nom qui existe déjà dans la souscription mais pour un niveau différent

Mise à jour d'un sous-groupe avec nom identique au groupe racine

Mise à jour d'un groupe de niveau 1 dont le nom est identique à un de ses sous-groupes

Mise à jour d'un groupe de niveau 1 dont le nom est identique au groupe racine

Mise à jour d'un groupe avec caractères spéciaux dans le nom

Mise à jour d'un groupe avec les mêmes informations

Mise à jour d'un groupe avec nom qui existe déjà pour une autre souscription

Mise à jour d'un groupe avec des valeurs ne dépassant pas la taille max des champs en base

0 to 4,294,967,295

Un paramètre non spécifié écrasera la valeur actuelle par la valeur par défaut (héritée)
Liste des propriétés de groupe optionnelles

Tout sauf l'ID et le nom

8524: Api Provisionning : Supprimer l'obligation de la propriété Id de l'objet group

Liste des propriétés de groupe obligatoires

Nom

ID

Pour la même souscription le nom du groupe peut être le même qu'un groupe de niveau différent (créé via le web)

Création d'un groupe

Cas d'erreur
Requête invalide

La valeur de l'OADC ne correspond pas aux critères

l'OADC contient des mots interdits

'a1sfrz3'

'sfr'

l'OADC commence par un chiffre

'1' ou '5x'

l'OADC contient plus de 11 caractères

12 caractères

l'OADC ne contient que des chiffres

X chiffres, X <=11

L'id de la page de garde ne correspond pas à une id correcte

Objet utilisateur avec groupId+Name passés au lieu de objet groupe avec Name

Dépassement de la taille maximale d'un paramètre

{"title":"Création d'un groupe avec des valeurs ne dépassant pas la taille max des champs en base","mediaType":-1,"subtopics":[{"title":"Name","mediaType":-1,"subtopics":[{"title":"<= 256 caractères","mediaType":-1}]},{"title":"billingCode","mediaType":-1,"subtopics":[{"title":"<= 50 caractères","mediaType":-1}]},{"title":"csid","mediaType":-1,"subtopics":[{"title":"<= 20 caractères","mediaType":-1}]},{"title":"oadc","mediaType":-1,"subtopics":[{"title":"<= 11 caractères","mediaType":-1}]},{"title":"fax","mediaType":-1,"subtopics":[{"title":"<= 20 caractères","mediaType":-1}]},{"title":"phone","mediaType":-1,"subtopics":[{"title":"<= 20 caractères","mediaType":-1}]},{"title":"mobile","mediaType":-1,"subtopics":[{"title":"<= 20 caractères","mediaType":-1}]},{"title":"companyName","mediaType":-1,"subtopics":[{"title":"<= 256 caractères","mediaType":-1}]},{"title":"culture","mediaType":-1,"subtopics":[{"title":"<= 50 caractères","mediaType":-1}]},{"title":"countryLocalisation","mediaType":-1,"subtopics":[{"title":"<= 2 caractères","mediaType":-1}]}]}

AU moins 1 paramètre avec une valeur invalide

8495: Api Provisionning : Problème de vérification de culture et countryLocalisation

8494: Api Provisionning : Problème sur la vérification de l'OADC

AU moins 1 paramètre obligatoire vide ou manquant

La requête est invalide pour la souscription 'xxx'. Le paramètre 'xxx' est invalide.

Error : { "InvalidArgument" : "value"}

400 - Bad Request

Authentification incorrecte

Echec de l'authentification : l'entité '{username}' n'est pas autorisé à utiliser l'API ou Echec de l'authentification : l'entête 'Authorization' est null ou ne correspond pas à du basic

401 - Unauthorized

Erreur Base de données

Exploit : Problème avec la base de donnée : xxx

Erreur système

ERROR

Exploit : xxx

Aucun

503 - Service Unavailable

Le nom du groupe est identique à celui d'un autre groupe de la souscription (même niveau)

WARN

Groupe 'xxx' existe déjà pour la souscription 'xxx'

Error : {"AlreadyExists": "id"}

409 - Conflict

8523: Api Provisionning : Précision sur les code retours d'erreur

Cas nominal
Reponse

Trace

Level

INFO

Texte

Création du groupe 'xxx' pour la souscription 'xx'

Body

Les information du groupe créé. Notamment l'id renseigné au format JSON

Code

201 - Created

Conséquences de la création

Les paramètres optionnels non renseignés à la création doivent tous avoir des valeurs héritées

Valeur héritée réelle dans Faxbis WEb

valeur 'NULL' dans l'API

Un id est auto-généré

Le groupe est crée sous le groupe racine de la souscription

Création réussie

Création d'un groupe avec un OADC qui répond aux critères

OADC avec 11 caractères alphanumériques, ne démarrant pas par un chiffre et ne contenant pas de mots interdits

s2

AVM

Critères

Critère OADC 4: certains mots sont interdits (fichier config)

bouygues

0range

orange

sfr

Critère OADC 3: Ne doit pas commencer par un chiffre

Critère OADC 2: <= 11 caractères, pas de minimum

Critère OADC 1: Ne doit pas comporter que des chiffres

Création d'un groupe avec un nom identique à celui du groupe racine

8574:[Utilisateurs] Impossible de créer un groupe sous le groupe racine et avec un nom identique

Création d'un groupe dont le nom existe déjà pour une autre souscription

8493: Api Provisionning : Problème sur les règles d'unicité des groupes

Création d'un groupe avec des valeurs ne dépassant pas la taille max des champs en base

backgroundpageId

<= doit correspondre à un id de page de garde de la souscription

countryLocalisation

<= 2 caractères, doit correspondre au valeur du fichier de config ou ## pour none

culture

<= 6 caractères, avec un format xx-XXX

companyName

mobile

phone

fax

oadc

<= 11 caractères, qui doit correspondre au critère oadc et ne pas être un mot interdit

csid

<= 20 caractères

billingCode

<= 50 caractères

<= 256 caractères

Création d'un groupe comportant des caractères spéciaux

?./§µ%£¨ù*~#|{[\`^,;:!+°-_èçà)=('"é&²

Règles
Si l'id de la page de garde n'existe pas

Retourne la réponse BadRequest

l'API ne permet de créer que des groupes de niveau 1 (juste en-dessous de la racine)
Liste des propriétés optionnelles

l'ID ne doit pas être obligatoire pour la création

8524: Api Provisionning : Supprimer l'obligation de la propriété Id de l'objet group et user

Toutes les propriétés sauf 'Name'

Liste des propriétés obligatoires

Name

Le nom du groupe peut être le même qu'un autre groupe d'une autre souscription
Le nom du groupe ne peut pas être le même qu'un autre groupe de la souscription qui est au même niveau