Transactions (Lära)

Transactions

Les « transactions » servent à diviser l'offre de formation des catalogues de votre environnement en sujets, et sont nommées « transactions » dans l'API.

Transaction/get

Permet d'obtenir des informations sur une transaction de votre environnement.
Adresse de l'appel API : https://.../lmsapi/transaction/get

Requête

Exemple de contenu d'appel de requête des informations d'une transaction :

{
"id": "I2Oa5s9JDCGvE7BtvUfxrg%3d%3d"
}

Description des champs

Nom

Obligatoire

Commentaires/description

idX

Identifiant unique de la transaction.
(Type String)

Réponse

Exemple du contenu d'appel de réponse de requête des informations d'une transaction :

{
  "id": "I2Oa5s9JDCGvE7BtvUfxrg%3d%3d",
  "billingID": "vBW5xMw1VQ2A8DFaNy22zA%3d%3d",
  "billingReferenceNumber": 123,
  "billingFamily" : 1,
  "transactionDate": "2025-11-11T13:05:29.963",
  "priceName": "Tarif public",
  "currency": "cdn",
  "basePrice": 50.0,
  "subscribeDiscountPercent": 10.0,
  "lotPurchaseDiscountPercent": 0.0,
  "quantity": 1,
  "totalPrice": 52.49,
  "paymentMethodID": 5,
  "paymentMethodType": 0,
  "transactionType": 1,
  "comment": "Mon commentaire",
  "onlineTransactionID": "mtp198yt",
  "billToName": "Fraise Laframboise",
  "billingAddress": "690, Saint-Joseph Est",
  "billingAddress2": "bur. 400",
  "billingPostalCode": "G1K 3B9",
  "billingCity": "Quebec",
  "billingCountryID": 37,
  "billingStateID": 11,
  "balance": 0.0,
  "authorizationStatus": 0,
  "paymentStatus": 0,
  "billingType": 1,
  "userID": "RXsZEdyhO7LrjXr1%2bw1ySQ%3d%3d",
  "providerId": "RXsZEdyhO7LrjXr1%2bw1ySQ%3d%3d",
  "workspaceId": "RXsZEdyhO7LrjXr1%2bw1ySQ%3d%3d",
  "workspaceInstanceId": "RXsZEdyhO7LrjXr1%2bw1ySQ%3d%3d",
  "cohortId": "0ZmJHkU8UY9k2si1sOPcGg%3d%3d",
  "programId": "0ZmJHkU8UY9k2si1sOPcGg%3d%3d",
  "onlinePaymentType": "",
  "taxes": {"TPS":2.5,"TVQ":4.99},
  "promoCodes": 
    [  
      {
        "id": "O%2f9dsKKECyJSUWkOK37D8g%3d%3d",
        "amount": 32.1
      }
    ] ,
   "shoppingCartTransactionID": "",
  "isExternal": false,
  "paymentTransactionID": "V3nIrMZqmh"
}

Description des champs

Nom 

Obligatoire

Commentaires/description

id

X

Identifiant unique de la transaction. Une transaction est liée à une inscription (billingID).

billingID

 

Identifiant unique de l’inscription. Une inscription (billing) est potentiellement liée à plusieurs transactions.

billingReferenceNumber

 

Le numéro de référence de la facture émise pour cette transaction.

billingFamily
Précise quelle composante du système touche l'inscription :
  • 1 = Inscription
  • 2 = Demande de dispense (règlement)
  • 3 = Achat en lot
  • 4 = Transaction par panier d'achat (plusieurs inscriptions)
  • 5 = Autodéclaration

transactionDate

 

Date à laquelle la transaction a été effectuée.

(Type String YYYY-MM-DDTHH:MM:SSZ)

priceName

 

Nom du tarif utilisé pour mener la transaction.

(Type String, entre 5 à 250 caractères) 

currency

 

Devise utilisée pour mener la transaction

(Type String).

basePrice

 

Montant avant les taxes.

(Type Number) 

subscribeDiscountPercent

 

Pourcentage de rabais appliqué à la transaction.

(Type Number)

