[API 3.5] Authentification

Bonjour,

J’essaie actuellement l’API liée à la 3.5-beta2 et je n’arrive pas à en comprendre le fonctionnement. Je souhaiterais effectuer des modifications sur des utilisateurs, et similairement à la version 3 SOAP, je suppose qu’il faut s’authentifier pré-modifications.
J’ai donc essayé avec curl la requête suivante conformément à la doc (https://forge.bluemind.net/staging/doc/latest/web-resources/) : curl -X POST --header 'Content-Type: application/json' --header 'Accept: text/html' -d 'my_password' 'https://monbmdetest.fr/api/auth/login?login=admin%40mydomain.fr&origin=my_origin'
J’obtiens l’erreur : {"errorType":"IllegalArgumentException","message":"Cannot convert password of type java.lang.Class to JSON: Unrecognized token 'my_password': was expecting ('true', 'false' or 'null')\n at [Source: password; line: 1, column: 17]"}

Il semblerait donc que le password attend ici un booléen ? Est-ce que je suis la bonne démarche ? Et qu’en est-il d’une authentification par clé d’API ?

Merci,

Cordialement,

Rémy R.

Bonjour,

Le problème vient de l’outil de génération de documentation, il faut utiliser : -d ‘“my_password”’
Le mot de passe peut être remplacé par une clé d’api.

Bonjour, merci de ta réponse aaujon.

Il semble que l’authentification réussisse, par le mot de passe ou par la clé d’API :

{"status":"Ok","message":null,"authKey":"d1b8482d-66e7-4643-8371-5b96699be9d0","latd":"admin0@global.virt"}

J’essaie maintenant par exemple de requêter la liste des domaines comme ceci : curl -X GET --header 'Content-Type: application/json' --header 'Accept: text/html' https://monbmdetest.fr/api/domains
Et j’obtiens [null], alors que j’ai deux domaines dans mon Bluemind.
Pour une requête renvoyant les e-mails d’un domaine existant :

curl -X GET --header 'Content-Type: application/json' --header 'Accept: text/html' https://monbmdetest.fr/api/mailboxes/mondomaineexistant.fr/_byemail

J’obtiens :

{"errorCode":"PERMISSION_DENIED","errorType":"ServerFault","message":"container mboxes mboxes_mondomaineexistant.fr is not accessible with verb Read for anonymous"}

Est-ce que je saute une étape permettant de conserver mon authentification ?

Merci,

Cordialement,

Rémy R

Remy,

Il manque effectivement la partie concernant l’authentification dans ta requête, pour les domaines :

 curl -X GET --header 'Accept: application/json' --header 'X-BM-ApiKey: xxx-xxxx-xxx' 'https://SERVEUR_BM/api/domains' 

Est ce que tu as vu la documentation de l’api intégré à bluemind ? Si tu ajoute le role ‘doc api’ a un utilisateur, tu auras accès à un line ‘Api doc’ qui permet de générer des exemples de requête.

Effectivement ça fonctionne mieux :).

J’ai ajouté le rôle “Docs API” à un utilisateur mais je ne trouve pas ce line “Api Doc” une fois connecté sur cet user. Est-il actif en beta2 ?

Merci,

Rémy R

Est-ce que le paquet bm-docs est installé ?

C’était bien le paquet bm-docs qui était manquant.

Merci pour les réponses,

Rémy R

Bonsoir,

J’ai une petite question vis à vis de l’API, je me suis permis d’utiliser le même topic.

Est-il possible de remonter le quota effectivement utilisé par les utilisateurs et leurs boîtes mails, à l’aide de l’API 3.5 ? Je n’ai pas su trouver l’info dans la documentation.

Merci,

Rémy R.

Bonjour,

Ce n’est effectivement pas encore possible en 3.5, cela sera ajouté prochainement

Bonjour,

Petite rectification, cela a été ajouté récemment (voir getMailboxQuota de IMailboxes) :
GET /mailboxes/{domainUid}/{uid}/_quota