lcdp-api 1.20.2__tar.gz → 1.20.4__tar.gz

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 (84) hide show
  1. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/PKG-INFO +1 -1
  2. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/lcdp_api.egg-info/PKG-INFO +1 -1
  3. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/magic-cart.yaml +22 -0
  4. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/user.yaml +162 -1
  5. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/LICENSE.md +0 -0
  6. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/MANIFEST.in +0 -0
  7. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/README.md +0 -0
  8. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/configuration/Variable/Key.avsc +0 -0
  9. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/configuration/Variable/Value.avsc +0 -0
  10. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/favorite/FavoriteProduct/Key.avsc +0 -0
  11. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/favorite/FavoriteProduct/Value.avsc +0 -0
  12. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/laboratory/Laboratory/Key.avsc +0 -0
  13. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/laboratory/Laboratory/Value.avsc +0 -0
  14. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/product/Product/Key.avsc +0 -0
  15. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/product/Product/Value.avsc +0 -0
  16. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/product/Vat/Key.avsc +0 -0
  17. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/product/Vat/Value.avsc +0 -0
  18. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/recommendation/ProductRecommendation/Key.avsc +0 -0
  19. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/recommendation/ProductRecommendation/Value.avsc +0 -0
  20. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/sale-offer/AnyIdentifiedDistributionMode/Value.avsc +0 -0
  21. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/sale-offer/IdentifiedDistributionRange/Value.avsc +0 -0
  22. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/sale-offer/SaleOffer/Key.avsc +0 -0
  23. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/sale-offer/SaleOffer/Value.avsc +0 -0
  24. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/statistic/SaleOfferStatistic/Key.avsc +0 -0
  25. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/statistic/SaleOfferStatistic/Value.avsc +0 -0
  26. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/statistic/UserStatistic/Key.avsc +0 -0
  27. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/statistic/UserStatistic/Value.avsc +0 -0
  28. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/storage/Stock/Key.avsc +0 -0
  29. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/storage/Stock/Value.avsc +0 -0
  30. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/user/Transport/Value.avsc +0 -0
  31. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/user/User/Key.avsc +0 -0
  32. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/user/User/Value.avsc +0 -0
  33. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/ghost_package/__init__.py +0 -0
  34. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/ghost_package/event/__init__.py +0 -0
  35. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/ghost_package/rest/__init__.py +0 -0
  36. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/lcdp_api.egg-info/SOURCES.txt +0 -0
  37. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/lcdp_api.egg-info/dependency_links.txt +0 -0
  38. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/lcdp_api.egg-info/top_level.txt +0 -0
  39. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/pyproject.toml +0 -0
  40. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/auth.yaml +0 -0
  41. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/banking-operation.yaml +0 -0
  42. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/catalog.yaml +0 -0
  43. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/challenge.yaml +0 -0
  44. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/chargebee-hook.yaml +0 -0
  45. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/common.yaml +0 -0
  46. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/configuration.yaml +0 -0
  47. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/content.yaml +0 -0
  48. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/factory.yaml +0 -0
  49. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/favorite.yaml +0 -0
  50. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/geo.yaml +0 -0
  51. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/inventory.yaml +0 -0
  52. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/invoice.yaml +0 -0
  53. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/laboratory-store-log.yaml +0 -0
  54. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/laboratory-store.yaml +0 -0
  55. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/laboratory.yaml +0 -0
  56. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/lexicon.yaml +0 -0
  57. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/litigation.yaml +0 -0
  58. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/mandate.yaml +0 -0
  59. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/mangopay-hook.yaml +0 -0
  60. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/message.yaml +0 -0
  61. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/notification.yaml +0 -0
  62. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/order-log.yaml +0 -0
  63. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/order.yaml +0 -0
  64. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/outrage-message.yaml +0 -0
  65. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/product.yaml +0 -0
  66. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/pub.yaml +0 -0
  67. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/recommendation.yaml +0 -0
  68. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/rfx.yaml +0 -0
  69. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/sale-offer-log.yaml +0 -0
  70. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/sale-offer.yaml +0 -0
  71. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/servant.yaml +0 -0
  72. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/shipment.yaml +0 -0
  73. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/shopping-cart.yaml +0 -0
  74. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/smuggler.yaml +0 -0
  75. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/statistic.yaml +0 -0
  76. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/storage.yaml +0 -0
  77. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/subscription.yaml +0 -0
  78. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/supply.yaml +0 -0
  79. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/third-party.yaml +0 -0
  80. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/thread.yaml +0 -0
  81. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/ubo.yaml +0 -0
  82. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/wish.yaml +0 -0
  83. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/setup.cfg +0 -0
  84. {lcdp_api-1.20.2 → lcdp_api-1.20.4}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lcdp-api
3
- Version: 1.20.2
3
+ Version: 1.20.4
4
4
  Summary: Rest api specification for Le Comptoir Des Pharmacies
5
5
  Home-page: https://bitbucket.org/lecomptoirdespharmacies/lcdp-api
