Submenu desarrolladores

API de développement

Ce document est destiné à spécifier l'API qui sera consommée par les fournisseurs de services.

Les fournisseurs de services auront une API RESTful pour pouvoir consommer le service souhaité.

 

Validation du Access Token

Pour vérifier si un token d'accès est valide et quelle est la portée avec laquelle il est compté, l'api suivant est défini.

Vous pouvez étendre cette structure en ajoutant des attributs au niveau supérieur du JSON. Si vous souhaitez utiliser ces attributs pour communiquer avec d'autres domaines, ils doivent être enregistrés dans le registre "OAuth Token Introspection Response".

Des réponses différentes doivent être générées pour le même token, selon la personne qui a effectué la demande. Pour éviter les fuites d'informations.

Celui qui effectue la demande de vérification peut mettre en cache la réponse. Mais court le risque que le token soit invalidé par inadvertance.

Pour plus d'informations, voir [RFC 6749] (https://tools.ietf.org/html/rfc6749).

 

REQUEST

HTTP Method:
    POST
Root:
mcg/v1/tokeninfo

Headers:

Header

Valeur

Description

Authorization

$TYPE $JWT

 

Content-type

application/x-www-form-urlencoded

Obligatoire.

 

Body:

 

Champ

Type

Descripción

token

String

Obligatoire. Token à vérifier

token_type_hint

String

Optionnel. Token type. Permet une vérification plus rapide. Si elle n'est pas trouvée, le token doit être vérifié en ignorant ce champ.

 

RESPONSE

Headers:

 

Header

Valeur

Description

Content-type

application/json

Obligatoire.

 

Body:

 

Champ

Type

Description

active

Boolean

Obligatoire. Indique si le token est toujours valide ou, en contrepartie, s'il a expiré ou révoqué.

scope

String

OPTIONNEL. Chaîne contenant la liste des étendues associées au token séparées par un espace.

client_id

String

OPTIONNEL. Identifiant du client pour le client OAuth 2.0 qui a demandé ce token.

username

String

OPTIONNEL. Identifiant lisible par l'homme pour le propriétaire de la ressource qui a autorisé ce token.

token_type

String

OPTIONNEL. Type of the token as defined in Section 5.1 of OAuth 2.0 [RFC6749] (Bearer or Mac, no entendi si son solo estos 2 o se puede implementar adhoc).

exp

Integer timestamp

OPTIONNEL. Indique quand le token expire, en comptant le temps en secondes à partir du 1er janvier 1970 UTC.

iat

Integer timestamp

OPTIONNEL.Indique quand le token a été délivré, en comptant le temps en secondes à partir du 1er janvier 1970 UTC.

nbf

Integer timestamp

OPTIONNEL. Indique à partir de quand le token sera activé, en comptant le temps en secondes à partir du 1er janvier 1970 UTC.

sub

String

OPTIONNEL. Objet du token, tel que défini dans JWT [RFC7519]. Habituellement, un identifiant lisible par machine du propriétaire de la ressource qui a autorisé ce token.

aud

String

OPTIONNEL. Identificateur de chaîne spécifique au service ou liste d'identificateurs de chaîne représentant le public visé pour ce token, tel que défini dans JWT [RFC7519] [RFC7519].

iss

String

OPTIONNEL. Chaîne représentant l'émetteur de ce token, tel que défini dans JWT [RFC7519].

ti

String

OPTIONNEL. Identificateur de chaîne pour le token, tel que défini dans JWT [RFC7519].

 

Services

Les services sont consommés via un point d'accès commun. Selon la configuration envoyée, c'est le service qui sera exécuté.

 

HTTP Method:
    POST
Root:
/Services

 

Headers:

 

Header

Valeur

Description

Authorization

Bearer $JWT

Obligatoire. Authentication Token.

Content-type

Application/json

Obligatoire. UUID

 

Body:

 

Field

Type

Description

provider_id

Int64

Obligatoire. Service Provider Id.

service_token

String

Obligatoire. UUID

service_id

int

ObligatoireId de service à consommer

parameters

Parameters

{

destination”: $USER_ID,

notification”:{

titulo”:”Clínica Dr. Nano. Turno”

mensaje”:”Oftalmologo Lunes 29-10 a las 9:15Hs.”

canal”: SMS

},

advertisement”: {

titulo”:”Autos usados CHECHO”

mensaje”:”Lleve su auto usado con Financiameiento ...”

canal”: FCM

}

}

 