lotPurchaseDiscountPercent
Pourcentage de rabais d'achat en lot appliqué à la transaction.

(Type Number)

quantity
Quantité de places achetées.
(Type Number)

totalPrice

 

Montant total incluant les taxes et le ou les rabais.

 (Type Number)

paymentMethodID

 

Identifiant de la méthode de paiement de la transaction.

(Type String)

paymentMethodType

 

Type paiement de la transaction.

(Type Number)

  • 1 = Paiement en argent comptant
  • 2 = Paiement par chèque
  • 3 = Paiement par carte de crédit
  • 4 = Paiement par facturation

transactionType

 

Type de la transaction

(Type Number)

  • 0 = Inscription
  • 1 = Paiement en attente
  • 2 = Paiement
  • 3 = Annulation
  • 4 = Remboursement en attente
  • 5 = Remboursement
  • 6 = Paiement différé, utilisé pour les inscriptions utilisant la combinaison de l'approbation et du paiements par facturation
  • 7 = Paiement différé remboursé, utilisé lors du remboursement d'une transaction avec paiement par facturation

comment

 

Note administrative laissée sur la transaction.

(Type String)

onlineTransactionID

 

Identifiant unique de la transaction en ligne (fournisseur de paiement électronique).

(Type String)

billToName
Champ « Facturer au nom de » sur l'adresse de facturation.
(Type String)

billingAddress

 

Ligne 1 de l'adresse de facturation.

(Type String)

billingAddress2

 

Ligne 2 de l'adresse de facturation.

(Type String)

billingPostalCode

 

Code postal de l’adresse de la transaction 

(Type String)

billingCity

 

Ville de l’adresse de la transaction 

(type String)

billingCountryID

 

Pays de l’adresse de la transaction – Type Number (Voir Annexe 3 : Pays et États/Provinces)

billingStateID

 

État ou province de l’adresse de la transaction – Type Number (Voir Annexe 3 : Pays et États/Provinces)

balance

 

Balance de l’inscription

(Type Number)

authorizationStatus

 

Enum AuthorizationStatus:

  • 0 = Authorized
  • 1 = Refused
  • 2 = WaitingAuthorization

 

paymentStatus

 

Enum PaymentStatus:

  • 0 = None
  • 1 = PaymentPending
  • 2 = PaymentDone
  • 3 = Canceled
  • 4 = RefundPending
  • 5  =Refund

billingType

 

Enum BillingType :

  • 0 = None
  • 1 = Billed

userID

 

Identifiant de l’utilisateur associé à la transaction 

(Type string)

providerId

 

Identifiant du fournisseur de service associé à la transaction (type string)

workspaceid

 

Identifiant de la formation associé à la transaction (type string)

workspaceInstanceId

 

Identifiant de la session associé à la transaction (type string)

cohortId


Identifiant unique de la cohorte (type string)
programId
Identifiant unique du programme de formation (type string)

onlinePaymentType

 

Retourner par le système de paiement exemple, Moneris ou Braintree. Voir les valeurs de cartes possibles dans le tableau plus bas.

isExternal

 

Indique s’il s’agit d’un remboursement qui a eu lieu dans un autre sytème (type boolean)

taxes

 

(Taxes appliquées sur la transaction) Liste de taxes

promoCodes

 

(Codes promotionnels appliqués sur la transaction) Liste de code promotionnel

shoppingCartTransactionID
Dans le cas où il y a un panier avec plusieurs articles, c'est l'identifiant de la "master" transaction qui regroupe les différentes inscriptions et sur-laquelle la vraie transaction a été faite auprès du connecteur de paiement.
paymentTransactionID
L’identifiant de la transaction de paiement dont est issue une inscription ou un panier d'achats contenant plusieurs inscriptions.

Transaction/getlist

Permet d'obtenir des informations sur une liste de transactions de votre environnement.
Adresse de l'appel API : https://.../lmsapi/transaction/getlist

Requête

Exemple de contenu d'appel de requête des informations d'une liste de catégorie :

{
"filterDate": “YYYY-MM-DDTHH:MM:SSZ”
}

Description des champs

