Référence API

Authentification

Prérequis :
  • Vous pouvez consulter la fiche de présentation de notre implémentation de l'API OAuth 2.0 : Doc-OAuth-US.pdf
  • Un contrat partenaire validé avec immosquare est requis. Notamment pour cadrer l’accès aux données et le contrat RGPD de sous traitance.
  • Notre service OAuth 2.0 implémente les endpoints standards de la norme RFC 6750
    GET  /oauth/authorize # Page d'autorisation utilisateur
    POST /oauth/token     # Récupération du token
    
  • Lors de la première connexion, l'utilisateur sera redirigé vers une page d'autorisation affichant le nom de votre application. Cette autorisation n'est demandée qu'une seule fois et reste valide jusqu'à la révocation du token.
  • immosquare vous fournit un client_uid et un client_secret
  • Vous devez fournir le nom de votre application affiché sur la page d'autorisation ainsi que la/les URL(s) de redirection autorisée(s) (redirect_uri) pour le callback
  • Une fois le token obtenu, incluez-le dans le header Authorization de toutes vos requêtes en utilisant le format standard OAuth 2.0 Bearer Token
    # Format standard OAuth 2.0 Bearer Token Authentication
    POST /path
    Content-Type: application/json
    Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
    
    GET /path
    Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
    

Codes HTTP

Nous utilisons des codes conventionnels de réponse HTTP pour indiquer le succès ou l'échec des requêtes.

💚 Succès (2xx)

HTTP Statut Description
200 - OK Succès de la requête

🚫 Erreurs client (4xx)

HTTP Statut Description
400 - Bad Request Paramètres manquants ou invalides
401 - Unauthorized API Key/token invalide
402 - Request Failed Requête valide mais échec du traitement
404 - Not Found Endpoint inexistant
429 - Too Many Requests Quota de requêtes dépassé

🔧 Erreurs serveur (5xx)

HTTP Statut Description
500, 502, 503, 504 - Server Errors Erreur technique interne

Scopes

Scope Description
public Accès aux informations basiques de l'utilisateur
openid Même accès que le scope public avec ajout d'un noeud id_token conformément à la spécification OpenID Connect (https://openid.net/specs/openid-connect-core-1_0.html)

Endpoints

Profil Utilisateur (UserInfo)

Retourne les informations de l'utilisateur authentifié selon la spécification OpenID Connect.
Requête
GET https://app.mls-connect.com/api/oauth/me
Réponse
Format JSON suivant la norme OpenID Connect (UserInfo Endpoint)
{
  "id": "123456",
  "name": "John Doe",
  "email": "johndoe@me.com",
  "first_name": "John",
  "last_name": "Doe",
  "location": null,
  "description": null,
  "image": "https://example.com/avatars/johndoe.jpg",
  "phone": null,
  "urls": null,
  "languages": ["fr", "en"],
  "extra": {
    "agency": {
      "id": "789abc",
      "name": "immosquare Agency",
      "country": "FR"
    },
    "board": {
      "id": "Yv68Wm",
      "name": "Mls 1",
      "slug": "mls-1",
      "default_language": "fr"
    }
  }
}