Paramètres
Contient les paramètres nécessaires pour consommer le service spécifié.

 

Champ

Type

Description

destination

String

Conditionnel. Seulement si le service l'exige. User_id de la destination.

notification

Notifications

Conditionnel. Seulement si le service l'exige. User_id de la destination..

{

Titre”:”Clinique Dr. Nano. Turno”

Message”:”Ophtalmologiste Lundi 29-10 a las 9:15Hs.”

Canal”: SMS

}

advertisement

Advertisements

Conditionnel. Seulement si le service l'exige. User_id de la destination..

{

Titre”:”Voitures d'occasion CHECHO”

Message”:”Portez votre voiture d'occasion avec le financement...”

Canal”: FCM

}

qr_code

QRcodes

Conditionnel. Seulement si le service l'exige. User_id de la destination..

 

microPayment

MicroPayments

Conditionnel. Seulement si le service l'exige. User_id de la destination..

...

Conditionnel. Only if the service needs it. User_id of the destination. ...

 

Notifications
C'est le corps de la notification qui doit être généré.

 

Champ

Type

Description

Tittle

String

Obligatoire. Le titre de la notification ne dépasse pas 32 caractères

Message

String

Obligatoire. Contenu de la Notification. Pas plus de 166 caractères

Cannel

int

Obligatoire. Notification Shipping Code.

Ej: SAT, SMS, FCM, etc.

Link

String

Optionnel. Selon le canal, il peut être disponible ou non.

 

Publicités
C'est le corps de la publicité qui doit être généré.

 

Champ

Tipo

Description

Tittle

String

Obligatoire. Titre de publicité ne dépassant pas 32 caractères

Message

String

Obligatoire. Contenu de la publicité. Pas plus de 166 caractères

Cannel

int

Obligatoire. Notification Shipping Code

Ej: SAT, SMS, FCB, etc.

Link

String

Optionnel. Selon le canal, ce lien peut faire partie du message.

Picture

Base64

Optionnel. Selon le canal, il peut être disponible ou non.

 

QRcodes
 Tickets et cupones...

Micropaiements
No sé a qué se refiere esto...

 

Codes de réponse

Code

Status

Description

200

OK

Code d'état général à succès. C'est le code le plus courant. Il sert à indiquer le succès de l'opération.

201

CREATED

Création réussie (peut être utilisé pour POST ou PUT). Vous devriez avoir renvoyé un lien vers le registre nouvellement créé (par POST). Une réponse peut être présente dans le corps ou non.

204

NO CONTENT

Indique le succès de l'opération mais ne renvoie rien dans le corps de la réponse, il est généralement utilisé pour les opérations DELETE et PUT.

400

BAD REQUEST

Erreur générale lors de la génération d'un état invalide traitant la requête. Par exemple, des erreurs dans les validations de domaine, le manque d'informations obligatoires, etc..

401

UNAUTHORIZED

Erreur générée lorsque le token d'authentification n'a pas été trouvé ou invalide.

403

FORBIDDEN

Erreur générée lorsque l'utilisateur n'a pas les autorisations pour exécuter l'opération ou que la ressource n'est pas disponible pour une raison quelconque (par exemple, restrictions de temps, etc.).

404

NOT FOUND

Il est utilisé lorsque la ressource demandée n'existe pas ou n'est pas accessible. Pour des raisons de sécurité, 401 et 403 erreurs peuvent être masquées avec cette erreur.

405

METHOD NOT ALLOWED

Utilisé pour indiquer que l'URL demandée existe, mais la méthode HTTP demandée n'est pas applicable. Par exemple, POST/users/12345 où l'API ne prend pas en charge la création de ressources de cette façon (avec une ID fournie). L'en-tête Autoriser HTTP doit être défini lors du renvoi d'un 405 pour indiquer les méthodes HTTP supportées. Dans le cas précédent, l'en-tête ressemblerait à "Autoriser: GET, PUT, DELETE"

409

CONFLICT

Chaque fois qu'un conflit de ressources serait causé par l'exécution de la demande. Les entrées en double, telles que l'essai de créer deux clients avec la même information, et la suppression d'objets racine lorsque la cascade-delete n'est pas prise en charge sont quelques exemples.

500

INTERNAL SERVER ERROR

Ne renoncez jamais intentionnellement. L'erreur générale de prise en charge lorsque le côté serveur lance une exception. Utilisez-le uniquement pour des erreurs que le consommateur ne peut pas résoudre à partir de sa fin..

Entity Pager Example