Nom

Obligatoire

Commentaires/description

filterDate

Date de création de la catégorie. L'appel retournera toutes les catégories créées après ce moment.
(String YYYY-MM-DDTHH:MM:SSZ)

Réponse

Exemple du contenu d'appel de réponse de requête des informations d'une liste de catégories :

[
{
"id": "ruZdIJb9quVdLecBHCr3XQ%3d%3d",
"name": {
"texts": [
{
"text": "Typographie",
"languageId": 1
},
{
"languageId": 2
},
{
"languageId": 3
},
{
"languageId": 4
}
],
"ErrorID": 0
},
"color": "005D63",
"creationDate": "2019-07-09T13:33:43.427",
"createdByUserID": "hyKnH0JSL7De3ohq7FSvPg%3d%3d"
},
{
"id": "zPX7k7Km0Do8l2VO6H0fHQ%3d%3d",
"name": {
"texts": [
{
"text": "Linguistique",
"languageId": 1
},
{
"languageId": 2
},
{
"languageId": 3
},
{
"languageId": 4
}
],
"ErrorID": 0
},
"color": "E0E622",
"creationDate": "2019-07-09T13:34:12.333",
"createdByUserID": "hyKnH0JSL7De3ohq7FSvPg%3d%3d"
}
]

Description des champs

Nom 

Obligatoire

Commentaires/description

id

Identifiant unique de la catégorie.
(Type String)

name
- texts
- text
- languageId

Text : Titre de la catégorie.
(Type string)

languageId : Le titre peut être multilingue : 

  • 1 = Français (Canada) 
  • 2 = Anglais
  • 3 = Espagnol

(Type Number)