6
6
  Author: Le Comptoir Des Pharmacies
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lcdp-api
3
- Version: 1.20.2
3
+ Version: 1.20.4
4
4
  Summary: Rest api specification for Le Comptoir Des Pharmacies
5
5
  Home-page: https://bitbucket.org/lecomptoirdespharmacies/lcdp-api
6
6
  Author: Le Comptoir Des Pharmacies
@@ -180,9 +180,31 @@ components:
180
180
  items:
181
181
  type: string
182
182
  maxLength: 255
183
+ algorithm:
184
+ description: 'Algorithm used by the solver to build the express order'
185
+ default: 'STRICT_FRANCO'
186
+ allOf:
187
+ - $ref: '#/components/schemas/ExpressOrderAlgorithm'
183
188
  required:
184
189
  - buyerId
185
190
 
191
+ ExpressOrderAlgorithm:
192
+ type: string
193
+ description: |
194
+ Strategy used by the solver to build the express order :
195
+ * `STRICT_FRANCO` : the historical algorithm. Covering every requested product comes
196
+ first, then the smallest number of sellers. Those two settled, the solver reaches as
197
+ many free carriage thresholds as it can, and buys at the lowest price among the carts
198
+ reaching the same ones.
199
+ * `LAX_FOCUS` : the same arbitration, plus a minimum per sub cart. A sub cart is only
200
+ proposed when it carries at least 100 EUR of the request. That amount values every line
201
+ at the reference price of its product, its cheapest offer anywhere, so buying dearer
202
+ never helps reach it. The minimum binds every seller at once : as soon as one sub cart
203
+ reaches it, every seller kept has to. When none can, the rule lifts. The lines of a sub
204
+ cart left out move onto a seller which is kept, or are given up, in which case the
205
+ proposal covers only part of the request.
206
+ enum: ['STRICT_FRANCO', 'LAX_FOCUS']
207
+
186
208
  ExpressOrderNeed:
187
209
  type: object
188
210
  properties:
@@ -43,6 +43,8 @@ tags:
43
43
  description: Manage in user restrictions (restricted features)
44
44
  - name: searchUserIdvSession
45
45
  description: Retrieve users identity verification (IDV) sessions
46
+ - name: manageUserIdvDocument
47
+ description: Manage users identity verification (IDV) documents
46
48
  paths:
47
49
  /users:
48
50
  get:
@@ -862,6 +864,7 @@ paths:
862
864
  description: |
863
865
  Restrictions:
864
866
  - If DocumentType is in ('ID', 'KBIS', 'SHARE_HOLDER', 'STATUS') then user 'sca.enrollmentStatus' should be in 'ACTIVE'
867
+ - If the 'hosted_idv' feature is enabled then only the 'CGV' DocumentType is accepted
865
868
  operationId: createOrUpdateCurrentUserDocument
866
869
  security:
867
870
  - bearerAuth: []
@@ -987,8 +990,9 @@ paths:
987
990
  - manageUserDocument
988
991
  summary: Upload document associated to given user
989
992
  description: |
990
- Restrictions :
993
+ Restrictions:
991
994
  - If DocumentType is in ('ID', 'KBIS', 'SHARE_HOLDER', 'STATUS') then user 'sca.enrollmentStatus' should be in 'ACTIVE'
995
+ - If the 'hosted_idv' feature is enabled then only the 'CGV' DocumentType is accepted
992
996
  operationId: createOrUpdateUserDocument
993
997
  security:
994
998
  - bearerAuth: []
@@ -1265,6 +1269,45 @@ paths:
1265
1269
  description: Access denied
1266
1270
  '404':
1267
1271
  description: User not found
1272
+ '/users/{userId}/idv-documents':
1273
+ post:
1274
+ tags:
1275
+ - manageUserIdvDocument
1276
+ summary: Send a document to Mangopay for given user
1277
+ description: |
1278
+ Send a document requested by Mangopay for given user, one file per page, without storing it
1279
+ Restrictions:
1280
+ - Rejected while the 'hosted_idv' feature is disabled
1281
+ operationId: createUserIdvDocument
1282
+ security:
1283
+ - bearerAuth: []
1284
+ - apiKeyAuth: []
1285
+ x-restrict:
1286
+ roles:
1287
+ - ADMINISTRATOR
1288
+ parameters:
1289
+ - $ref: '#/components/parameters/UserIdParameter'
1290
+ requestBody:
1291
+ required: true
1292
+ content:
1293
+ multipart/form-data:
1294
+ schema:
1295
+ $ref: '#/components/schemas/IdvDocumentCreationParameters'
1296
+ responses:
1297
+ '204':
1298
+ description: Document sent to Mangopay
1299
+ '400':
1300
+ description: Invalid document type or number of files
1301
+ '403':
1302
+ description: Access denied
1303
+ '404':
1304
+ description: User not found
1305
+ '413':
1306
+ description: File over 7 MB or request over 10 MB
1307
+ '415':
1308
+ description: File type other than PDF, JPEG or PNG
1309
+ '501':
1310
+ description: The 'hosted_idv' feature is disabled
1268
1311
  /users/me/forbidden-sellers:
1269
1312
  get:
1270
1313
  tags:
