pi-spi-sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/LICENSE +22 -0
  3. package/README.md +300 -0
  4. package/dist/config.d.ts +35 -0
  5. package/dist/config.js +4 -0
  6. package/dist/error-handler.d.ts +7 -0
  7. package/dist/error-handler.js +52 -0
  8. package/dist/errors.d.ts +25 -0
  9. package/dist/errors.js +40 -0
  10. package/dist/examples.d.ts +8 -0
  11. package/dist/examples.js +91 -0
  12. package/dist/generated/core/ApiError.d.ts +10 -0
  13. package/dist/generated/core/ApiError.js +11 -0
  14. package/dist/generated/core/ApiRequestOptions.d.ts +13 -0
  15. package/dist/generated/core/ApiRequestOptions.js +1 -0
  16. package/dist/generated/core/ApiResult.d.ts +7 -0
  17. package/dist/generated/core/ApiResult.js +1 -0
  18. package/dist/generated/core/CancelablePromise.d.ts +20 -0
  19. package/dist/generated/core/CancelablePromise.js +111 -0
  20. package/dist/generated/core/OpenAPI.d.ts +16 -0
  21. package/dist/generated/core/OpenAPI.js +11 -0
  22. package/dist/generated/core/request.d.ts +34 -0
  23. package/dist/generated/core/request.js +269 -0
  24. package/dist/generated/index.d.ts +78 -0
  25. package/dist/generated/index.js +43 -0
  26. package/dist/generated/models/AliasCreationReponse.d.ts +22 -0
  27. package/dist/generated/models/AliasCreationReponse.js +1 -0
  28. package/dist/generated/models/AliasCreationRequest.d.ts +11 -0
  29. package/dist/generated/models/AliasCreationRequest.js +1 -0
  30. package/dist/generated/models/AliasReponseListe.d.ts +26 -0
  31. package/dist/generated/models/AliasReponseListe.js +1 -0
  32. package/dist/generated/models/AnnulationStatut.d.ts +13 -0
  33. package/dist/generated/models/AnnulationStatut.js +18 -0
  34. package/dist/generated/models/Champs.d.ts +1 -0
  35. package/dist/generated/models/Champs.js +1 -0
  36. package/dist/generated/models/CompteOperation.d.ts +72 -0
  37. package/dist/generated/models/CompteOperation.js +24 -0
  38. package/dist/generated/models/CompteOperationListe.d.ts +18 -0
  39. package/dist/generated/models/CompteOperationListe.js +1 -0
  40. package/dist/generated/models/CompteSolde.d.ts +129 -0
  41. package/dist/generated/models/CompteSolde.js +71 -0
  42. package/dist/generated/models/CompteTransfertIntraReponse.d.ts +33 -0
  43. package/dist/generated/models/CompteTransfertIntraReponse.js +12 -0
  44. package/dist/generated/models/CompteTransfertIntraRequest.d.ts +9 -0
  45. package/dist/generated/models/CompteTransfertIntraRequest.js +1 -0
  46. package/dist/generated/models/DemandePaiementConfirmationAnnulationRaison.d.ts +14 -0
  47. package/dist/generated/models/DemandePaiementConfirmationAnnulationRaison.js +19 -0
  48. package/dist/generated/models/DemandePaiementConfirmationReponse.d.ts +41 -0
  49. package/dist/generated/models/DemandePaiementConfirmationReponse.js +13 -0
  50. package/dist/generated/models/DemandePaiementConfirmationRequest.d.ts +3 -0
  51. package/dist/generated/models/DemandePaiementConfirmationRequest.js +1 -0
  52. package/dist/generated/models/DemandePaiementConfirmationRequestAccepter.d.ts +9 -0
  53. package/dist/generated/models/DemandePaiementConfirmationRequestAccepter.js +1 -0
  54. package/dist/generated/models/DemandePaiementConfirmationRequestRejeter.d.ts +9 -0
  55. package/dist/generated/models/DemandePaiementConfirmationRequestRejeter.js +1 -0
  56. package/dist/generated/models/DemandePaiementConsultationReponse.d.ts +151 -0
  57. package/dist/generated/models/DemandePaiementConsultationReponse.js +27 -0
  58. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequest.d.ts +3 -0
  59. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequest.js +1 -0
  60. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestAccepter.d.ts +9 -0
  61. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestAccepter.js +1 -0
  62. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestRejeter.d.ts +9 -0
  63. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestRejeter.js +1 -0
  64. package/dist/generated/models/DemandePaiementEnMasseRequest.d.ts +74 -0
  65. package/dist/generated/models/DemandePaiementEnMasseRequest.js +1 -0
  66. package/dist/generated/models/DemandePaiementEnMasseStatutReponse.d.ts +98 -0
  67. package/dist/generated/models/DemandePaiementEnMasseStatutReponse.js +20 -0
  68. package/dist/generated/models/DemandePaiementListe.d.ts +26 -0
  69. package/dist/generated/models/DemandePaiementListe.js +1 -0
  70. package/dist/generated/models/DemandePaiementListeItem.d.ts +163 -0
  71. package/dist/generated/models/DemandePaiementListeItem.js +27 -0
  72. package/dist/generated/models/DemandePaiementReponse.d.ts +129 -0
  73. package/dist/generated/models/DemandePaiementReponse.js +1 -0
  74. package/dist/generated/models/DemandePaiementReponseRequest.d.ts +21 -0
  75. package/dist/generated/models/DemandePaiementReponseRequest.js +11 -0
  76. package/dist/generated/models/DemandePaiementRequest.d.ts +98 -0
  77. package/dist/generated/models/DemandePaiementRequest.js +7 -0
  78. package/dist/generated/models/DemandePaiementRequestBase.d.ts +42 -0
  79. package/dist/generated/models/DemandePaiementRequestBase.js +1 -0
  80. package/dist/generated/models/DemandePaiementRequestCategorie.d.ts +12 -0
  81. package/dist/generated/models/DemandePaiementRequestCategorie.js +17 -0
  82. package/dist/generated/models/DemandePaiementStatut.d.ts +13 -0
  83. package/dist/generated/models/DemandePaiementStatut.js +18 -0
  84. package/dist/generated/models/DemandePaiementStatutRaison.d.ts +46 -0
  85. package/dist/generated/models/DemandePaiementStatutRaison.js +51 -0
  86. package/dist/generated/models/ListeMeta.d.ts +14 -0
  87. package/dist/generated/models/ListeMeta.js +1 -0
  88. package/dist/generated/models/Paiement.d.ts +156 -0
  89. package/dist/generated/models/Paiement.js +28 -0
  90. package/dist/generated/models/PaiementAnnulationMotif.d.ts +17 -0
  91. package/dist/generated/models/PaiementAnnulationMotif.js +22 -0
  92. package/dist/generated/models/PaiementAnnulationReponseRequest.d.ts +11 -0
  93. package/dist/generated/models/PaiementAnnulationReponseRequest.js +1 -0
  94. package/dist/generated/models/PaiementAnnulationReponseRequestAccepter.d.ts +9 -0
  95. package/dist/generated/models/PaiementAnnulationReponseRequestAccepter.js +1 -0
  96. package/dist/generated/models/PaiementAnnulationReponseRequestRejeter.d.ts +9 -0
  97. package/dist/generated/models/PaiementAnnulationReponseRequestRejeter.js +1 -0
  98. package/dist/generated/models/PaiementAnnulationRequest.d.ts +4 -0
  99. package/dist/generated/models/PaiementAnnulationRequest.js +1 -0
  100. package/dist/generated/models/PaiementAnnulationStatutRaison.d.ts +21 -0
  101. package/dist/generated/models/PaiementAnnulationStatutRaison.js +26 -0
  102. package/dist/generated/models/PaiementEnMasseConfirmationRequest.d.ts +3 -0
  103. package/dist/generated/models/PaiementEnMasseConfirmationRequest.js +1 -0
  104. package/dist/generated/models/PaiementEnMasseConfirmationRequestAccepter.d.ts +9 -0
  105. package/dist/generated/models/PaiementEnMasseConfirmationRequestAccepter.js +1 -0
  106. package/dist/generated/models/PaiementEnMasseConfirmationRequestRejeter.d.ts +9 -0
  107. package/dist/generated/models/PaiementEnMasseConfirmationRequestRejeter.js +1 -0
  108. package/dist/generated/models/PaiementEnMasseReponseStatut.d.ts +97 -0
  109. package/dist/generated/models/PaiementEnMasseReponseStatut.js +20 -0
  110. package/dist/generated/models/PaiementEnMasseRequest.d.ts +54 -0
  111. package/dist/generated/models/PaiementEnMasseRequest.js +1 -0
  112. package/dist/generated/models/PaiementImmediatConfirmationReponse.d.ts +31 -0
  113. package/dist/generated/models/PaiementImmediatConfirmationReponse.js +7 -0
  114. package/dist/generated/models/PaiementImmediatConfirmationRequest.d.ts +3 -0
  115. package/dist/generated/models/PaiementImmediatConfirmationRequest.js +1 -0
  116. package/dist/generated/models/PaiementImmediatConfirmationRequestAccepter.d.ts +9 -0
  117. package/dist/generated/models/PaiementImmediatConfirmationRequestAccepter.js +1 -0
  118. package/dist/generated/models/PaiementImmediatConfirmationRequestRejeter.d.ts +9 -0
  119. package/dist/generated/models/PaiementImmediatConfirmationRequestRejeter.js +1 -0
  120. package/dist/generated/models/PaiementImmediatReponse.d.ts +98 -0
  121. package/dist/generated/models/PaiementImmediatReponse.js +7 -0
  122. package/dist/generated/models/PaiementImmediatRequest.d.ts +13 -0
  123. package/dist/generated/models/PaiementImmediatRequest.js +1 -0
  124. package/dist/generated/models/PaiementListe.d.ts +6 -0
  125. package/dist/generated/models/PaiementListe.js +1 -0
  126. package/dist/generated/models/PaiementRequest.d.ts +33 -0
  127. package/dist/generated/models/PaiementRequest.js +1 -0
  128. package/dist/generated/models/PaiementStatut.d.ts +13 -0
  129. package/dist/generated/models/PaiementStatut.js +18 -0
  130. package/dist/generated/models/PaiementStatutRaison.d.ts +56 -0
  131. package/dist/generated/models/PaiementStatutRaison.js +61 -0
  132. package/dist/generated/models/Problem7807.d.ts +31 -0
  133. package/dist/generated/models/Problem7807.js +1 -0
  134. package/dist/generated/models/RefDocType.d.ts +38 -0
  135. package/dist/generated/models/RefDocType.js +43 -0
  136. package/dist/generated/models/RetourStatut.d.ts +13 -0
  137. package/dist/generated/models/RetourStatut.js +18 -0
  138. package/dist/generated/models/RetourStatutRaison.d.ts +25 -0
  139. package/dist/generated/models/RetourStatutRaison.js +30 -0
  140. package/dist/generated/models/WebhookCreationRequest.d.ts +14 -0
  141. package/dist/generated/models/WebhookCreationRequest.js +1 -0
  142. package/dist/generated/models/WebhookCreationResponse.d.ts +12 -0
  143. package/dist/generated/models/WebhookCreationResponse.js +1 -0
  144. package/dist/generated/models/WebhookData.d.ts +8 -0
  145. package/dist/generated/models/WebhookData.js +1 -0
  146. package/dist/generated/models/WebhookEvent.d.ts +191 -0
  147. package/dist/generated/models/WebhookEvent.js +42 -0
  148. package/dist/generated/models/WebhookEventsList.d.ts +13 -0
  149. package/dist/generated/models/WebhookEventsList.js +1 -0
  150. package/dist/generated/models/WebhookList.d.ts +13 -0
  151. package/dist/generated/models/WebhookList.js +1 -0
  152. package/dist/generated/models/WebhookModificationRequest.d.ts +4 -0
  153. package/dist/generated/models/WebhookModificationRequest.js +1 -0
  154. package/dist/generated/models/WebhooksEvents.d.ts +12 -0
  155. package/dist/generated/models/WebhooksEvents.js +17 -0
  156. package/dist/generated/services/AliasService.d.ts +63 -0
  157. package/dist/generated/services/AliasService.js +84 -0
  158. package/dist/generated/services/ComptesService.d.ts +64 -0
  159. package/dist/generated/services/ComptesService.js +86 -0
  160. package/dist/generated/services/DemandeAnnulationService.d.ts +84 -0
  161. package/dist/generated/services/DemandeAnnulationService.js +99 -0
  162. package/dist/generated/services/DemandesDePaiementEnMasseService.d.ts +161 -0
  163. package/dist/generated/services/DemandesDePaiementEnMasseService.js +189 -0
  164. package/dist/generated/services/DemandesDePaiementService.d.ts +123 -0
  165. package/dist/generated/services/DemandesDePaiementService.js +161 -0
  166. package/dist/generated/services/NotificationService.d.ts +80 -0
  167. package/dist/generated/services/NotificationService.js +132 -0
  168. package/dist/generated/services/PaiementEnMasseService.d.ts +159 -0
  169. package/dist/generated/services/PaiementEnMasseService.js +187 -0
  170. package/dist/generated/services/PaiementImmediatService.d.ts +135 -0
  171. package/dist/generated/services/PaiementImmediatService.js +176 -0
  172. package/dist/generated/services/RetoursdeFondsService.d.ts +28 -0
  173. package/dist/generated/services/RetoursdeFondsService.js +37 -0
  174. package/dist/index.d.ts +14 -0
  175. package/dist/index.js +23 -0
  176. package/dist/query-builder.d.ts +91 -0
  177. package/dist/query-builder.js +187 -0
  178. package/dist/sdk.d.ts +88 -0
  179. package/dist/sdk.js +107 -0
  180. package/dist/services/alias.d.ts +72 -0
  181. package/dist/services/alias.js +82 -0
  182. package/dist/services/base.d.ts +9 -0
  183. package/dist/services/base.js +17 -0
  184. package/dist/services/comptes.d.ts +149 -0
  185. package/dist/services/comptes.js +158 -0
  186. package/dist/services/demandes-annulation.d.ts +97 -0
  187. package/dist/services/demandes-annulation.js +104 -0
  188. package/dist/services/demandes-paiement-en-masse.d.ts +139 -0
  189. package/dist/services/demandes-paiement-en-masse.js +139 -0
  190. package/dist/services/demandes-paiement.d.ts +144 -0
  191. package/dist/services/demandes-paiement.js +151 -0
  192. package/dist/services/paiements-en-masse.d.ts +152 -0
  193. package/dist/services/paiements-en-masse.js +153 -0
  194. package/dist/services/paiements.d.ts +135 -0
  195. package/dist/services/paiements.js +135 -0
  196. package/dist/services/retours-fonds.d.ts +94 -0
  197. package/dist/services/retours-fonds.js +100 -0
  198. package/dist/services/webhooks.d.ts +131 -0
  199. package/dist/services/webhooks.js +142 -0
  200. package/dist/types/alias.d.ts +64 -0
  201. package/dist/types/alias.js +73 -0
  202. package/dist/utils/constants.d.ts +93 -0
  203. package/dist/utils/constants.js +93 -0
  204. package/dist/utils/index.d.ts +60 -0
  205. package/dist/utils/index.js +115 -0
  206. package/package.json +81 -0
  207. package/scripts/post-generate.js +129 -0
  208. package/scripts/pre-generate.js +106 -0
@@ -0,0 +1,80 @@
1
+ import type { WebhookCreationRequest } from '../models/WebhookCreationRequest';
2
+ import type { WebhookCreationResponse } from '../models/WebhookCreationResponse';
3
+ import type { WebhookData } from '../models/WebhookData';
4
+ import type { WebhookList } from '../models/WebhookList';
5
+ import type { WebhookModificationRequest } from '../models/WebhookModificationRequest';
6
+ import type { CancelablePromise } from '../core/CancelablePromise';
7
+ export declare class NotificationService {
8
+ /**
9
+ * Créer un lien de rappel.
10
+ * Cet endpoint permet au client de configurer des webhooks (liens de rappel) pour recevoir des notifications en temps réel.
11
+ *
12
+ * Le client dispose d'une grande flexibilité dans la configuration de ses webhooks et peut choisir parmi plusieurs stratégies :
13
+ *
14
+ * **1. Callback URL général**
15
+ * - Un seul point de rappel pour toutes les notifications
16
+ * - Tous les événements de tous les comptes/alias sont envoyés à la même URL
17
+ * - Configuration simple, idéale pour centraliser toutes les notifications
18
+ *
19
+ * **2. Callback URL par alias**
20
+ * - Un point de rappel distinct pour chaque alias de compte
21
+ * - Permet de router les notifications vers des systèmes différents selon le compte concerné
22
+ * - Utile pour isoler les flux de notifications par compte ou par service
23
+ *
24
+ * **3. Callback URL par événement**
25
+ * - Un point de rappel spécifique pour chaque type d'événement (PAIEMENT_RECU, RTP_RECU, etc.)
26
+ * - Permet de traiter différemment chaque catégorie d'événement
27
+ * - Facilite la séparation des traitements métier (paiements vs demandes vs retours)
28
+ *
29
+ * **4. Callback URL par événement et alias**
30
+ * - Granularité maximale : un point de rappel pour chaque combinaison événement/alias
31
+ * - Configuration la plus fine pour des besoins très spécifiques
32
+ * - Permet de router précisément chaque notification vers le système approprié
33
+ *
34
+ * Cette flexibilité permet aux clients d'adapter la configuration des webhooks à leur architecture technique et à leurs besoins métier.
35
+ *
36
+ * @returns WebhookCreationResponse Webhook créé avec succès
37
+ * @throws ApiError
38
+ */
39
+ static webhookCreer({ requestBody, }: {
40
+ requestBody: WebhookCreationRequest;
41
+ }): CancelablePromise<WebhookCreationResponse>;
42
+ /**
43
+ * Lister les webhooks
44
+ * Endpoint pour lister les webhooks
45
+ *
46
+ * @returns WebhookList Liste des webhooks configurés
47
+ * @throws ApiError
48
+ */
49
+ static webhookLister(): CancelablePromise<WebhookList>;
50
+ /**
51
+ * Modifier un Webhook
52
+ * Endpoint pour la modification d'un webhook.
53
+ *
54
+ * @returns any Le Webhook a été modifié avec succès
55
+ * @throws ApiError
56
+ */
57
+ static webhookModifier({ id, requestBody, }: {
58
+ id: string;
59
+ requestBody: WebhookModificationRequest;
60
+ }): CancelablePromise<any>;
61
+ /**
62
+ * Supprimer un Webhook
63
+ * Endpoint pour la suppression d'un webhook.
64
+ *
65
+ * @returns void
66
+ * @throws ApiError
67
+ */
68
+ static webhookSupprimer({ id, }: {
69
+ id: string;
70
+ }): CancelablePromise<void>;
71
+ /**
72
+ * Recuperer un webhook
73
+ * Endpoint pour la consultation des informations d'un Webhook
74
+ * @returns WebhookData Details du webhook
75
+ * @throws ApiError
76
+ */
77
+ static webhookConsulter({ id, }: {
78
+ id: string;
79
+ }): CancelablePromise<WebhookData>;
80
+ }
@@ -0,0 +1,132 @@
1
+ import { OpenAPI } from '../core/OpenAPI';
2
+ import { request as __request } from '../core/request';
3
+ export class NotificationService {
4
+ /**
5
+ * Créer un lien de rappel.
6
+ * Cet endpoint permet au client de configurer des webhooks (liens de rappel) pour recevoir des notifications en temps réel.
7
+ *
8
+ * Le client dispose d'une grande flexibilité dans la configuration de ses webhooks et peut choisir parmi plusieurs stratégies :
9
+ *
10
+ * **1. Callback URL général**
11
+ * - Un seul point de rappel pour toutes les notifications
12
+ * - Tous les événements de tous les comptes/alias sont envoyés à la même URL
13
+ * - Configuration simple, idéale pour centraliser toutes les notifications
14
+ *
15
+ * **2. Callback URL par alias**
16
+ * - Un point de rappel distinct pour chaque alias de compte
17
+ * - Permet de router les notifications vers des systèmes différents selon le compte concerné
18
+ * - Utile pour isoler les flux de notifications par compte ou par service
19
+ *
20
+ * **3. Callback URL par événement**
21
+ * - Un point de rappel spécifique pour chaque type d'événement (PAIEMENT_RECU, RTP_RECU, etc.)
22
+ * - Permet de traiter différemment chaque catégorie d'événement
23
+ * - Facilite la séparation des traitements métier (paiements vs demandes vs retours)
24
+ *
25
+ * **4. Callback URL par événement et alias**
26
+ * - Granularité maximale : un point de rappel pour chaque combinaison événement/alias
27
+ * - Configuration la plus fine pour des besoins très spécifiques
28
+ * - Permet de router précisément chaque notification vers le système approprié
29
+ *
30
+ * Cette flexibilité permet aux clients d'adapter la configuration des webhooks à leur architecture technique et à leurs besoins métier.
31
+ *
32
+ * @returns WebhookCreationResponse Webhook créé avec succès
33
+ * @throws ApiError
34
+ */
35
+ static webhookCreer({ requestBody, }) {
36
+ return __request(OpenAPI, {
37
+ method: 'POST',
38
+ url: '/webhooks',
39
+ body: requestBody,
40
+ mediaType: 'application/json',
41
+ errors: {
42
+ 400: `La requête est malformée`,
43
+ 401: `Autorisations manquantes`,
44
+ 429: `Erreur inattendue`,
45
+ 503: `Erreur inattendue du serveur`,
46
+ },
47
+ });
48
+ }
49
+ /**
50
+ * Lister les webhooks
51
+ * Endpoint pour lister les webhooks
52
+ *
53
+ * @returns WebhookList Liste des webhooks configurés
54
+ * @throws ApiError
55
+ */
56
+ static webhookLister() {
57
+ return __request(OpenAPI, {
58
+ method: 'GET',
59
+ url: '/webhooks',
60
+ errors: {
61
+ 400: `La requête est malformée`,
62
+ 401: `Autorisations manquantes`,
63
+ 429: `Erreur inattendue`,
64
+ 503: `Erreur inattendue du serveur`,
65
+ },
66
+ });
67
+ }
68
+ /**
69
+ * Modifier un Webhook
70
+ * Endpoint pour la modification d'un webhook.
71
+ *
72
+ * @returns any Le Webhook a été modifié avec succès
73
+ * @throws ApiError
74
+ */
75
+ static webhookModifier({ id, requestBody, }) {
76
+ return __request(OpenAPI, {
77
+ method: 'PUT',
78
+ url: '/webhooks/{id}',
79
+ path: {
80
+ 'id': id,
81
+ },
82
+ body: requestBody,
83
+ mediaType: 'application/json',
84
+ errors: {
85
+ 401: `Autorisations manquantes`,
86
+ 429: `Erreur inattendue`,
87
+ 503: `Erreur inattendue du serveur`,
88
+ },
89
+ });
90
+ }
91
+ /**
92
+ * Supprimer un Webhook
93
+ * Endpoint pour la suppression d'un webhook.
94
+ *
95
+ * @returns void
96
+ * @throws ApiError
97
+ */
98
+ static webhookSupprimer({ id, }) {
99
+ return __request(OpenAPI, {
100
+ method: 'DELETE',
101
+ url: '/webhooks/{id}',
102
+ path: {
103
+ 'id': id,
104
+ },
105
+ errors: {
106
+ 401: `Autorisations manquantes`,
107
+ 429: `Erreur inattendue`,
108
+ 503: `Erreur inattendue du serveur`,
109
+ },
110
+ });
111
+ }
112
+ /**
113
+ * Recuperer un webhook
114
+ * Endpoint pour la consultation des informations d'un Webhook
115
+ * @returns WebhookData Details du webhook
116
+ * @throws ApiError
117
+ */
118
+ static webhookConsulter({ id, }) {
119
+ return __request(OpenAPI, {
120
+ method: 'GET',
121
+ url: '/webhooks/{id}',
122
+ path: {
123
+ 'id': id,
124
+ },
125
+ errors: {
126
+ 401: `Autorisations manquantes`,
127
+ 429: `Erreur inattendue`,
128
+ 503: `Erreur inattendue du serveur`,
129
+ },
130
+ });
131
+ }
132
+ }
@@ -0,0 +1,159 @@
1
+ import type { PaiementEnMasseConfirmationRequest } from '../models/PaiementEnMasseConfirmationRequest';
2
+ import type { PaiementEnMasseReponseStatut } from '../models/PaiementEnMasseReponseStatut';
3
+ import type { PaiementEnMasseRequest } from '../models/PaiementEnMasseRequest';
4
+ import type { CancelablePromise } from '../core/CancelablePromise';
5
+ export declare class PaiementEnMasseService {
6
+ /**
7
+ * Envoyer un paiement en masse
8
+ * Ce point de terminaison permet au client d'envoyer des paiements en masse.
9
+ *
10
+ * **Traitement asynchrone :** La création d'un paiement en masse retourne immédiatement `202 Accepted`. Le traitement des transactions se fait de manière asynchrone.
11
+ *
12
+ * **Sans confirmation (`confirmation: false` ou non spécifié) :**
13
+ * - Les transactions sont créées et validées (unicité des txId)
14
+ * - Les paiements sont exécutés directement
15
+ * - Les transactions invalides (txId dupliqué) sont automatiquement rejetées avec le code `DU03`
16
+ * - Le business peut suivre la progression via `GET /paiements-groupes/{instructionId}` et `GET /paiements?instructionId={instructionId}`
17
+ *
18
+ * **Avec confirmation (`confirmation: true`) :**
19
+ * - Les transactions sont créées et validées (unicité des txId + recherche d'alias)
20
+ * - Les transactions avec alias invalide sont automatiquement rejetées avec le code `BE23`
21
+ * - Les transactions avec txId dupliqué sont rejetées avec le code `DU03`
22
+ * - Les transactions valides passent à l'état `INITIE` et peuvent être consultées via `GET /paiements?instructionId={instructionId}&statut=INITIE`
23
+ * - Le business dispose d'un **délai adaptatif** pour confirmer ou annuler via `PUT /paiements-groupes/{instructionId}/confirmations` :
24
+ * - **1 à 500 transactions** : 24 heures
25
+ * - **501 à 1000 transactions** : 48 heures
26
+ * - **Plus de 1000 transactions** : 72 heures
27
+ * - Lors de la confirmation, seules les transactions `INITIE` sont envoyées (les transactions `REJETE` sont automatiquement exclues)
28
+ * - Passé le délai, la demande expire automatiquement
29
+ *
30
+ * **Consultation des détails :**
31
+ * - Statut global du bulk : `GET /paiements-groupes/{instructionId}`
32
+ * - Liste de toutes les transactions : `GET /paiements?instructionId={instructionId}`
33
+ * - Seulement les rejetées (validation) : `GET /paiements?instructionId={instructionId}&statut=REJETE`
34
+ * - Seulement les valides (avec noms/pays) : `GET /paiements?instructionId={instructionId}&statut=INITIE`
35
+ *
36
+ * **Convention de nommage des instructionId (important) :**
37
+ *
38
+ * L'`instructionId` doit être **unique** pour chaque création de bulk. Pour faciliter le suivi métier, nous recommandons la convention suivante :
39
+ *
40
+ * ```
41
+ * <IDENTIFIANT_METIER>-<NUMERO_TENTATIVE>
42
+ * ```
43
+ *
44
+ * **Exemples :**
45
+ * - Première tentative : `SALAIRES-2025-01-1` (salaires de janvier 2025, tentative 1)
46
+ * - Deuxième tentative : `SALAIRES-2025-01-2` (corrections après échecs)
47
+ * - Troisième tentative : `SALAIRES-2025-01-3` (nouvelles corrections)
48
+ *
49
+ * **Avantages :**
50
+ * - ✅ Chaque bulk a un statut indépendant (INITIE, CONFIRME, ANNULE)
51
+ * - ✅ Traçabilité claire des tentatives successives
52
+ * - ✅ Possibilité de filtrer par identifiant métier : `GET /paiements?instructionId[beginsWith]=SALAIRES-2025-01`
53
+ * - ✅ Respect de l'unicité de l'instructionId
54
+ *
55
+ * @returns string La demande a été acceptée et est en cours de traitement.
56
+ *
57
+ * Consultez le statut via `GET /paiements-groupes/{instructionId}`.
58
+ *
59
+ * @throws ApiError
60
+ */
61
+ static paiementGroupeCreer({ requestBody, }: {
62
+ requestBody: PaiementEnMasseRequest;
63
+ }): CancelablePromise<string>;
64
+ /**
65
+ * Détails d'un paiement en masse
66
+ * Ce point de terminaison permet de consulter les détails d'un paiement en masse.
67
+ *
68
+ * **Statut du bulk :**
69
+ * - `INITIE` : Créé avec confirmation demandée, en attente de confirmation
70
+ * - `CONFIRME` : Confirmé par le business (si confirmation demandée) ou en cours de traitement (si sans confirmation)
71
+ * - `ANNULE` : Annulé par le business avant confirmation (seulement si confirmation demandée)
72
+ *
73
+ * **Note :**
74
+ * - Si créé **avec confirmation** (`confirmation: true`) : Le statut évolue de `INITIE` → `CONFIRME` ou `ANNULE`
75
+ * - Si créé **sans confirmation** (`confirmation: false`) : Le statut est directement `CONFIRME` (aucune action requise du business)
76
+ *
77
+ * **Vérification de fin de validation (important pour confirmation) :**
78
+ *
79
+ * Lorsque `confirmation: true`, la validation des transactions se fait de manière asynchrone.
80
+ * Pour savoir si la validation est terminée et si vous pouvez confirmer, vérifiez que :
81
+ *
82
+ * ```
83
+ * transactionsInitiees + transactionsRejetees = transactionsTotal
84
+ * ```
85
+ *
86
+ * - Si égalité → Validation terminée, vous pouvez confirmer ✅
87
+ * - Si inégalité → Validation en cours, attendez encore (consultez à nouveau dans quelques secondes) ⏳
88
+ *
89
+ * La progression détaillée de chaque transaction se consulte via `GET /paiements?txId={txId}`.
90
+ *
91
+ * **Consultation des transactions individuelles :**
92
+ * Pour obtenir la liste détaillée des transactions (avec noms des bénéficiaires, codes d'erreur, etc.), utilisez :
93
+ * - Toutes les transactions : `GET /paiements?instructionId={instructionId}`
94
+ * - Seulement les rejetées : `GET /paiements?instructionId={instructionId}&statut=REJETE`
95
+ * - Seulement les réussies : `GET /paiements?instructionId={instructionId}&statut=IRREVOCABLE`
96
+ *
97
+ * @returns PaiementEnMasseReponseStatut Opération effectuée avec succès
98
+ * @throws ApiError
99
+ */
100
+ static paiementGroupeConsulter({ instructionId, }: {
101
+ /**
102
+ * L'identifiant du paiement en masse dans le SI du client
103
+ */
104
+ instructionId: string;
105
+ }): CancelablePromise<PaiementEnMasseReponseStatut>;
106
+ /**
107
+ * Confirmer le paiement en masse
108
+ * Ce point de terminaison permet de confirmer ou d'annuler un paiement en masse créé avec `confirmation: true`.
109
+ *
110
+ * **Processus de vérification :**
111
+ * 1. Après la création (`POST /paiements-groupes`), le participant valide asynchronement toutes les transactions (unicité des txId + recherche d'alias)
112
+ * 2. Les transactions invalides sont automatiquement rejetées (`statut: REJETE`) avec codes `BE23` (alias invalide) ou `DU03` (txId dupliqué)
113
+ * 3. Les transactions valides passent à l'état `INITIE` avec les noms et pays des bénéficiaires
114
+ * 4. Le business consulte via `GET /paiements-groupes/{instructionId}` pour vérifier la progression de la validation
115
+ * 5. **La validation est terminée quand** : `transactionsInitiees + transactionsRejetees = transactionsTotal`
116
+ * 6. Le business peut alors confirmer ou annuler
117
+ *
118
+ * **Important :** La confirmation n'est possible que lorsque la validation de toutes les transactions est terminée.
119
+ * Si le business tente de confirmer pendant que la validation est en cours, une erreur 403 sera retournée avec la progression actuelle.
120
+ *
121
+ * **Comportement de la confirmation :**
122
+ * - `decision: true` → Le système envoie **automatiquement SEULEMENT** les transactions avec `statut: INITIE`
123
+ * - Les transactions `REJETE` (erreurs de validation) sont **automatiquement exclues** (pas besoin de les lister)
124
+ * - Le statut du bulk passe de `INITIE` à `CONFIRME`
125
+ *
126
+ * **Idempotence** : Cet endpoint est idempotent.
127
+ * - Premier appel avec `decision: true` → Lance les paiements, retourne `200 OK {statut: "CONFIRME"}`
128
+ * - Appels suivants avec `decision: true` → Retourne `200 OK {statut: "CONFIRME"}` (idempotent, ne relance pas)
129
+ * - Premier appel avec `decision: false` → Annule, retourne `200 OK {statut: "ANNULE"}`
130
+ * - Appels suivants avec `decision: false` → Retourne `200 OK {statut: "ANNULE"}` (idempotent)
131
+ * - `decision: true` après `decision: false` → Retourne `403 Forbidden` (déjà annulé)
132
+ * - `decision: false` après `decision: true` → Retourne `403 Forbidden` (déjà confirmé)
133
+ *
134
+ * **Timeout adaptatif** : Le délai pour confirmer dépend automatiquement du nombre de transactions :
135
+ * - **1 à 500 transactions** : 24 heures
136
+ * - **501 à 1000 transactions** : 48 heures
137
+ * - **Plus de 1000 transactions** : 72 heures
138
+ *
139
+ * Passé ce délai, la demande expire automatiquement et ne peut plus être confirmée. Le délai exact est indiqué dans le champ `dateExpiration` retourné par `GET /paiements-groupes/{instructionId}`.
140
+ *
141
+ * **Changement de décision** : Une fois une décision prise, elle est définitive. Impossible de confirmer après avoir annulé, et vice-versa.
142
+ *
143
+ * @returns PaiementEnMasseReponseStatut Confirmation enregistrée avec succès.
144
+ * - Si `decision: true`, le statut passe à `CONFIRME` et les paiements sont lancés
145
+ * - Si `decision: false`, le statut passe à `ANNULE`
146
+ *
147
+ * @throws ApiError
148
+ */
149
+ static paiementGroupeConfirmer({ instructionId, requestBody, }: {
150
+ /**
151
+ * L'identifiant du paiement en masse dans le SI du client
152
+ */
153
+ instructionId: string;
154
+ /**
155
+ * Le client envoie oui ou non s'il confirme l'envoi du paiement en masse.
156
+ */
157
+ requestBody: PaiementEnMasseConfirmationRequest;
158
+ }): CancelablePromise<PaiementEnMasseReponseStatut>;
159
+ }
@@ -0,0 +1,187 @@
1
+ import { OpenAPI } from '../core/OpenAPI';
2
+ import { request as __request } from '../core/request';
3
+ export class PaiementEnMasseService {
4
+ /**
5
+ * Envoyer un paiement en masse
6
+ * Ce point de terminaison permet au client d'envoyer des paiements en masse.
7
+ *
8
+ * **Traitement asynchrone :** La création d'un paiement en masse retourne immédiatement `202 Accepted`. Le traitement des transactions se fait de manière asynchrone.
9
+ *
10
+ * **Sans confirmation (`confirmation: false` ou non spécifié) :**
11
+ * - Les transactions sont créées et validées (unicité des txId)
12
+ * - Les paiements sont exécutés directement
13
+ * - Les transactions invalides (txId dupliqué) sont automatiquement rejetées avec le code `DU03`
14
+ * - Le business peut suivre la progression via `GET /paiements-groupes/{instructionId}` et `GET /paiements?instructionId={instructionId}`
15
+ *
16
+ * **Avec confirmation (`confirmation: true`) :**
17
+ * - Les transactions sont créées et validées (unicité des txId + recherche d'alias)
18
+ * - Les transactions avec alias invalide sont automatiquement rejetées avec le code `BE23`
19
+ * - Les transactions avec txId dupliqué sont rejetées avec le code `DU03`
20
+ * - Les transactions valides passent à l'état `INITIE` et peuvent être consultées via `GET /paiements?instructionId={instructionId}&statut=INITIE`
21
+ * - Le business dispose d'un **délai adaptatif** pour confirmer ou annuler via `PUT /paiements-groupes/{instructionId}/confirmations` :
22
+ * - **1 à 500 transactions** : 24 heures
23
+ * - **501 à 1000 transactions** : 48 heures
24
+ * - **Plus de 1000 transactions** : 72 heures
25
+ * - Lors de la confirmation, seules les transactions `INITIE` sont envoyées (les transactions `REJETE` sont automatiquement exclues)
26
+ * - Passé le délai, la demande expire automatiquement
27
+ *
28
+ * **Consultation des détails :**
29
+ * - Statut global du bulk : `GET /paiements-groupes/{instructionId}`
30
+ * - Liste de toutes les transactions : `GET /paiements?instructionId={instructionId}`
31
+ * - Seulement les rejetées (validation) : `GET /paiements?instructionId={instructionId}&statut=REJETE`
32
+ * - Seulement les valides (avec noms/pays) : `GET /paiements?instructionId={instructionId}&statut=INITIE`
33
+ *
34
+ * **Convention de nommage des instructionId (important) :**
35
+ *
36
+ * L'`instructionId` doit être **unique** pour chaque création de bulk. Pour faciliter le suivi métier, nous recommandons la convention suivante :
37
+ *
38
+ * ```
39
+ * <IDENTIFIANT_METIER>-<NUMERO_TENTATIVE>
40
+ * ```
41
+ *
42
+ * **Exemples :**
43
+ * - Première tentative : `SALAIRES-2025-01-1` (salaires de janvier 2025, tentative 1)
44
+ * - Deuxième tentative : `SALAIRES-2025-01-2` (corrections après échecs)
45
+ * - Troisième tentative : `SALAIRES-2025-01-3` (nouvelles corrections)
46
+ *
47
+ * **Avantages :**
48
+ * - ✅ Chaque bulk a un statut indépendant (INITIE, CONFIRME, ANNULE)
49
+ * - ✅ Traçabilité claire des tentatives successives
50
+ * - ✅ Possibilité de filtrer par identifiant métier : `GET /paiements?instructionId[beginsWith]=SALAIRES-2025-01`
51
+ * - ✅ Respect de l'unicité de l'instructionId
52
+ *
53
+ * @returns string La demande a été acceptée et est en cours de traitement.
54
+ *
55
+ * Consultez le statut via `GET /paiements-groupes/{instructionId}`.
56
+ *
57
+ * @throws ApiError
58
+ */
59
+ static paiementGroupeCreer({ requestBody, }) {
60
+ return __request(OpenAPI, {
61
+ method: 'POST',
62
+ url: '/paiements-groupes',
63
+ body: requestBody,
64
+ mediaType: 'application/json',
65
+ responseHeader: 'Location',
66
+ errors: {
67
+ 400: `La requête est malformée`,
68
+ 401: `Autorisations manquantes`,
69
+ 409: `Conflit - instructionId déjà utilisé`,
70
+ 429: `Erreur inattendue`,
71
+ 503: `Erreur inattendue du serveur`,
72
+ },
73
+ });
74
+ }
75
+ /**
76
+ * Détails d'un paiement en masse
77
+ * Ce point de terminaison permet de consulter les détails d'un paiement en masse.
78
+ *
79
+ * **Statut du bulk :**
80
+ * - `INITIE` : Créé avec confirmation demandée, en attente de confirmation
81
+ * - `CONFIRME` : Confirmé par le business (si confirmation demandée) ou en cours de traitement (si sans confirmation)
82
+ * - `ANNULE` : Annulé par le business avant confirmation (seulement si confirmation demandée)
83
+ *
84
+ * **Note :**
85
+ * - Si créé **avec confirmation** (`confirmation: true`) : Le statut évolue de `INITIE` → `CONFIRME` ou `ANNULE`
86
+ * - Si créé **sans confirmation** (`confirmation: false`) : Le statut est directement `CONFIRME` (aucune action requise du business)
87
+ *
88
+ * **Vérification de fin de validation (important pour confirmation) :**
89
+ *
90
+ * Lorsque `confirmation: true`, la validation des transactions se fait de manière asynchrone.
91
+ * Pour savoir si la validation est terminée et si vous pouvez confirmer, vérifiez que :
92
+ *
93
+ * ```
94
+ * transactionsInitiees + transactionsRejetees = transactionsTotal
95
+ * ```
96
+ *
97
+ * - Si égalité → Validation terminée, vous pouvez confirmer ✅
98
+ * - Si inégalité → Validation en cours, attendez encore (consultez à nouveau dans quelques secondes) ⏳
99
+ *
100
+ * La progression détaillée de chaque transaction se consulte via `GET /paiements?txId={txId}`.
101
+ *
102
+ * **Consultation des transactions individuelles :**
103
+ * Pour obtenir la liste détaillée des transactions (avec noms des bénéficiaires, codes d'erreur, etc.), utilisez :
104
+ * - Toutes les transactions : `GET /paiements?instructionId={instructionId}`
105
+ * - Seulement les rejetées : `GET /paiements?instructionId={instructionId}&statut=REJETE`
106
+ * - Seulement les réussies : `GET /paiements?instructionId={instructionId}&statut=IRREVOCABLE`
107
+ *
108
+ * @returns PaiementEnMasseReponseStatut Opération effectuée avec succès
109
+ * @throws ApiError
110
+ */
111
+ static paiementGroupeConsulter({ instructionId, }) {
112
+ return __request(OpenAPI, {
113
+ method: 'GET',
114
+ url: '/paiements-groupes/{instructionId}',
115
+ path: {
116
+ 'instructionId': instructionId,
117
+ },
118
+ errors: {
119
+ 401: `Autorisations manquantes`,
120
+ 404: `La ressource n'existe pas dans le système`,
121
+ 429: `Erreur inattendue`,
122
+ 503: `Erreur inattendue du serveur`,
123
+ },
124
+ });
125
+ }
126
+ /**
127
+ * Confirmer le paiement en masse
128
+ * Ce point de terminaison permet de confirmer ou d'annuler un paiement en masse créé avec `confirmation: true`.
129
+ *
130
+ * **Processus de vérification :**
131
+ * 1. Après la création (`POST /paiements-groupes`), le participant valide asynchronement toutes les transactions (unicité des txId + recherche d'alias)
132
+ * 2. Les transactions invalides sont automatiquement rejetées (`statut: REJETE`) avec codes `BE23` (alias invalide) ou `DU03` (txId dupliqué)
133
+ * 3. Les transactions valides passent à l'état `INITIE` avec les noms et pays des bénéficiaires
134
+ * 4. Le business consulte via `GET /paiements-groupes/{instructionId}` pour vérifier la progression de la validation
135
+ * 5. **La validation est terminée quand** : `transactionsInitiees + transactionsRejetees = transactionsTotal`
136
+ * 6. Le business peut alors confirmer ou annuler
137
+ *
138
+ * **Important :** La confirmation n'est possible que lorsque la validation de toutes les transactions est terminée.
139
+ * Si le business tente de confirmer pendant que la validation est en cours, une erreur 403 sera retournée avec la progression actuelle.
140
+ *
141
+ * **Comportement de la confirmation :**
142
+ * - `decision: true` → Le système envoie **automatiquement SEULEMENT** les transactions avec `statut: INITIE`
143
+ * - Les transactions `REJETE` (erreurs de validation) sont **automatiquement exclues** (pas besoin de les lister)
144
+ * - Le statut du bulk passe de `INITIE` à `CONFIRME`
145
+ *
146
+ * **Idempotence** : Cet endpoint est idempotent.
147
+ * - Premier appel avec `decision: true` → Lance les paiements, retourne `200 OK {statut: "CONFIRME"}`
148
+ * - Appels suivants avec `decision: true` → Retourne `200 OK {statut: "CONFIRME"}` (idempotent, ne relance pas)
149
+ * - Premier appel avec `decision: false` → Annule, retourne `200 OK {statut: "ANNULE"}`
150
+ * - Appels suivants avec `decision: false` → Retourne `200 OK {statut: "ANNULE"}` (idempotent)
151
+ * - `decision: true` après `decision: false` → Retourne `403 Forbidden` (déjà annulé)
152
+ * - `decision: false` après `decision: true` → Retourne `403 Forbidden` (déjà confirmé)
153
+ *
154
+ * **Timeout adaptatif** : Le délai pour confirmer dépend automatiquement du nombre de transactions :
155
+ * - **1 à 500 transactions** : 24 heures
156
+ * - **501 à 1000 transactions** : 48 heures
157
+ * - **Plus de 1000 transactions** : 72 heures
158
+ *
159
+ * Passé ce délai, la demande expire automatiquement et ne peut plus être confirmée. Le délai exact est indiqué dans le champ `dateExpiration` retourné par `GET /paiements-groupes/{instructionId}`.
160
+ *
161
+ * **Changement de décision** : Une fois une décision prise, elle est définitive. Impossible de confirmer après avoir annulé, et vice-versa.
162
+ *
163
+ * @returns PaiementEnMasseReponseStatut Confirmation enregistrée avec succès.
164
+ * - Si `decision: true`, le statut passe à `CONFIRME` et les paiements sont lancés
165
+ * - Si `decision: false`, le statut passe à `ANNULE`
166
+ *
167
+ * @throws ApiError
168
+ */
169
+ static paiementGroupeConfirmer({ instructionId, requestBody, }) {
170
+ return __request(OpenAPI, {
171
+ method: 'PUT',
172
+ url: '/paiements-groupes/{instructionId}/confirmations',
173
+ path: {
174
+ 'instructionId': instructionId,
175
+ },
176
+ body: requestBody,
177
+ mediaType: 'application/json',
178
+ errors: {
179
+ 401: `Autorisations manquantes`,
180
+ 403: `Opération interdite`,
181
+ 404: `La ressource n'existe pas dans le système`,
182
+ 429: `Erreur inattendue`,
183
+ 503: `Erreur inattendue du serveur`,
184
+ },
185
+ });
186
+ }
187
+ }