color
Code hexadécimal (sans #) représentant la couleur de la catégorie affichée au catalogue.
creationDate

Date et heure de la création de la catégorie.

(String YYYY-MM-DDTHH:MM:SSZ)

createdByUserID

Identifiant unique de l'utilisateur ayant créé la catégorie.
(Type String)

Description des codes d’erreurs de catégorie

Numéro

Message

Commentaires/description

800

Required id

Vous devez fournir un identifiant pour la catégorie.

801

Invalid id

L’identifiant fourni pour la catégorie est invalide.

802

Required color

Vous devez fournir une couleur pour la catégorie.

803

Required name

Vous devez fournir un nom pour la catégorie.

804

Invalid name length

Le nom fourni doit contenir entre 3 et 150 caractères inclusivement.

paiement (s’il y a lieu)

{
"id": "V3nIrMZqmh",
"billingID": "vBW5xMw1VQ2A8DFaNy22zA%3d%3d",
"billingReferenceNumber": 123,
"billingFamily" : 1,
"transactionDate": "2016-11-11T13:05:29.963",
"priceName": "Prix 2(membre)",
"currency": "cdn",
"basePrice": 50.0,
"subscribeDiscountPercent": 10.0,
"lotPurchaseDiscountPercent": 0.0,
"quantity": 1,
"totalPrice": 52.49,
"paymentMethodID": 5,
"paymentMethodType": 0,
"transactionType": 1,
"comment": "Un commentaire",
"onlineTransactionID": "mtp198yt",
"billToName": "Joann Test 101",
"billingAddress": "690, Saint-Joseph Est",
"billingAddress2": "",
"billingPostalCode": "G1K 3B9",
"billingCity": "Quebec",
"billingCountryID": 37,
"billingStateID": 11,
"balance": 0.0,
"authorizationStatus": 0,
"paymentStatus": 0,
"billingType": 1,
"userID": "RXsZEdyhO7LrjXr1%2bw1ySQ%3d%3d",
"providerId": "RXsZEdyhO7LrjXr1%2bw1ySQ%3d%3d",
"workspaceId": "RXsZEdyhO7LrjXr1%2bw1ySQ%3d%3d",
"workspaceInstanceId": "RXsZEdyhO7LrjXr1%2bw1ySQ%3d%3d",
"cohortId": "0ZmJHkU8UY9k2si1sOPcGg%3d%3d",
"programId": "0ZmJHkU8UY9k2si1sOPcGg%3d%3d",
"onlinePaymentType": "",
"taxes": {"TPS":2.5,"TVQ":4.99},
"promoCodes":
[
{
"id": "O%2f9dsKKECyJSUWkOK37D8g%3d%3d",
"amount": 32.1
}
] ,
"shoppingCartTransactionID": "",
"isExternal": false,
"paymentTransactionID": "V3nIrMZqmh"
}

Description des champs

ATTENTION : La méthode nécessitent uniquement la valeur ‘’id’’ comme obligatoire. Les champs passés sont mis à jour, les champs qui ne sont pas renseignés ne sont simplement pas mis à jour.

Nom 

Obligatoire

Commentaires/description

id

Il s’agit de l’identifiant unique de la transaction. Une transaction est liée à une inscription (billingID)

billingID

 

Il s’agit de l’identifiant unique de l’inscription. Une inscription (billing) est potentiellement liée à plusieurs transactions. 

billingReferenceNumber

 

Le numéro de référence de la facture

billingFamily
Précise à quelle famille de transaction appartient la facture :
Enum BillingFamily
  • 1 = Subscription
  • 2 = CycleExemption
  • 3 = LotPurchase
  • 4 = ShoppingCart

transactionDate

 

Date à laquelle la transaction s’effectue

String (YYYY-MM-DDTHH:MM:SSZ)

priceName

 

Nom du prix de la transaction (ex. tarif Membre)

(Type string –entre 5 à 250 caractères) 

currency

 

Devise de la transaction 

 (Type string)

basePrice

 

Tarif avant les taxes 

(Type Number) 

subscribeDiscountPercent

 

Pourcentage de rabais de la transaction 

(Type string – Number)

lotPurchaseDiscountPercent
Pourcentage de rabais appliqué à la transaction

(Type string – Number)

quantity
Quantité de places achetées

(Type integer)

totalPrice

 

Tarif total incluant les taxes et rabais 

 (Type string – Number)

paymentMethodID

 

Identifiant de la méthode de paiement de la transaction 

(Type integer)

paymentMethodType

 

Type paiement de la transaction 

(Type Integer)

Enum PaymentType:

  • 1 = Paiement en argent comptant
  • 2 = Paiement par chèque
  • 3 = Paiement par carte de crédit
  • 4 = Paiement par facturation

transactionType

 

Type de la transaction

(type String)

Liste des types de transactions :

  • 0 = Inscription
  • 1 = Paiement en attente
  • 2 = Paiement
  • 3 = Annulation
  • 4 = Remboursement en attente
  • 5 = Remboursement
  • 6 = Paiement différé, utilisé pour les inscriptions utilisant la combinaison de l'approbation et du paiements par facturation
  • 7 = Paiement différé remboursé, utilisé lors du remboursement d'une transaction avec paiement par facturation

comment

 

 Commentaire sur la transaction

(type String)

onlineTransactionID

 

Identifiant de la transaction en ligne – paiement électronique.

(type String)

billToName
Nom sur l'adresse de facturation
(type string)

billingAddress

 

Adresse de la transaction 

(type String)

billingAddress2

 

Information additionnel sur l’adresse (app, boite à lettre, étage)

(type String)

billingPostalCode

 

Code postal de l’adresse de la transaction 

(type String)

billingCity

 

Ville de l’adresse de la transaction 

(type String)

billingCountryID

 

Pays de l’adresse de la transaction – Type Number (Voir Annexe 3 : Pays et États/Provinces)

billingStateID

 

État ou province de l’adresse de la transaction – Type Number (Voir Annexe 3 : Pays et États/Provinces)

balance

 

Balance de l’inscription

(Type Number)

authorizationStatus

 

Enum AuthorizationStatus:

  • 0 = Authorized
  • 1 = Refused
  • 2 = WaitingAuthorization

 

paymentStatus

 

Enum PaymentStatus:

  • 0 = None
  • 1 = PaymentPending
  • 2 = PaymentDone
  • 3 = Canceled
  • 4 = RefundPending
  • 5  =Refund

billingType

 

Enum BillingType :

  • 0 = None
  • 1 = Billed

userID

 

Identifiant de l’utilisateur associé à la transaction 

(Type string)

providerId

 

Identifiant du fournisseur de service associé à la transaction (type string)

workspaceid

 

Identifiant de la formation associé à la transaction (type string)

workspaceInstanceId

 

Identifiant de la session associé à la transaction (type string)

cohortId


Identifiant unique de la cohorte (type string)
programId
Identifiant unique du programme de formation (type string)

onlinePaymentType

 

Retourner par le système de paiement exemple, Moneris ou Braintree. Voir les valeurs de cartes possibles dans le tableau plus bas.

isExternal

 

Indique s’il s’agit d’un remboursement qui a eu lieu dans un autre sytème (type boolean)

taxes

 

(Taxes appliquées sur la transaction) Liste de taxes

promoCodes

 

(Codes promotionnels appliqués sur la transaction) Liste de code promotionnel

shoppingCartTransactionID
Dans le cas où il y a un panier avec plusieurs articles, c'est l'identifiant de la "master" transaction qui regroupe les différentes inscriptions et sur-laquelle la vraie transaction a été faite auprès du connecteur de paiement.
paymentTransactionID
L’identifiant de la transaction de paiement dont est issue une inscription ou un panier d'achats contenant plusieurs inscriptions.

Transaction : transaction/getlist

https://www.domaine.com/lmsapi/transaction/getlist

ATTENTION : La méthode nécessite des dates en UTC puisque la conversion sera faite côté serveur. Un maximum de 1000 transactions sera retourné pour une demande excédant une journée.

/transaction/getlist (request) - Requête d’une liste de transactions

}
"filterDate": "2018-08-01 00:00:00" (Obligatoire),
"filterDateMax": "2018-08-29" (Sera remplacée par la date actuelle si non présent),
"filterTransactionType": "2"
}

/transaction/getlist (response) – Retourne la liste des transactions. (voir transaction/get pour le format)


Valeurs des types de cartes supportées par les connecteurs de paiements (onlinePaymentType)

Nom 

Types de cartes et leurs codes

Moneris

M = Mastercard

V = Visa

AX =  American Express

DC = Diners Card

NO = Novus / Discover

SE = Sears

Paysafe

AM = American Express
DI = Discover
JC = JCB
MC = Mastercard
MD = Maestro
SO = Solo
VI = Visa
VD = Visa Debit
VE = Visa Electron

Braintree

“American Express”
“Carte Blanche”
“China UnionPay”
“Discover”
“Elo”
“JCB”
“Laser”
“Maestro”
“MasterCard”
“Solo”
“Switch”
“Visa”
“Unknown”

Global Payments

VISA = Visa

MC = MasterCard

AMEX = American Express

DINERS = Diners

DISCOVER = Discover

JCB = JCB

UATP = UATP

Inscriptions et transactions - Webhook

L’objet transaction est retourné par les webhook avec les données suivantes :

{
"notificationType": 1,
"portal": {
"id": "IW%2fU8RKO1T7UjasbUcn8rQ%3d%3d",
"title": {
"texts": [{
"text": "Portail de formation",
"languageId": 1
}
],
"IsHaveText": true
},
"subTitle": {
"texts": [{
"text": "Tellement le meilleur portail",
"languageId": 2
}
],
"IsHaveText": true
},
"description": {
"texts": [{
"text": "",
"languageId": 1
}
],
"IsHaveText": true
},
"coverID": 8,
"allowNewAccount": true,
"creationDate": "0001-01-01T00:00:00",
"url": "portailpreprod.sviesolutions.com / JGTHINKWITHPORTALS",
"name": "Votre portail de formation",
"language": 1,
"branchID": "vrj0IrWe0HF%2bK9OKGpDF5A%3d%3d",
"hasCustomLogo": true,
"lastModificationDate": "0001-01-01T00:00:00",
"defaultBranchID": "vrj0IrWe0HF % 2bK9OKGpDF5A%3d%3d",
"isDefaultPortal": true,
"displayType": 1
},
"user": {
"id": "czYuG21TjcY7hETmR3TQHg%3d%3d",
"password": null,
"login": "Brambo",
"firstName": "Brent",
"lastName": "Rambo",
"language": 1,
"email": "karl.bouchard @ sviesolutions.com",
"companyName": null,
"functionTitle": null,
"phoneHome": null,
"phoneMobile": null,
"phoneWork": null,
"phonePublic": 0,
"timeZone": 10,
"address": "690 Rue Saint - Joseph Est",
"address2": null,
"postalCode": "G1K 3B9",
"city": "Québec",
"countryId": 37,
"stateId": 11,
"customFields": {
"Membre": null,
"NbYearService": 0,
"DateEmbauche": "0001-01-01T00:00:00",
"IdUnique": null
}
},
"workspaceInstance": {
"id": "7Zi3zYvuHTZ7YLK7TQjdlQ%3d%3d",
"name": "33434a",
"creationDate": "0001-01-01T00:00:00",
"startDate": "0001-01-01T00:00:00",
"endDate": "0001-01-01T00:00:00",
"minParticipants": 0,
"maxParticipants": 0,
"isOverBookingSubscription": false,
"workspaceId": "vBW5xMw1VQ2A8DFaNy22zA%3d%3d",
"nbUsersSubbed": -1,
"nbUsersQueue": -1
},
"workspace": {
"id": "vBW5xMw1VQ2A8DFaNy22zA%3d%3d",
"creationDate": "2016-11-16T14:52:27.353",
"name": "Ma formation",
"categoryId": "",
"visibilityType": 0,
"maxParticipants": 0,
"minParticipants": 0,
"type": "vBW5xMw1VQ2A8DFaNy22zA%3d%3d",
"providerId": "Mw1VQ2A8DFaNy22zA%3d%3d",
"language": 1,
"description": "",
"subscriptionType": 0,
"startDate": "0001-01-01T00:00:00",
"endDate": "0001-01-01T00:00:00",
"isOverBookingSubscription": true,
"authorizationType": 0,
"enrolmentType": 0,
"externalLink": "monURL",
"keywords": "mot, clef, formation",
"showAvailableSubscriptions": true,
"certificateId": "",
"credits": 0.0,
"nbUsersSubbed": -1,
"nbUsersQueue": -1,
"isAutodeclaration": true,
"accreditationNumber": "12345-e",
"autodeclarationEndDate": "0001-01-01T00:00:00",
"customFields": {
"Champ1": "Snow",
"Test": ""
}
},
"transaction": {
"id": "Y2E5wzApua",
"billingID": "YxLO % 2fUEIoCFRX7S3vH0Yyw%3d%3d",
"transactionDate": "0001-01-01T00:00:00",
"priceName": "",
"currency": "cdn",
"basePrice": 5,
"subscribeDiscountPercent": 0,
"totalPrice": 0,
"paymentMethodID": 21,
"paymentMethodType": 0,
"transactionType": 0,
"comment": "",
"onlineTransactionID": "",
"billingAddress": "690 Rue Saint - Joseph Est",
"billingAddress2": null,
"billingPostalCode": "G1K 3B9",
"billingCity": "Québec",
"billingCountryID": 37,
"billingStateID": null,
"balance": 0,
"authorizationStatus": 0,
"paymentStatus": 0,
"billingType": 1,
"userID": "czYuG21TjcY7hETmR3TQHg%3d%3d",
"taxes": {
"TPS": 2.32,
"TVQ": 3.35
},
"promoCodes":
[
{
"id": "O%2f9dsKKECyJSUWkOK37D8g%3d%3d",
"amount": 32.1
}
]

}
}

Description des codes d’erreurs de transaction

Numéro

Message

Commentaires/description

600

Required id

Vous devez fournir un identifiant pour la transaction.

601

Invalid id

L’identifiant fourni pour la transaction est invalide.

Cette réponse a-t-elle été utile ? Oui Non

Envoyer vos commentaires
Désolés de n'avoir pu vous être utile. Aidez-nous à améliorer cet article en nous faisant part de vos commentaires.