@@ -2940,6 +2983,18 @@ components:
2940
2983
  nullable: true
2941
2984
  allOf:
2942
2985
  - $ref: '#/components/schemas/IdvBusinessInsightsMatchCheck'
2986
+ pscRoleCheck:
2987
+ nullable: true
2988
+ allOf:
2989
+ - $ref: '#/components/schemas/IdvPscRoleCheck'
2990
+ pscConsistencyCheck:
2991
+ nullable: true
2992
+ allOf:
2993
+ - $ref: '#/components/schemas/IdvPscConsistencyCheck'
2994
+ pscBusinessNatureCheck:
2995
+ nullable: true
2996
+ allOf:
2997
+ - $ref: '#/components/schemas/IdvPscBusinessNatureCheck'
2943
2998
 
2944
2999
  IdvSessionStatus:
2945
3000
  type: string
@@ -3123,6 +3178,112 @@ components:
3123
3178
  type: string
3124
3179
  description: 'Human-readable reason, in English'
3125
3180
 
3181
+ IdvPscRoleCheck:
3182
+ type: object
3183
+ description: 'Result of the PSC role check. Null if the check was not performed.'
3184
+ properties:
3185
+ status:
3186
+ $ref: '#/components/schemas/IdvCheckStatus'
3187
+ reasons:
3188
+ type: array
3189
+ description: 'Refusal reasons. Empty unless the check is REFUSED.'
3190
+ items:
3191
+ $ref: '#/components/schemas/IdvPscRoleCheckReason'
3192
+
3193
+ IdvPscRoleCheckReason:
3194
+ type: object
3195
+ properties:
3196
+ type:
3197
+ type: string
3198
+ description: 'Reason code'
3199
+ enum:
3200
+ - PSC_MISSING
3201
+ - UNKNOWN
3202
+ value:
3203
+ type: string
3204
+ description: 'Human-readable reason, in English'
3205
+
3206
+ IdvPscConsistencyCheck:
3207
+ type: object
3208
+ description: 'Result of the PSC consistency check. Null if the check was not performed.'
3209
+ properties:
3210
+ status:
3211
+ $ref: '#/components/schemas/IdvCheckStatus'
3212
+ reasons:
3213
+ type: array
3214
+ description: 'Refusal reasons. Empty unless the check is REFUSED.'
3215
+ items:
3216
+ $ref: '#/components/schemas/IdvPscConsistencyCheckReason'
3217
+
3218
+ IdvPscConsistencyCheckReason:
3219
+ type: object
3220
+ properties:
3221
+ type:
3222
+ type: string
3223
+ description: 'Reason code'
3224
+ enum:
3225
+ - PSC_FORM_ALTERED
3226
+ - UNVERIFIED_BUSINESS_PSC
3227
+ - UNKNOWN
3228
+ value:
3229
+ type: string
3230
+ description: 'Human-readable reason, in English'
3231
+
3232
+ IdvPscBusinessNatureCheck:
3233
+ type: object
3234
+ description: 'Result of the PSC business nature check. Null if the check was not performed.'
3235
+ properties:
3236
+ status:
3237
+ $ref: '#/components/schemas/IdvCheckStatus'
3238
+ reasons:
3239
+ type: array
3240
+ description: 'Refusal reasons. Empty unless the check is REFUSED.'
3241
+ items:
3242
+ $ref: '#/components/schemas/IdvPscBusinessNatureCheckReason'
3243
+
3244
+ IdvPscBusinessNatureCheckReason:
3245
+ type: object
3246
+ properties:
3247
+ type:
3248
+ type: string
3249
+ description: 'Reason code'
3250
+ enum:
3251
+ - UNKNOWN
3252
+ value:
3253
+ type: string
3254
+ description: 'Human-readable reason, in English'
3255
+
3256
+ IdvDocumentCreationParameters:
3257
+ type: object
3258
+ required:
3259
+ - type
3260
+ - upload
3261
+ properties:
3262
+ type:
3263
+ $ref: '#/components/schemas/IdvDocumentType'
3264
+ upload:
3265
+ description: List of files to upload. Each file becomes a page of the Mangopay document.
3266
+ type: array
3267
+ minItems: 1
3268
+ maxItems: 5
3269
+ items:
3270
+ type: string
3271
+ format: binary
3272
+
3273
+ IdvDocumentType:
3274
+ type: string
3275
+ description: |
3276
+ Type of document to send, as named by Mangopay
3277
+ - IDENTITY_PROOF: an identity document
3278
+ - REGISTRATION_PROOF: a company registration proof
3279
+ - ARTICLES_OF_ASSOCIATION: the articles of association
3280
+ - SHAREHOLDER_DECLARATION: the shareholder declaration, or any other non-identity document requested by Mangopay
3281
+ enum:
3282
+ - IDENTITY_PROOF
3283
+ - REGISTRATION_PROOF
3284
+ - ARTICLES_OF_ASSOCIATION
3285
+ - SHAREHOLDER_DECLARATION
3286
+
3126
3287
  securitySchemes:
3127
3288
  bearerAuth:
3128
3289
  type: http
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes