factpulse 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 (671) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +17 -0
  3. data/Gemfile +9 -0
  4. data/Gemfile.lock +74 -0
  5. data/LICENSE +21 -0
  6. data/README.md +220 -0
  7. data/Rakefile +10 -0
  8. data/docs/AFNORAcknowledgement.md +20 -0
  9. data/docs/AFNORAcknowledgementDetail.md +24 -0
  10. data/docs/AFNORAddressEdit.md +30 -0
  11. data/docs/AFNORAddressPatch.md +30 -0
  12. data/docs/AFNORAddressPut.md +30 -0
  13. data/docs/AFNORAddressRead.md +32 -0
  14. data/docs/AFNORAlgorithm.md +15 -0
  15. data/docs/AFNORContainsOperator.md +15 -0
  16. data/docs/AFNORCreateDirectoryLineBody.md +20 -0
  17. data/docs/AFNORCreateDirectoryLineBodyAddressingInformation.md +24 -0
  18. data/docs/AFNORCreateDirectoryLineBodyPeriod.md +20 -0
  19. data/docs/AFNORCreateRoutingCodeBody.md +32 -0
  20. data/docs/AFNORCredentials.md +22 -0
  21. data/docs/AFNORDestination.md +26 -0
  22. data/docs/AFNORDiffusionStatus.md +15 -0
  23. data/docs/AFNORDirectoryLineField.md +15 -0
  24. data/docs/AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCode.md +32 -0
  25. data/docs/AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCodePlatform.md +20 -0
  26. data/docs/AFNORDirectoryLinePayloadHistoryLegalUnitFacilityRoutingCodeRoutingCode.md +28 -0
  27. data/docs/AFNORDirectoryLinePost201Response.md +22 -0
  28. data/docs/AFNORDirectoryLineSearchPost200Response.md +22 -0
  29. data/docs/AFNOREntityType.md +15 -0
  30. data/docs/AFNORError.md +26 -0
  31. data/docs/AFNORFacilityAdministrativeStatus.md +15 -0
  32. data/docs/AFNORFacilityNature.md +15 -0
  33. data/docs/AFNORFacilityPayloadHistory.md +34 -0
  34. data/docs/AFNORFacilityPayloadHistoryUleB2gAdditionalData.md +28 -0
  35. data/docs/AFNORFacilityPayloadIncluded.md +32 -0
  36. data/docs/AFNORFacilityType.md +15 -0
  37. data/docs/AFNORFlow.md +38 -0
  38. data/docs/AFNORFlowAckStatus.md +15 -0
  39. data/docs/AFNORFlowDirection.md +15 -0
  40. data/docs/AFNORFlowInfo.md +28 -0
  41. data/docs/AFNORFlowProfile.md +15 -0
  42. data/docs/AFNORFlowSyntax.md +15 -0
  43. data/docs/AFNORFlowType.md +15 -0
  44. data/docs/AFNORFullFlowInfo.md +32 -0
  45. data/docs/AFNORHealthCheckResponse.md +22 -0
  46. data/docs/AFNORLegalUnitAdministrativeStatus.md +15 -0
  47. data/docs/AFNORLegalUnitPayloadHistory.md +24 -0
  48. data/docs/AFNORLegalUnitPayloadIncluded.md +24 -0
  49. data/docs/AFNORLegalUnitPayloadIncludedNoSiren.md +22 -0
  50. data/docs/AFNORPDPPAApi.md +150 -0
  51. data/docs/AFNORPDPPADirectoryServiceApi.md +1223 -0
  52. data/docs/AFNORPDPPAFlowServiceApi.md +270 -0
  53. data/docs/AFNORPlatformStatus.md +15 -0
  54. data/docs/AFNORProcessingRule.md +15 -0
  55. data/docs/AFNORReasonCode.md +49 -0
  56. data/docs/AFNORReasonCodeEnum.md +15 -0
  57. data/docs/AFNORRecipientPlatformType.md +15 -0
  58. data/docs/AFNORResult.md +32 -0
  59. data/docs/AFNORRoutingCodeAdministrativeStatus.md +15 -0
  60. data/docs/AFNORRoutingCodeField.md +15 -0
  61. data/docs/AFNORRoutingCodePayloadHistoryLegalUnitFacility.md +34 -0
  62. data/docs/AFNORRoutingCodePost201Response.md +22 -0
  63. data/docs/AFNORRoutingCodeSearch.md +28 -0
  64. data/docs/AFNORRoutingCodeSearchFilters.md +30 -0
  65. data/docs/AFNORRoutingCodeSearchFiltersAdministrativeStatus.md +20 -0
  66. data/docs/AFNORRoutingCodeSearchFiltersRoutingCodeName.md +20 -0
  67. data/docs/AFNORRoutingCodeSearchFiltersRoutingIdentifier.md +20 -0
  68. data/docs/AFNORRoutingCodeSearchPost200Response.md +22 -0
  69. data/docs/AFNORRoutingCodeSearchSortingInner.md +20 -0
  70. data/docs/AFNORSearchDirectoryLine.md +26 -0
  71. data/docs/AFNORSearchDirectoryLineFilters.md +26 -0
  72. data/docs/AFNORSearchDirectoryLineFiltersAddressingIdentifier.md +20 -0
  73. data/docs/AFNORSearchDirectoryLineFiltersAddressingSuffix.md +20 -0
  74. data/docs/AFNORSearchDirectoryLineSortingInner.md +20 -0
  75. data/docs/AFNORSearchFlowContent.md +22 -0
  76. data/docs/AFNORSearchFlowFilters.md +30 -0
  77. data/docs/AFNORSearchFlowParams.md +20 -0
  78. data/docs/AFNORSearchSiren.md +26 -0
  79. data/docs/AFNORSearchSirenFilters.md +24 -0
  80. data/docs/AFNORSearchSirenFiltersAdministrativeStatus.md +20 -0
  81. data/docs/AFNORSearchSirenFiltersBusinessName.md +20 -0
  82. data/docs/AFNORSearchSirenFiltersEntityType.md +20 -0
  83. data/docs/AFNORSearchSirenFiltersSiren.md +20 -0
  84. data/docs/AFNORSearchSirenSortingInner.md +20 -0
  85. data/docs/AFNORSearchSiret.md +28 -0
  86. data/docs/AFNORSearchSiretFilters.md +34 -0
  87. data/docs/AFNORSearchSiretFiltersAddressLines.md +20 -0
  88. data/docs/AFNORSearchSiretFiltersAdministrativeStatus.md +20 -0
  89. data/docs/AFNORSearchSiretFiltersCountrySubdivision.md +20 -0
  90. data/docs/AFNORSearchSiretFiltersFacilityType.md +20 -0
  91. data/docs/AFNORSearchSiretFiltersLocality.md +20 -0
  92. data/docs/AFNORSearchSiretFiltersName.md +20 -0
  93. data/docs/AFNORSearchSiretFiltersPostalCode.md +20 -0
  94. data/docs/AFNORSearchSiretFiltersSiret.md +20 -0
  95. data/docs/AFNORSearchSiretSortingInner.md +20 -0
  96. data/docs/AFNORSirenField.md +15 -0
  97. data/docs/AFNORSirenSearchPost200Response.md +22 -0
  98. data/docs/AFNORSiretField.md +15 -0
  99. data/docs/AFNORSiretSearchPost200Response.md +22 -0
  100. data/docs/AFNORSortingOrder.md +15 -0
  101. data/docs/AFNORStrictOperator.md +15 -0
  102. data/docs/AFNORUpdatePatchDirectoryLineBody.md +18 -0
  103. data/docs/AFNORUpdatePatchRoutingCodeBody.md +24 -0
  104. data/docs/AFNORUpdatePutRoutingCodeBody.md +24 -0
  105. data/docs/AFNORWebhookCallbackContent.md +18 -0
  106. data/docs/APIError.md +22 -0
  107. data/docs/APIProfile.md +15 -0
  108. data/docs/AcknowledgmentStatus.md +15 -0
  109. data/docs/ActionCodeInfo.md +22 -0
  110. data/docs/ActionCodesResponse.md +22 -0
  111. data/docs/AdditionalDocument.md +26 -0
  112. data/docs/AggregatedPaymentInput.md +22 -0
  113. data/docs/AggregatedTransactionInput.md +32 -0
  114. data/docs/AllowanceCharge.md +32 -0
  115. data/docs/AllowanceChargeReasonCode.md +15 -0
  116. data/docs/AllowanceReasonCode.md +15 -0
  117. data/docs/AllowanceTotalAmount.md +15 -0
  118. data/docs/Amount.md +15 -0
  119. data/docs/Amount1.md +15 -0
  120. data/docs/Amount2.md +15 -0
  121. data/docs/AmountDue.md +15 -0
  122. data/docs/AsyncTaskStatus.md +22 -0
  123. data/docs/AsyncTasksApi.md +82 -0
  124. data/docs/BaseAmount.md +15 -0
  125. data/docs/BoundingBoxSchema.md +30 -0
  126. data/docs/Buyercountry.md +15 -0
  127. data/docs/CeleryStatus.md +15 -0
  128. data/docs/CertificateInfoResponse.md +40 -0
  129. data/docs/ChargeTotalAmount.md +15 -0
  130. data/docs/ChorusProApi.md +1207 -0
  131. data/docs/ChorusProCredentials.md +26 -0
  132. data/docs/ChorusProDestination.md +20 -0
  133. data/docs/ChorusProResult.md +22 -0
  134. data/docs/ClientActivateResponse.md +22 -0
  135. data/docs/ClientCreateRequest.md +22 -0
  136. data/docs/ClientDetail.md +38 -0
  137. data/docs/ClientListResponse.md +24 -0
  138. data/docs/ClientManagementApi.md +921 -0
  139. data/docs/ClientSummary.md +38 -0
  140. data/docs/ClientUpdateRequest.md +22 -0
  141. data/docs/Contact.md +24 -0
  142. data/docs/ConvertResumeRequest.md +18 -0
  143. data/docs/ConvertSuccessResponse.md +36 -0
  144. data/docs/ConvertValidationFailedResponse.md +34 -0
  145. data/docs/CountryCode.md +15 -0
  146. data/docs/CreateAggregatedReportRequest.md +36 -0
  147. data/docs/CreateCDARRequest.md +52 -0
  148. data/docs/CreateEReportingRequest.md +38 -0
  149. data/docs/Currency.md +15 -0
  150. data/docs/CurrencyCode.md +15 -0
  151. data/docs/DeliveryParty.md +24 -0
  152. data/docs/Destination.md +79 -0
  153. data/docs/DocType.md +15 -0
  154. data/docs/DocumentTypeInfo.md +22 -0
  155. data/docs/DownloadsApi.md +161 -0
  156. data/docs/EReportingFlowType.md +15 -0
  157. data/docs/EReportingValidationError.md +22 -0
  158. data/docs/ElectronicAddress.md +20 -0
  159. data/docs/ElectronicSignatureApi.md +339 -0
  160. data/docs/Encaisseamount.md +15 -0
  161. data/docs/Encaisseamount1.md +15 -0
  162. data/docs/EncaisseeRequest.md +40 -0
  163. data/docs/EnrichedInvoiceInfo.md +32 -0
  164. data/docs/ErrorLevel.md +15 -0
  165. data/docs/ErrorSource.md +15 -0
  166. data/docs/ExtractionInfo.md +24 -0
  167. data/docs/FacturXConversionApi.md +319 -0
  168. data/docs/FacturXGenerationApi.md +254 -0
  169. data/docs/FacturXInvoice.md +76 -0
  170. data/docs/FacturXPDFInfo.md +22 -0
  171. data/docs/FacturXPDFXMLVerificationApi.md +240 -0
  172. data/docs/FacturXValidationApi.md +256 -0
  173. data/docs/FactureElectroniqueRestApiSchemasEreportingInvoiceTypeCode.md +15 -0
  174. data/docs/FactureElectroniqueRestApiSchemasProcessingChorusProCredentials.md +26 -0
  175. data/docs/FactureElectroniqueRestApiSchemasValidationValidationErrorResponse.md +18 -0
  176. data/docs/FieldStatus.md +15 -0
  177. data/docs/FileInfo.md +20 -0
  178. data/docs/FilesInfo.md +20 -0
  179. data/docs/FlowDirection.md +15 -0
  180. data/docs/FlowProfile.md +15 -0
  181. data/docs/FlowSummary.md +32 -0
  182. data/docs/FlowSyntax.md +15 -0
  183. data/docs/FlowType.md +15 -0
  184. data/docs/Flux10EReportingApi.md +814 -0
  185. data/docs/Flux6InvoiceLifecycleCDARApi.md +698 -0
  186. data/docs/GenerateAggregatedReportResponse.md +30 -0
  187. data/docs/GenerateCDARResponse.md +26 -0
  188. data/docs/GenerateCertificateRequest.md +38 -0
  189. data/docs/GenerateCertificateResponse.md +32 -0
  190. data/docs/GenerateEReportingResponse.md +26 -0
  191. data/docs/GetChorusProIdRequest.md +22 -0
  192. data/docs/GetChorusProIdResponse.md +24 -0
  193. data/docs/GetInvoiceRequest.md +20 -0
  194. data/docs/GetInvoiceResponse.md +34 -0
  195. data/docs/GetStructureRequest.md +22 -0
  196. data/docs/GetStructureResponse.md +34 -0
  197. data/docs/GlobalAllowanceAmount.md +15 -0
  198. data/docs/GrossUnitPrice.md +15 -0
  199. data/docs/HTTPValidationError.md +18 -0
  200. data/docs/HealthApi.md +203 -0
  201. data/docs/IncomingInvoice.md +54 -0
  202. data/docs/IncomingSupplier.md +32 -0
  203. data/docs/InvoiceFormat.md +15 -0
  204. data/docs/InvoiceInput.md +50 -0
  205. data/docs/InvoiceLine.md +84 -0
  206. data/docs/InvoiceLineAllowanceAmount.md +15 -0
  207. data/docs/InvoiceNote.md +20 -0
  208. data/docs/InvoicePaymentInput.md +26 -0
  209. data/docs/InvoiceReferences.md +52 -0
  210. data/docs/InvoiceStatus.md +22 -0
  211. data/docs/InvoiceTotals.md +38 -0
  212. data/docs/InvoiceTotalsPrepayment.md +15 -0
  213. data/docs/InvoiceTypeCode.md +15 -0
  214. data/docs/InvoiceTypeCodeOutput.md +15 -0
  215. data/docs/InvoicingFramework.md +24 -0
  216. data/docs/InvoicingFrameworkCode.md +15 -0
  217. data/docs/IssuerRoleCode.md +15 -0
  218. data/docs/KeyRotationRequest.md +20 -0
  219. data/docs/KeyRotationResponse.md +24 -0
  220. data/docs/LineNetAmount.md +15 -0
  221. data/docs/LineSubType.md +15 -0
  222. data/docs/LineTotalAmount.md +15 -0
  223. data/docs/LocationInner.md +15 -0
  224. data/docs/MandatoryNoteSchema.md +30 -0
  225. data/docs/ManualRate.md +15 -0
  226. data/docs/ManualVatRate.md +15 -0
  227. data/docs/MissingField.md +28 -0
  228. data/docs/OperationNature.md +15 -0
  229. data/docs/OutputFormat.md +15 -0
  230. data/docs/PDFValidationResultAPI.md +62 -0
  231. data/docs/PDPConfigResponse.md +46 -0
  232. data/docs/PDPConfigUpdateRequest.md +30 -0
  233. data/docs/PDPCredentials.md +26 -0
  234. data/docs/PageDimensionsSchema.md +20 -0
  235. data/docs/Payee.md +32 -0
  236. data/docs/PaymentAmountByRate.md +20 -0
  237. data/docs/PaymentCard.md +20 -0
  238. data/docs/PaymentMeans.md +15 -0
  239. data/docs/Percentage.md +15 -0
  240. data/docs/PostalAddress.md +30 -0
  241. data/docs/PriceAllowanceAmount.md +15 -0
  242. data/docs/PriceBasisQuantity.md +15 -0
  243. data/docs/ProcessingOptions.md +24 -0
  244. data/docs/ProcessingRule.md +15 -0
  245. data/docs/ProductCharacteristic.md +20 -0
  246. data/docs/ProductClassification.md +22 -0
  247. data/docs/Quantity.md +15 -0
  248. data/docs/Rate.md +15 -0
  249. data/docs/Rate1.md +15 -0
  250. data/docs/ReasonCodeInfo.md +22 -0
  251. data/docs/ReasonCodesResponse.md +22 -0
  252. data/docs/Recipient.md +34 -0
  253. data/docs/RecipientInput.md +26 -0
  254. data/docs/RefuseeRequest.md +40 -0
  255. data/docs/ReportIssuer.md +24 -0
  256. data/docs/ReportPeriod.md +20 -0
  257. data/docs/ReportSender.md +22 -0
  258. data/docs/RoundingAmount.md +15 -0
  259. data/docs/SchematronValidationError.md +32 -0
  260. data/docs/SchemeID.md +15 -0
  261. data/docs/SearchFlowRequest.md +34 -0
  262. data/docs/SearchFlowResponse.md +24 -0
  263. data/docs/SearchServicesResponse.md +24 -0
  264. data/docs/SearchStructureRequest.md +26 -0
  265. data/docs/SearchStructureResponse.md +24 -0
  266. data/docs/SecretStatus.md +24 -0
  267. data/docs/Sellercountry.md +15 -0
  268. data/docs/SignatureInfo.md +22 -0
  269. data/docs/SignatureInfoAPI.md +28 -0
  270. data/docs/SignatureParameters.md +34 -0
  271. data/docs/SimplifiedCDARResponse.md +26 -0
  272. data/docs/SimplifiedInvoiceData.md +42 -0
  273. data/docs/StatusCodeInfo.md +22 -0
  274. data/docs/StatusCodesResponse.md +22 -0
  275. data/docs/StructureInfo.md +26 -0
  276. data/docs/StructureParameters.md +22 -0
  277. data/docs/StructureService.md +24 -0
  278. data/docs/SubmissionMode.md +15 -0
  279. data/docs/SubmitAggregatedReportRequest.md +28 -0
  280. data/docs/SubmitCDARRequest.md +62 -0
  281. data/docs/SubmitCDARResponse.md +24 -0
  282. data/docs/SubmitCDARXMLRequest.md +30 -0
  283. data/docs/SubmitCompleteInvoiceRequest.md +26 -0
  284. data/docs/SubmitCompleteInvoiceResponse.md +34 -0
  285. data/docs/SubmitEReportingRequest.md +28 -0
  286. data/docs/SubmitEReportingResponse.md +32 -0
  287. data/docs/SubmitFlowRequest.md +28 -0
  288. data/docs/SubmitFlowResponse.md +30 -0
  289. data/docs/SubmitGrossAmount.md +15 -0
  290. data/docs/SubmitInvoiceRequest.md +46 -0
  291. data/docs/SubmitInvoiceResponse.md +24 -0
  292. data/docs/SubmitNetAmount.md +15 -0
  293. data/docs/SubmitVatAmount.md +15 -0
  294. data/docs/SupplementaryAttachment.md +26 -0
  295. data/docs/Supplier.md +52 -0
  296. data/docs/TaskResponse.md +18 -0
  297. data/docs/TaxBreakdownInput.md +22 -0
  298. data/docs/TaxDueDateType.md +15 -0
  299. data/docs/TaxRepresentative.md +22 -0
  300. data/docs/TaxableAmount.md +15 -0
  301. data/docs/Taxableamount.md +15 -0
  302. data/docs/Taxamount.md +15 -0
  303. data/docs/Taxamount1.md +15 -0
  304. data/docs/Taxamount2.md +15 -0
  305. data/docs/Taxexclusiveamount.md +15 -0
  306. data/docs/Taxexclusiveamount1.md +15 -0
  307. data/docs/TotalGrossAmount.md +15 -0
  308. data/docs/TotalNetAmount.md +15 -0
  309. data/docs/TotalVATAmount.md +15 -0
  310. data/docs/TransactionCategory.md +15 -0
  311. data/docs/TransmissionTypeCode.md +15 -0
  312. data/docs/UnitNetPrice.md +15 -0
  313. data/docs/UnitOfMeasure.md +15 -0
  314. data/docs/VATAccountingCode.md +15 -0
  315. data/docs/VATAmount.md +15 -0
  316. data/docs/VATCategory.md +15 -0
  317. data/docs/VATLine.md +32 -0
  318. data/docs/VATPointDateCode.md +15 -0
  319. data/docs/ValidateCDARRequest.md +32 -0
  320. data/docs/ValidateCDARResponse.md +22 -0
  321. data/docs/ValidateEReportingRequest.md +18 -0
  322. data/docs/ValidateEReportingResponse.md +28 -0
  323. data/docs/ValidationError.md +22 -0
  324. data/docs/ValidationErrorDetail.md +26 -0
  325. data/docs/ValidationErrorResponse.md +24 -0
  326. data/docs/ValidationInfo.md +28 -0
  327. data/docs/ValidationSuccessResponse.md +18 -0
  328. data/docs/VatRate.md +15 -0
  329. data/docs/VerificationSuccessResponse.md +36 -0
  330. data/docs/VerifiedFieldSchema.md +34 -0
  331. data/docs/WebhookSecretDeleteResponse.md +20 -0
  332. data/docs/WebhookSecretGenerateResponse.md +24 -0
  333. data/docs/WebhookSecretStatusResponse.md +20 -0
  334. data/factpulse.gemspec +39 -0
  335. data/git_push.sh +57 -0
  336. data/lib/factpulse/api/afnorpdppa_api.rb +148 -0
  337. data/lib/factpulse/api/afnorpdppa_directory_service_api.rb +1183 -0
  338. data/lib/factpulse/api/afnorpdppa_flow_service_api.rb +289 -0
  339. data/lib/factpulse/api/async_tasks_api.rb +85 -0
  340. data/lib/factpulse/api/chorus_pro_api.rb +1105 -0
  341. data/lib/factpulse/api/client_management_api.rb +831 -0
  342. data/lib/factpulse/api/downloads_api.rb +151 -0
  343. data/lib/factpulse/api/electronic_signature_api.rb +339 -0
  344. data/lib/factpulse/api/factur_x_conversion_api.rb +306 -0
  345. data/lib/factpulse/api/factur_x_generation_api.rb +254 -0
  346. data/lib/factpulse/api/factur_x_validation_api.rb +256 -0
  347. data/lib/factpulse/api/factur_xpdfxml_verification_api.rb +232 -0
  348. data/lib/factpulse/api/flux10_e_reporting_api.rb +777 -0
  349. data/lib/factpulse/api/flux6_invoice_lifecycle_cdar_api.rb +670 -0
  350. data/lib/factpulse/api/health_api.rb +193 -0
  351. data/lib/factpulse/api_client.rb +397 -0
  352. data/lib/factpulse/api_error.rb +58 -0
  353. data/lib/factpulse/api_model_base.rb +88 -0
  354. data/lib/factpulse/configuration.rb +319 -0
  355. data/lib/factpulse/helpers/client.rb +272 -0
  356. data/lib/factpulse/helpers/exceptions.rb +45 -0
  357. data/lib/factpulse/helpers/helpers.rb +14 -0
  358. data/lib/factpulse/models/acknowledgment_status.rb +41 -0
  359. data/lib/factpulse/models/action_code_info.rb +220 -0
  360. data/lib/factpulse/models/action_codes_response.rb +207 -0
  361. data/lib/factpulse/models/additional_document.rb +206 -0
  362. data/lib/factpulse/models/afnor_acknowledgement.rb +216 -0
  363. data/lib/factpulse/models/afnor_acknowledgement_detail.rb +267 -0
  364. data/lib/factpulse/models/afnor_address_edit.rb +353 -0
  365. data/lib/factpulse/models/afnor_address_patch.rb +386 -0
  366. data/lib/factpulse/models/afnor_address_put.rb +435 -0
  367. data/lib/factpulse/models/afnor_address_read.rb +382 -0
  368. data/lib/factpulse/models/afnor_algorithm.rb +43 -0
  369. data/lib/factpulse/models/afnor_contains_operator.rb +39 -0
  370. data/lib/factpulse/models/afnor_create_directory_line_body.rb +156 -0
  371. data/lib/factpulse/models/afnor_create_directory_line_body_addressing_information.rb +294 -0
  372. data/lib/factpulse/models/afnor_create_directory_line_body_period.rb +175 -0
  373. data/lib/factpulse/models/afnor_create_routing_code_body.rb +412 -0
  374. data/lib/factpulse/models/afnor_credentials.rb +169 -0
  375. data/lib/factpulse/models/afnor_destination.rb +224 -0
  376. data/lib/factpulse/models/afnor_diffusion_status.rb +40 -0
  377. data/lib/factpulse/models/afnor_directory_line_field.rb +44 -0
  378. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code.rb +312 -0
  379. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_platform.rb +178 -0
  380. data/lib/factpulse/models/afnor_directory_line_payload_history_legal_unit_facility_routing_code_routing_code.rb +308 -0
  381. data/lib/factpulse/models/afnor_directory_line_post201_response.rb +187 -0
  382. data/lib/factpulse/models/afnor_directory_line_search_post200_response.rb +168 -0
  383. data/lib/factpulse/models/afnor_entity_type.rb +40 -0
  384. data/lib/factpulse/models/afnor_error.rb +214 -0
  385. data/lib/factpulse/models/afnor_facility_administrative_status.rb +40 -0
  386. data/lib/factpulse/models/afnor_facility_nature.rb +40 -0
  387. data/lib/factpulse/models/afnor_facility_payload_history.rb +323 -0
  388. data/lib/factpulse/models/afnor_facility_payload_history_ule_b2g_additional_data.rb +198 -0
  389. data/lib/factpulse/models/afnor_facility_payload_included.rb +314 -0
  390. data/lib/factpulse/models/afnor_facility_type.rb +40 -0
  391. data/lib/factpulse/models/afnor_flow.rb +315 -0
  392. data/lib/factpulse/models/afnor_flow_ack_status.rb +41 -0
  393. data/lib/factpulse/models/afnor_flow_direction.rb +40 -0
  394. data/lib/factpulse/models/afnor_flow_info.rb +293 -0
  395. data/lib/factpulse/models/afnor_flow_profile.rb +41 -0
  396. data/lib/factpulse/models/afnor_flow_syntax.rb +43 -0
  397. data/lib/factpulse/models/afnor_flow_type.rb +51 -0
  398. data/lib/factpulse/models/afnor_full_flow_info.rb +339 -0
  399. data/lib/factpulse/models/afnor_health_check_response.rb +220 -0
  400. data/lib/factpulse/models/afnor_legal_unit_administrative_status.rb +40 -0
  401. data/lib/factpulse/models/afnor_legal_unit_payload_history.rb +247 -0
  402. data/lib/factpulse/models/afnor_legal_unit_payload_included.rb +247 -0
  403. data/lib/factpulse/models/afnor_legal_unit_payload_included_no_siren.rb +207 -0
  404. data/lib/factpulse/models/afnor_platform_status.rb +40 -0
  405. data/lib/factpulse/models/afnor_processing_rule.rb +44 -0
  406. data/lib/factpulse/models/afnor_reason_code.rb +105 -0
  407. data/lib/factpulse/models/afnor_reason_code_enum.rb +53 -0
  408. data/lib/factpulse/models/afnor_recipient_platform_type.rb +40 -0
  409. data/lib/factpulse/models/afnor_result.rb +270 -0
  410. data/lib/factpulse/models/afnor_routing_code_administrative_status.rb +40 -0
  411. data/lib/factpulse/models/afnor_routing_code_field.rb +46 -0
  412. data/lib/factpulse/models/afnor_routing_code_payload_history_legal_unit_facility.rb +366 -0
  413. data/lib/factpulse/models/afnor_routing_code_post201_response.rb +228 -0
  414. data/lib/factpulse/models/afnor_routing_code_search.rb +224 -0
  415. data/lib/factpulse/models/afnor_routing_code_search_filters.rb +201 -0
  416. data/lib/factpulse/models/afnor_routing_code_search_filters_administrative_status.rb +178 -0
  417. data/lib/factpulse/models/afnor_routing_code_search_filters_routing_code_name.rb +209 -0
  418. data/lib/factpulse/models/afnor_routing_code_search_filters_routing_identifier.rb +209 -0
  419. data/lib/factpulse/models/afnor_routing_code_search_post200_response.rb +168 -0
  420. data/lib/factpulse/models/afnor_routing_code_search_sorting_inner.rb +179 -0
  421. data/lib/factpulse/models/afnor_search_directory_line.rb +191 -0
  422. data/lib/factpulse/models/afnor_search_directory_line_filters.rb +183 -0
  423. data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_identifier.rb +198 -0
  424. data/lib/factpulse/models/afnor_search_directory_line_filters_addressing_suffix.rb +198 -0
  425. data/lib/factpulse/models/afnor_search_directory_line_sorting_inner.rb +179 -0
  426. data/lib/factpulse/models/afnor_search_flow_content.rb +168 -0
  427. data/lib/factpulse/models/afnor_search_flow_filters.rb +250 -0
  428. data/lib/factpulse/models/afnor_search_flow_params.rb +195 -0
  429. data/lib/factpulse/models/afnor_search_siren.rb +191 -0
  430. data/lib/factpulse/models/afnor_search_siren_filters.rb +174 -0
  431. data/lib/factpulse/models/afnor_search_siren_filters_administrative_status.rb +178 -0
  432. data/lib/factpulse/models/afnor_search_siren_filters_business_name.rb +198 -0
  433. data/lib/factpulse/models/afnor_search_siren_filters_entity_type.rb +178 -0
  434. data/lib/factpulse/models/afnor_search_siren_filters_siren.rb +209 -0
  435. data/lib/factpulse/models/afnor_search_siren_sorting_inner.rb +179 -0
  436. data/lib/factpulse/models/afnor_search_siret.rb +224 -0
  437. data/lib/factpulse/models/afnor_search_siret_filters.rb +219 -0
  438. data/lib/factpulse/models/afnor_search_siret_filters_address_lines.rb +198 -0
  439. data/lib/factpulse/models/afnor_search_siret_filters_administrative_status.rb +178 -0
  440. data/lib/factpulse/models/afnor_search_siret_filters_country_subdivision.rb +198 -0
  441. data/lib/factpulse/models/afnor_search_siret_filters_facility_type.rb +178 -0
  442. data/lib/factpulse/models/afnor_search_siret_filters_locality.rb +198 -0
  443. data/lib/factpulse/models/afnor_search_siret_filters_name.rb +198 -0
  444. data/lib/factpulse/models/afnor_search_siret_filters_postal_code.rb +209 -0
  445. data/lib/factpulse/models/afnor_search_siret_filters_siret.rb +209 -0
  446. data/lib/factpulse/models/afnor_search_siret_sorting_inner.rb +179 -0
  447. data/lib/factpulse/models/afnor_siren_field.rb +43 -0
  448. data/lib/factpulse/models/afnor_siren_search_post200_response.rb +168 -0
  449. data/lib/factpulse/models/afnor_siret_field.rb +52 -0
  450. data/lib/factpulse/models/afnor_siret_search_post200_response.rb +168 -0
  451. data/lib/factpulse/models/afnor_sorting_order.rb +40 -0
  452. data/lib/factpulse/models/afnor_strict_operator.rb +39 -0
  453. data/lib/factpulse/models/afnor_update_patch_directory_line_body.rb +148 -0
  454. data/lib/factpulse/models/afnor_update_patch_routing_code_body.rb +258 -0
  455. data/lib/factpulse/models/afnor_update_put_routing_code_body.rb +289 -0
  456. data/lib/factpulse/models/afnor_webhook_callback_content.rb +148 -0
  457. data/lib/factpulse/models/aggregated_payment_input.rb +213 -0
  458. data/lib/factpulse/models/aggregated_transaction_input.rb +349 -0
  459. data/lib/factpulse/models/allowance_charge.rb +274 -0
  460. data/lib/factpulse/models/allowance_charge_reason_code.rb +76 -0
  461. data/lib/factpulse/models/allowance_reason_code.rb +45 -0
  462. data/lib/factpulse/models/allowance_total_amount.rb +104 -0
  463. data/lib/factpulse/models/amount.rb +104 -0
  464. data/lib/factpulse/models/amount1.rb +104 -0
  465. data/lib/factpulse/models/amount2.rb +104 -0
  466. data/lib/factpulse/models/amount_due.rb +104 -0
  467. data/lib/factpulse/models/api_error.rb +205 -0
  468. data/lib/factpulse/models/api_profile.rb +43 -0
  469. data/lib/factpulse/models/async_task_status.rb +227 -0
  470. data/lib/factpulse/models/base_amount.rb +104 -0
  471. data/lib/factpulse/models/bounding_box_schema.rb +332 -0
  472. data/lib/factpulse/models/buyercountry.rb +104 -0
  473. data/lib/factpulse/models/celery_status.rb +43 -0
  474. data/lib/factpulse/models/certificate_info_response.rb +446 -0
  475. data/lib/factpulse/models/charge_total_amount.rb +104 -0
  476. data/lib/factpulse/models/chorus_pro_credentials.rb +259 -0
  477. data/lib/factpulse/models/chorus_pro_destination.rb +194 -0
  478. data/lib/factpulse/models/chorus_pro_result.rb +186 -0
  479. data/lib/factpulse/models/client_activate_response.rb +220 -0
  480. data/lib/factpulse/models/client_create_request.rb +236 -0
  481. data/lib/factpulse/models/client_detail.rb +368 -0
  482. data/lib/factpulse/models/client_list_response.rb +249 -0
  483. data/lib/factpulse/models/client_summary.rb +368 -0
  484. data/lib/factpulse/models/client_update_request.rb +225 -0
  485. data/lib/factpulse/models/contact.rb +179 -0
  486. data/lib/factpulse/models/convert_resume_request.rb +151 -0
  487. data/lib/factpulse/models/convert_success_response.rb +360 -0
  488. data/lib/factpulse/models/convert_validation_failed_response.rb +339 -0
  489. data/lib/factpulse/models/country_code.rb +208 -0
  490. data/lib/factpulse/models/create_aggregated_report_request.rb +320 -0
  491. data/lib/factpulse/models/create_cdar_request.rb +414 -0
  492. data/lib/factpulse/models/create_e_reporting_request.rb +347 -0
  493. data/lib/factpulse/models/currency.rb +104 -0
  494. data/lib/factpulse/models/currency_code.rb +91 -0
  495. data/lib/factpulse/models/delivery_party.rb +179 -0
  496. data/lib/factpulse/models/destination.rb +56 -0
  497. data/lib/factpulse/models/doc_type.rb +42 -0
  498. data/lib/factpulse/models/document_type_info.rb +220 -0
  499. data/lib/factpulse/models/e_reporting_flow_type.rb +42 -0
  500. data/lib/factpulse/models/e_reporting_validation_error.rb +203 -0
  501. data/lib/factpulse/models/electronic_address.rb +198 -0
  502. data/lib/factpulse/models/encaisseamount.rb +104 -0
  503. data/lib/factpulse/models/encaisseamount1.rb +103 -0
  504. data/lib/factpulse/models/encaissee_request.rb +347 -0
  505. data/lib/factpulse/models/enriched_invoice_info.rb +354 -0
  506. data/lib/factpulse/models/error_level.rb +40 -0
  507. data/lib/factpulse/models/error_source.rb +47 -0
  508. data/lib/factpulse/models/extraction_info.rb +217 -0
  509. data/lib/factpulse/models/factur_x_invoice.rb +580 -0
  510. data/lib/factpulse/models/factur_xpdf_info.rb +205 -0
  511. data/lib/factpulse/models/facture_electronique_rest_api_schemas_ereporting_invoice_type_code.rb +43 -0
  512. data/lib/factpulse/models/facture_electronique_rest_api_schemas_processing_chorus_pro_credentials.rb +191 -0
  513. data/lib/factpulse/models/facture_electronique_rest_api_schemas_validation_validation_error_response.rb +168 -0
  514. data/lib/factpulse/models/field_status.rb +43 -0
  515. data/lib/factpulse/models/file_info.rb +161 -0
  516. data/lib/factpulse/models/files_info.rb +159 -0
  517. data/lib/factpulse/models/flow_direction.rb +40 -0
  518. data/lib/factpulse/models/flow_profile.rb +41 -0
  519. data/lib/factpulse/models/flow_summary.rb +253 -0
  520. data/lib/factpulse/models/flow_syntax.rb +43 -0
  521. data/lib/factpulse/models/flow_type.rb +51 -0
  522. data/lib/factpulse/models/generate_aggregated_report_response.rb +330 -0
  523. data/lib/factpulse/models/generate_cdar_response.rb +273 -0
  524. data/lib/factpulse/models/generate_certificate_request.rb +323 -0
  525. data/lib/factpulse/models/generate_certificate_response.rb +254 -0
  526. data/lib/factpulse/models/generate_e_reporting_response.rb +274 -0
  527. data/lib/factpulse/models/get_chorus_pro_id_request.rb +188 -0
  528. data/lib/factpulse/models/get_chorus_pro_id_response.rb +230 -0
  529. data/lib/factpulse/models/get_invoice_request.rb +176 -0
  530. data/lib/factpulse/models/get_invoice_response.rb +263 -0
  531. data/lib/factpulse/models/get_structure_request.rb +188 -0
  532. data/lib/factpulse/models/get_structure_response.rb +263 -0
  533. data/lib/factpulse/models/global_allowance_amount.rb +104 -0
  534. data/lib/factpulse/models/gross_unit_price.rb +104 -0
  535. data/lib/factpulse/models/http_validation_error.rb +149 -0
  536. data/lib/factpulse/models/incoming_invoice.rb +489 -0
  537. data/lib/factpulse/models/incoming_supplier.rb +236 -0
  538. data/lib/factpulse/models/invoice_format.rb +41 -0
  539. data/lib/factpulse/models/invoice_input.rb +439 -0
  540. data/lib/factpulse/models/invoice_line.rb +593 -0
  541. data/lib/factpulse/models/invoice_line_allowance_amount.rb +104 -0
  542. data/lib/factpulse/models/invoice_note.rb +176 -0
  543. data/lib/factpulse/models/invoice_payment_input.rb +267 -0
  544. data/lib/factpulse/models/invoice_references.rb +393 -0
  545. data/lib/factpulse/models/invoice_status.rb +203 -0
  546. data/lib/factpulse/models/invoice_totals.rb +312 -0
  547. data/lib/factpulse/models/invoice_totals_prepayment.rb +104 -0
  548. data/lib/factpulse/models/invoice_type_code.rb +54 -0
  549. data/lib/factpulse/models/invoice_type_code_output.rb +54 -0
  550. data/lib/factpulse/models/invoicing_framework.rb +218 -0
  551. data/lib/factpulse/models/invoicing_framework_code.rb +42 -0
  552. data/lib/factpulse/models/issuer_role_code.rb +40 -0
  553. data/lib/factpulse/models/key_rotation_request.rb +211 -0
  554. data/lib/factpulse/models/key_rotation_response.rb +232 -0
  555. data/lib/factpulse/models/line_net_amount.rb +104 -0
  556. data/lib/factpulse/models/line_sub_type.rb +41 -0
  557. data/lib/factpulse/models/line_total_amount.rb +104 -0
  558. data/lib/factpulse/models/location_inner.rb +103 -0
  559. data/lib/factpulse/models/mandatory_note_schema.rb +265 -0
  560. data/lib/factpulse/models/manual_rate.rb +104 -0
  561. data/lib/factpulse/models/manual_vat_rate.rb +104 -0
  562. data/lib/factpulse/models/missing_field.rb +269 -0
  563. data/lib/factpulse/models/operation_nature.rb +52 -0
  564. data/lib/factpulse/models/output_format.rb +40 -0
  565. data/lib/factpulse/models/page_dimensions_schema.rb +193 -0
  566. data/lib/factpulse/models/payee.rb +281 -0
  567. data/lib/factpulse/models/payment_amount_by_rate.rb +191 -0
  568. data/lib/factpulse/models/payment_card.rb +159 -0
  569. data/lib/factpulse/models/payment_means.rb +44 -0
  570. data/lib/factpulse/models/pdf_validation_result_api.rb +523 -0
  571. data/lib/factpulse/models/pdp_config_response.rb +306 -0
  572. data/lib/factpulse/models/pdp_config_update_request.rb +315 -0
  573. data/lib/factpulse/models/pdp_credentials.rb +257 -0
  574. data/lib/factpulse/models/percentage.rb +104 -0
  575. data/lib/factpulse/models/postal_address.rb +209 -0
  576. data/lib/factpulse/models/price_allowance_amount.rb +104 -0
  577. data/lib/factpulse/models/price_basis_quantity.rb +104 -0
  578. data/lib/factpulse/models/processing_options.rb +207 -0
  579. data/lib/factpulse/models/processing_rule.rb +44 -0
  580. data/lib/factpulse/models/product_characteristic.rb +193 -0
  581. data/lib/factpulse/models/product_classification.rb +186 -0
  582. data/lib/factpulse/models/quantity.rb +104 -0
  583. data/lib/factpulse/models/rate.rb +104 -0
  584. data/lib/factpulse/models/rate1.rb +104 -0
  585. data/lib/factpulse/models/reason_code_info.rb +220 -0
  586. data/lib/factpulse/models/reason_codes_response.rb +207 -0
  587. data/lib/factpulse/models/recipient.rb +231 -0
  588. data/lib/factpulse/models/recipient_input.rb +191 -0
  589. data/lib/factpulse/models/refusee_request.rb +346 -0
  590. data/lib/factpulse/models/report_issuer.rb +236 -0
  591. data/lib/factpulse/models/report_period.rb +193 -0
  592. data/lib/factpulse/models/report_sender.rb +221 -0
  593. data/lib/factpulse/models/rounding_amount.rb +104 -0
  594. data/lib/factpulse/models/schematron_validation_error.rb +294 -0
  595. data/lib/factpulse/models/scheme_id.rb +56 -0
  596. data/lib/factpulse/models/search_flow_request.rb +306 -0
  597. data/lib/factpulse/models/search_flow_response.rb +249 -0
  598. data/lib/factpulse/models/search_services_response.rb +217 -0
  599. data/lib/factpulse/models/search_structure_request.rb +191 -0
  600. data/lib/factpulse/models/search_structure_response.rb +216 -0
  601. data/lib/factpulse/models/secret_status.rb +213 -0
  602. data/lib/factpulse/models/sellercountry.rb +104 -0
  603. data/lib/factpulse/models/signature_info.rb +186 -0
  604. data/lib/factpulse/models/signature_info_api.rb +216 -0
  605. data/lib/factpulse/models/signature_parameters.rb +235 -0
  606. data/lib/factpulse/models/simplified_cdar_response.rb +274 -0
  607. data/lib/factpulse/models/simplified_invoice_data.rb +404 -0
  608. data/lib/factpulse/models/status_code_info.rb +220 -0
  609. data/lib/factpulse/models/status_codes_response.rb +207 -0
  610. data/lib/factpulse/models/structure_info.rb +274 -0
  611. data/lib/factpulse/models/structure_parameters.rb +175 -0
  612. data/lib/factpulse/models/structure_service.rb +247 -0
  613. data/lib/factpulse/models/submission_mode.rb +41 -0
  614. data/lib/factpulse/models/submit_aggregated_report_request.rb +216 -0
  615. data/lib/factpulse/models/submit_cdar_request.rb +466 -0
  616. data/lib/factpulse/models/submit_cdar_response.rb +213 -0
  617. data/lib/factpulse/models/submit_cdarxml_request.rb +228 -0
  618. data/lib/factpulse/models/submit_complete_invoice_request.rb +239 -0
  619. data/lib/factpulse/models/submit_complete_invoice_response.rb +355 -0
  620. data/lib/factpulse/models/submit_e_reporting_request.rb +216 -0
  621. data/lib/factpulse/models/submit_e_reporting_response.rb +306 -0
  622. data/lib/factpulse/models/submit_flow_request.rb +238 -0
  623. data/lib/factpulse/models/submit_flow_response.rb +294 -0
  624. data/lib/factpulse/models/submit_gross_amount.rb +104 -0
  625. data/lib/factpulse/models/submit_invoice_request.rb +388 -0
  626. data/lib/factpulse/models/submit_invoice_response.rb +213 -0
  627. data/lib/factpulse/models/submit_net_amount.rb +104 -0
  628. data/lib/factpulse/models/submit_vat_amount.rb +104 -0
  629. data/lib/factpulse/models/supplementary_attachment.rb +274 -0
  630. data/lib/factpulse/models/supplier.rb +337 -0
  631. data/lib/factpulse/models/task_response.rb +166 -0
  632. data/lib/factpulse/models/tax_breakdown_input.rb +217 -0
  633. data/lib/factpulse/models/tax_due_date_type.rb +44 -0
  634. data/lib/factpulse/models/tax_representative.rb +220 -0
  635. data/lib/factpulse/models/taxable_amount.rb +104 -0
  636. data/lib/factpulse/models/taxableamount.rb +104 -0
  637. data/lib/factpulse/models/taxamount.rb +104 -0
  638. data/lib/factpulse/models/taxamount1.rb +104 -0
  639. data/lib/factpulse/models/taxamount2.rb +104 -0
  640. data/lib/factpulse/models/taxexclusiveamount.rb +104 -0
  641. data/lib/factpulse/models/taxexclusiveamount1.rb +104 -0
  642. data/lib/factpulse/models/total_gross_amount.rb +104 -0
  643. data/lib/factpulse/models/total_net_amount.rb +104 -0
  644. data/lib/factpulse/models/total_vat_amount.rb +104 -0
  645. data/lib/factpulse/models/transaction_category.rb +42 -0
  646. data/lib/factpulse/models/transmission_type_code.rb +40 -0
  647. data/lib/factpulse/models/unit_net_price.rb +104 -0
  648. data/lib/factpulse/models/unit_of_measure.rb +44 -0
  649. data/lib/factpulse/models/validate_cdar_request.rb +219 -0
  650. data/lib/factpulse/models/validate_cdar_response.rb +190 -0
  651. data/lib/factpulse/models/validate_e_reporting_request.rb +166 -0
  652. data/lib/factpulse/models/validate_e_reporting_response.rb +271 -0
  653. data/lib/factpulse/models/validation_error.rb +218 -0
  654. data/lib/factpulse/models/validation_error_detail.rb +245 -0
  655. data/lib/factpulse/models/validation_error_response.rb +215 -0
  656. data/lib/factpulse/models/validation_info.rb +255 -0
  657. data/lib/factpulse/models/validation_success_response.rb +166 -0
  658. data/lib/factpulse/models/vat_accounting_code.rb +42 -0
  659. data/lib/factpulse/models/vat_amount.rb +104 -0
  660. data/lib/factpulse/models/vat_category.rb +47 -0
  661. data/lib/factpulse/models/vat_line.rb +272 -0
  662. data/lib/factpulse/models/vat_point_date_code.rb +41 -0
  663. data/lib/factpulse/models/vat_rate.rb +104 -0
  664. data/lib/factpulse/models/verification_success_response.rb +343 -0
  665. data/lib/factpulse/models/verified_field_schema.rb +334 -0
  666. data/lib/factpulse/models/webhook_secret_delete_response.rb +193 -0
  667. data/lib/factpulse/models/webhook_secret_generate_response.rb +247 -0
  668. data/lib/factpulse/models/webhook_secret_status_response.rb +176 -0
  669. data/lib/factpulse/version.rb +15 -0
  670. data/lib/factpulse.rb +369 -0
  671. metadata +806 -0
@@ -0,0 +1,1105 @@
1
+ =begin
2
+ #FactPulse REST API
3
+
4
+ # REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures. ## 🎯 Main Features ### 📄 Factur-X - Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search) ### ✅ Factur-X - Validation - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) ### ✍️ Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification ### 📋 Flux 6 - Invoice Lifecycle (CDAR) - **CDAR Messages**: Acknowledgements, invoice statuses - **PPF Statuses**: REFUSED (210), PAID (212) ### 📊 Flux 10 - E-Reporting - **Tax Declarations**: International B2B, B2C - **Flow Types**: 10.1 (B2B transactions), 10.2 (B2B payments), 10.3 (B2C transactions), 10.4 (B2C payments) ### 📡 AFNOR PDP/PA (XP Z12-013) - **Flow Service**: Submit and search flows to PDPs - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user ### 🏛️ Chorus Pro - **Public Sector Invoicing**: Complete API for Chorus Pro ### ⏳ Async Tasks - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **Webhooks**: Automatic notifications when tasks complete ## 🔒 Authentication All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ``` ### How to obtain a JWT token? #### 🔑 Method 1: `/api/token/` API (Recommended) **URL:** `https://factpulse.fr/api/token/` This method is **recommended** for integration in your applications and CI/CD workflows. **Prerequisites:** Having set a password on your account **For users registered via email/password:** - You already have a password, use it directly **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API **Request example:** ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\" }' ``` **Optional `client_uid` parameter:** To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`: ```bash curl -X POST https://factpulse.fr/api/token/ \\ -H \"Content-Type: application/json\" \\ -d '{ \"username\": \"your_email@example.com\", \"password\": \"your_password\", \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\" }' ``` The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client **Response:** ```json { \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\", // Access token (validity: 30 min) \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\" // Refresh token (validity: 7 days) } ``` **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool #### 🖥️ Method 2: Dashboard Generation (Alternative) **URL:** https://factpulse.fr/api/dashboard/ This method is suitable for quick tests or occasional use via the graphical interface. **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation ### 📚 Full Documentation For more information on authentication and API usage: https://factpulse.fr/documentation-api/
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: contact@factpulse.fr
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.20.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module FactPulse
16
+ class ChorusProApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Add an attachment
23
+ # Add an attachment to the current user account. **Max size**: 10 MB per file **Example payload**: ```json { \"pieceJointeFichier\": \"JVBERi0xLjQKJeLjz9MKNSAwIG9iago8P...\", \"pieceJointeNom\": \"purchase_order.pdf\", \"pieceJointeTypeMime\": \"application/pdf\", \"pieceJointeExtension\": \"PDF\" } ``` **Returns**: The attachment ID (`pieceJointeIdFichier`) to use in `/factures/completer`. **Accepted extensions**: PDF, JPG, PNG, ZIP, XML, etc.
24
+ # @param request_body [Hash<String, Object>]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [Object]
27
+ def ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post(request_body, opts = {})
28
+ data, _status_code, _headers = ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post_with_http_info(request_body, opts)
29
+ data
30
+ end
31
+
32
+ # Add an attachment
33
+ # Add an attachment to the current user account. **Max size**: 10 MB per file **Example payload**: &#x60;&#x60;&#x60;json { \&quot;pieceJointeFichier\&quot;: \&quot;JVBERi0xLjQKJeLjz9MKNSAwIG9iago8P...\&quot;, \&quot;pieceJointeNom\&quot;: \&quot;purchase_order.pdf\&quot;, \&quot;pieceJointeTypeMime\&quot;: \&quot;application/pdf\&quot;, \&quot;pieceJointeExtension\&quot;: \&quot;PDF\&quot; } &#x60;&#x60;&#x60; **Returns**: The attachment ID (&#x60;pieceJointeIdFichier&#x60;) to use in &#x60;/factures/completer&#x60;. **Accepted extensions**: PDF, JPG, PNG, ZIP, XML, etc.
34
+ # @param request_body [Hash<String, Object>]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
37
+ def ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post_with_http_info(request_body, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post ...'
40
+ end
41
+ # verify the required parameter 'request_body' is set
42
+ if @api_client.config.client_side_validation && request_body.nil?
43
+ fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post"
44
+ end
45
+ # resource path
46
+ local_var_path = '/api/v1/chorus-pro/transverses/ajouter-fichier'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
55
+ # HTTP header 'Content-Type'
56
+ content_type = @api_client.select_header_content_type(['application/json'])
57
+ if !content_type.nil?
58
+ header_params['Content-Type'] = content_type
59
+ end
60
+
61
+ # form parameters
62
+ form_params = opts[:form_params] || {}
63
+
64
+ # http body (model)
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
66
+
67
+ # return_type
68
+ return_type = opts[:debug_return_type] || 'Object'
69
+
70
+ # auth_names
71
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
72
+
73
+ new_options = opts.merge(
74
+ :operation => :"ChorusProApi.ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post",
75
+ :header_params => header_params,
76
+ :query_params => query_params,
77
+ :form_params => form_params,
78
+ :body => post_body,
79
+ :auth_names => auth_names,
80
+ :return_type => return_type
81
+ )
82
+
83
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug "API called: ChorusProApi#ajouter_fichier_api_v1_chorus_pro_transverses_ajouter_fichier_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+
90
+ # Complete a suspended invoice (Supplier)
91
+ # Complete a SUSPENDUE status invoice by adding attachments or a comment. **Required status**: SUSPENDUE **Possible actions**: - Add attachments (supporting documents, purchase orders, etc.) - Modify comment **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"commentaire\": \"Here are the requested documents\", \"listePiecesJointes\": [ { \"pieceJointeIdFichier\": 98765, \"pieceJointeNom\": \"purchase_order.pdf\" } ] } ``` **Note**: Attachments must first be uploaded via `/transverses/ajouter-fichier`. **After completion**: The invoice returns to MISE_A_DISPOSITION status.
92
+ # @param request_body [Hash<String, Object>]
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [Object]
95
+ def completer_facture_api_v1_chorus_pro_factures_completer_post(request_body, opts = {})
96
+ data, _status_code, _headers = completer_facture_api_v1_chorus_pro_factures_completer_post_with_http_info(request_body, opts)
97
+ data
98
+ end
99
+
100
+ # Complete a suspended invoice (Supplier)
101
+ # Complete a SUSPENDUE status invoice by adding attachments or a comment. **Required status**: SUSPENDUE **Possible actions**: - Add attachments (supporting documents, purchase orders, etc.) - Modify comment **Example payload**: &#x60;&#x60;&#x60;json { \&quot;identifiantFactureCPP\&quot;: 12345, \&quot;commentaire\&quot;: \&quot;Here are the requested documents\&quot;, \&quot;listePiecesJointes\&quot;: [ { \&quot;pieceJointeIdFichier\&quot;: 98765, \&quot;pieceJointeNom\&quot;: \&quot;purchase_order.pdf\&quot; } ] } &#x60;&#x60;&#x60; **Note**: Attachments must first be uploaded via &#x60;/transverses/ajouter-fichier&#x60;. **After completion**: The invoice returns to MISE_A_DISPOSITION status.
102
+ # @param request_body [Hash<String, Object>]
103
+ # @param [Hash] opts the optional parameters
104
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
105
+ def completer_facture_api_v1_chorus_pro_factures_completer_post_with_http_info(request_body, opts = {})
106
+ if @api_client.config.debugging
107
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.completer_facture_api_v1_chorus_pro_factures_completer_post ...'
108
+ end
109
+ # verify the required parameter 'request_body' is set
110
+ if @api_client.config.client_side_validation && request_body.nil?
111
+ fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.completer_facture_api_v1_chorus_pro_factures_completer_post"
112
+ end
113
+ # resource path
114
+ local_var_path = '/api/v1/chorus-pro/factures/completer'
115
+
116
+ # query parameters
117
+ query_params = opts[:query_params] || {}
118
+
119
+ # header parameters
120
+ header_params = opts[:header_params] || {}
121
+ # HTTP header 'Accept' (if needed)
122
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
123
+ # HTTP header 'Content-Type'
124
+ content_type = @api_client.select_header_content_type(['application/json'])
125
+ if !content_type.nil?
126
+ header_params['Content-Type'] = content_type
127
+ end
128
+
129
+ # form parameters
130
+ form_params = opts[:form_params] || {}
131
+
132
+ # http body (model)
133
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
134
+
135
+ # return_type
136
+ return_type = opts[:debug_return_type] || 'Object'
137
+
138
+ # auth_names
139
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
140
+
141
+ new_options = opts.merge(
142
+ :operation => :"ChorusProApi.completer_facture_api_v1_chorus_pro_factures_completer_post",
143
+ :header_params => header_params,
144
+ :query_params => query_params,
145
+ :form_params => form_params,
146
+ :body => post_body,
147
+ :auth_names => auth_names,
148
+ :return_type => return_type
149
+ )
150
+
151
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
152
+ if @api_client.config.debugging
153
+ @api_client.config.logger.debug "API called: ChorusProApi#completer_facture_api_v1_chorus_pro_factures_completer_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
154
+ end
155
+ return data, status_code, headers
156
+ end
157
+
158
+ # Consult invoice status
159
+ # Retrieves the information and current status of an invoice submitted to Chorus Pro. **Returns**: - Invoice number and date - Total gross amount - **Current status**: SOUMISE, VALIDEE, REJETEE, SUSPENDUE, MANDATEE, MISE_EN_PAIEMENT, etc. - Recipient structure **Use cases**: - Track the processing progress of an invoice - Check if an invoice has been validated or rejected - Get the payment date **Polling**: Call this endpoint regularly to track status changes.
160
+ # @param get_invoice_request [GetInvoiceRequest]
161
+ # @param [Hash] opts the optional parameters
162
+ # @return [GetInvoiceResponse]
163
+ def consulter_facture_api_v1_chorus_pro_factures_consulter_post(get_invoice_request, opts = {})
164
+ data, _status_code, _headers = consulter_facture_api_v1_chorus_pro_factures_consulter_post_with_http_info(get_invoice_request, opts)
165
+ data
166
+ end
167
+
168
+ # Consult invoice status
169
+ # Retrieves the information and current status of an invoice submitted to Chorus Pro. **Returns**: - Invoice number and date - Total gross amount - **Current status**: SOUMISE, VALIDEE, REJETEE, SUSPENDUE, MANDATEE, MISE_EN_PAIEMENT, etc. - Recipient structure **Use cases**: - Track the processing progress of an invoice - Check if an invoice has been validated or rejected - Get the payment date **Polling**: Call this endpoint regularly to track status changes.
170
+ # @param get_invoice_request [GetInvoiceRequest]
171
+ # @param [Hash] opts the optional parameters
172
+ # @return [Array<(GetInvoiceResponse, Integer, Hash)>] GetInvoiceResponse data, response status code and response headers
173
+ def consulter_facture_api_v1_chorus_pro_factures_consulter_post_with_http_info(get_invoice_request, opts = {})
174
+ if @api_client.config.debugging
175
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.consulter_facture_api_v1_chorus_pro_factures_consulter_post ...'
176
+ end
177
+ # verify the required parameter 'get_invoice_request' is set
178
+ if @api_client.config.client_side_validation && get_invoice_request.nil?
179
+ fail ArgumentError, "Missing the required parameter 'get_invoice_request' when calling ChorusProApi.consulter_facture_api_v1_chorus_pro_factures_consulter_post"
180
+ end
181
+ # resource path
182
+ local_var_path = '/api/v1/chorus-pro/factures/consulter'
183
+
184
+ # query parameters
185
+ query_params = opts[:query_params] || {}
186
+
187
+ # header parameters
188
+ header_params = opts[:header_params] || {}
189
+ # HTTP header 'Accept' (if needed)
190
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
191
+ # HTTP header 'Content-Type'
192
+ content_type = @api_client.select_header_content_type(['application/json'])
193
+ if !content_type.nil?
194
+ header_params['Content-Type'] = content_type
195
+ end
196
+
197
+ # form parameters
198
+ form_params = opts[:form_params] || {}
199
+
200
+ # http body (model)
201
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(get_invoice_request)
202
+
203
+ # return_type
204
+ return_type = opts[:debug_return_type] || 'GetInvoiceResponse'
205
+
206
+ # auth_names
207
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
208
+
209
+ new_options = opts.merge(
210
+ :operation => :"ChorusProApi.consulter_facture_api_v1_chorus_pro_factures_consulter_post",
211
+ :header_params => header_params,
212
+ :query_params => query_params,
213
+ :form_params => form_params,
214
+ :body => post_body,
215
+ :auth_names => auth_names,
216
+ :return_type => return_type
217
+ )
218
+
219
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
220
+ if @api_client.config.debugging
221
+ @api_client.config.logger.debug "API called: ChorusProApi#consulter_facture_api_v1_chorus_pro_factures_consulter_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
222
+ end
223
+ return data, status_code, headers
224
+ end
225
+
226
+ # Consult structure details
227
+ # Retrieves detailed information about a Chorus Pro structure. **Returns**: - Company name - Intra-EU VAT number - Contact email - **Required parameters**: Indicates if service code and/or engagement number are required to submit an invoice **Typical step**: Called after `search-structures` to know which fields are mandatory before submitting an invoice.
228
+ # @param get_structure_request [GetStructureRequest]
229
+ # @param [Hash] opts the optional parameters
230
+ # @return [GetStructureResponse]
231
+ def consulter_structure_api_v1_chorus_pro_structures_consulter_post(get_structure_request, opts = {})
232
+ data, _status_code, _headers = consulter_structure_api_v1_chorus_pro_structures_consulter_post_with_http_info(get_structure_request, opts)
233
+ data
234
+ end
235
+
236
+ # Consult structure details
237
+ # Retrieves detailed information about a Chorus Pro structure. **Returns**: - Company name - Intra-EU VAT number - Contact email - **Required parameters**: Indicates if service code and/or engagement number are required to submit an invoice **Typical step**: Called after &#x60;search-structures&#x60; to know which fields are mandatory before submitting an invoice.
238
+ # @param get_structure_request [GetStructureRequest]
239
+ # @param [Hash] opts the optional parameters
240
+ # @return [Array<(GetStructureResponse, Integer, Hash)>] GetStructureResponse data, response status code and response headers
241
+ def consulter_structure_api_v1_chorus_pro_structures_consulter_post_with_http_info(get_structure_request, opts = {})
242
+ if @api_client.config.debugging
243
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.consulter_structure_api_v1_chorus_pro_structures_consulter_post ...'
244
+ end
245
+ # verify the required parameter 'get_structure_request' is set
246
+ if @api_client.config.client_side_validation && get_structure_request.nil?
247
+ fail ArgumentError, "Missing the required parameter 'get_structure_request' when calling ChorusProApi.consulter_structure_api_v1_chorus_pro_structures_consulter_post"
248
+ end
249
+ # resource path
250
+ local_var_path = '/api/v1/chorus-pro/structures/consulter'
251
+
252
+ # query parameters
253
+ query_params = opts[:query_params] || {}
254
+
255
+ # header parameters
256
+ header_params = opts[:header_params] || {}
257
+ # HTTP header 'Accept' (if needed)
258
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
259
+ # HTTP header 'Content-Type'
260
+ content_type = @api_client.select_header_content_type(['application/json'])
261
+ if !content_type.nil?
262
+ header_params['Content-Type'] = content_type
263
+ end
264
+
265
+ # form parameters
266
+ form_params = opts[:form_params] || {}
267
+
268
+ # http body (model)
269
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(get_structure_request)
270
+
271
+ # return_type
272
+ return_type = opts[:debug_return_type] || 'GetStructureResponse'
273
+
274
+ # auth_names
275
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
276
+
277
+ new_options = opts.merge(
278
+ :operation => :"ChorusProApi.consulter_structure_api_v1_chorus_pro_structures_consulter_post",
279
+ :header_params => header_params,
280
+ :query_params => query_params,
281
+ :form_params => form_params,
282
+ :body => post_body,
283
+ :auth_names => auth_names,
284
+ :return_type => return_type
285
+ )
286
+
287
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
288
+ if @api_client.config.debugging
289
+ @api_client.config.logger.debug "API called: ChorusProApi#consulter_structure_api_v1_chorus_pro_structures_consulter_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
290
+ end
291
+ return data, status_code, headers
292
+ end
293
+
294
+ # List structure services
295
+ # Retrieves the list of active services for a public structure. **Use cases**: - List available services for an administration - Verify that a service code exists before submitting an invoice **Returns**: - List of services with their code, label, and status (active/inactive)
296
+ # @param id_structure_cpp [Integer] Chorus Pro structure ID (idStructureCPP)
297
+ # @param [Hash] opts the optional parameters
298
+ # @return [SearchServicesResponse]
299
+ def lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get(id_structure_cpp, opts = {})
300
+ data, _status_code, _headers = lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get_with_http_info(id_structure_cpp, opts)
301
+ data
302
+ end
303
+
304
+ # List structure services
305
+ # Retrieves the list of active services for a public structure. **Use cases**: - List available services for an administration - Verify that a service code exists before submitting an invoice **Returns**: - List of services with their code, label, and status (active/inactive)
306
+ # @param id_structure_cpp [Integer] Chorus Pro structure ID (idStructureCPP)
307
+ # @param [Hash] opts the optional parameters
308
+ # @return [Array<(SearchServicesResponse, Integer, Hash)>] SearchServicesResponse data, response status code and response headers
309
+ def lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get_with_http_info(id_structure_cpp, opts = {})
310
+ if @api_client.config.debugging
311
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get ...'
312
+ end
313
+ # verify the required parameter 'id_structure_cpp' is set
314
+ if @api_client.config.client_side_validation && id_structure_cpp.nil?
315
+ fail ArgumentError, "Missing the required parameter 'id_structure_cpp' when calling ChorusProApi.lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get"
316
+ end
317
+ # resource path
318
+ local_var_path = '/api/v1/chorus-pro/structures/{id_structure_cpp}/services'.sub('{' + 'id_structure_cpp' + '}', CGI.escape(id_structure_cpp.to_s))
319
+
320
+ # query parameters
321
+ query_params = opts[:query_params] || {}
322
+
323
+ # header parameters
324
+ header_params = opts[:header_params] || {}
325
+ # HTTP header 'Accept' (if needed)
326
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
327
+
328
+ # form parameters
329
+ form_params = opts[:form_params] || {}
330
+
331
+ # http body (model)
332
+ post_body = opts[:debug_body]
333
+
334
+ # return_type
335
+ return_type = opts[:debug_return_type] || 'SearchServicesResponse'
336
+
337
+ # auth_names
338
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
339
+
340
+ new_options = opts.merge(
341
+ :operation => :"ChorusProApi.lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get",
342
+ :header_params => header_params,
343
+ :query_params => query_params,
344
+ :form_params => form_params,
345
+ :body => post_body,
346
+ :auth_names => auth_names,
347
+ :return_type => return_type
348
+ )
349
+
350
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
351
+ if @api_client.config.debugging
352
+ @api_client.config.logger.debug "API called: ChorusProApi#lister_services_structure_api_v1_chorus_pro_structures_id_structure_cpp_services_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
353
+ end
354
+ return data, status_code, headers
355
+ end
356
+
357
+ # Utility: Get Chorus Pro ID from SIRET
358
+ # **Convenient utility** to get a structure's Chorus Pro ID from its SIRET. This wrapper function combines: 1. Searching for the structure by SIRET 2. Extracting the `id_structure_cpp` if a single structure is found **Returns**: - `id_structure_cpp`: Chorus Pro ID (0 if not found or multiple results) - `designation_structure`: Structure name (if found) - `message`: Explanatory message **Use cases**: - Shortcut to directly get the Chorus Pro ID before submitting an invoice - Simplified alternative to `search-structures` + manual ID extraction **Note**: If multiple structures match the SIRET (rare), returns 0 and an error message.
359
+ # @param get_chorus_pro_id_request [GetChorusProIdRequest]
360
+ # @param [Hash] opts the optional parameters
361
+ # @return [GetChorusProIdResponse]
362
+ def obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post(get_chorus_pro_id_request, opts = {})
363
+ data, _status_code, _headers = obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_with_http_info(get_chorus_pro_id_request, opts)
364
+ data
365
+ end
366
+
367
+ # Utility: Get Chorus Pro ID from SIRET
368
+ # **Convenient utility** to get a structure&#39;s Chorus Pro ID from its SIRET. This wrapper function combines: 1. Searching for the structure by SIRET 2. Extracting the &#x60;id_structure_cpp&#x60; if a single structure is found **Returns**: - &#x60;id_structure_cpp&#x60;: Chorus Pro ID (0 if not found or multiple results) - &#x60;designation_structure&#x60;: Structure name (if found) - &#x60;message&#x60;: Explanatory message **Use cases**: - Shortcut to directly get the Chorus Pro ID before submitting an invoice - Simplified alternative to &#x60;search-structures&#x60; + manual ID extraction **Note**: If multiple structures match the SIRET (rare), returns 0 and an error message.
369
+ # @param get_chorus_pro_id_request [GetChorusProIdRequest]
370
+ # @param [Hash] opts the optional parameters
371
+ # @return [Array<(GetChorusProIdResponse, Integer, Hash)>] GetChorusProIdResponse data, response status code and response headers
372
+ def obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post_with_http_info(get_chorus_pro_id_request, opts = {})
373
+ if @api_client.config.debugging
374
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post ...'
375
+ end
376
+ # verify the required parameter 'get_chorus_pro_id_request' is set
377
+ if @api_client.config.client_side_validation && get_chorus_pro_id_request.nil?
378
+ fail ArgumentError, "Missing the required parameter 'get_chorus_pro_id_request' when calling ChorusProApi.obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post"
379
+ end
380
+ # resource path
381
+ local_var_path = '/api/v1/chorus-pro/structures/obtenir-id-depuis-siret'
382
+
383
+ # query parameters
384
+ query_params = opts[:query_params] || {}
385
+
386
+ # header parameters
387
+ header_params = opts[:header_params] || {}
388
+ # HTTP header 'Accept' (if needed)
389
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
390
+ # HTTP header 'Content-Type'
391
+ content_type = @api_client.select_header_content_type(['application/json'])
392
+ if !content_type.nil?
393
+ header_params['Content-Type'] = content_type
394
+ end
395
+
396
+ # form parameters
397
+ form_params = opts[:form_params] || {}
398
+
399
+ # http body (model)
400
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(get_chorus_pro_id_request)
401
+
402
+ # return_type
403
+ return_type = opts[:debug_return_type] || 'GetChorusProIdResponse'
404
+
405
+ # auth_names
406
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
407
+
408
+ new_options = opts.merge(
409
+ :operation => :"ChorusProApi.obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post",
410
+ :header_params => header_params,
411
+ :query_params => query_params,
412
+ :form_params => form_params,
413
+ :body => post_body,
414
+ :auth_names => auth_names,
415
+ :return_type => return_type
416
+ )
417
+
418
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
419
+ if @api_client.config.debugging
420
+ @api_client.config.logger.debug "API called: ChorusProApi#obtenir_id_chorus_pro_depuis_siret_api_v1_chorus_pro_structures_obtenir_id_depuis_siret_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
421
+ end
422
+ return data, status_code, headers
423
+ end
424
+
425
+ # Search received invoices (Recipient)
426
+ # Search invoices received by the connected recipient. **Filters**: - Downloaded / not downloaded - Reception dates - Status (MISE_A_DISPOSITION, SUSPENDUE, etc.) - Supplier **Useful indicator**: `factureTelechargeeParDestinataire` indicates whether the invoice has already been downloaded.
427
+ # @param request_body [Hash<String, Object>]
428
+ # @param [Hash] opts the optional parameters
429
+ # @return [Object]
430
+ def rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post(request_body, opts = {})
431
+ data, _status_code, _headers = rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post_with_http_info(request_body, opts)
432
+ data
433
+ end
434
+
435
+ # Search received invoices (Recipient)
436
+ # Search invoices received by the connected recipient. **Filters**: - Downloaded / not downloaded - Reception dates - Status (MISE_A_DISPOSITION, SUSPENDUE, etc.) - Supplier **Useful indicator**: &#x60;factureTelechargeeParDestinataire&#x60; indicates whether the invoice has already been downloaded.
437
+ # @param request_body [Hash<String, Object>]
438
+ # @param [Hash] opts the optional parameters
439
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
440
+ def rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post_with_http_info(request_body, opts = {})
441
+ if @api_client.config.debugging
442
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post ...'
443
+ end
444
+ # verify the required parameter 'request_body' is set
445
+ if @api_client.config.client_side_validation && request_body.nil?
446
+ fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post"
447
+ end
448
+ # resource path
449
+ local_var_path = '/api/v1/chorus-pro/factures/rechercher-destinataire'
450
+
451
+ # query parameters
452
+ query_params = opts[:query_params] || {}
453
+
454
+ # header parameters
455
+ header_params = opts[:header_params] || {}
456
+ # HTTP header 'Accept' (if needed)
457
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
458
+ # HTTP header 'Content-Type'
459
+ content_type = @api_client.select_header_content_type(['application/json'])
460
+ if !content_type.nil?
461
+ header_params['Content-Type'] = content_type
462
+ end
463
+
464
+ # form parameters
465
+ form_params = opts[:form_params] || {}
466
+
467
+ # http body (model)
468
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
469
+
470
+ # return_type
471
+ return_type = opts[:debug_return_type] || 'Object'
472
+
473
+ # auth_names
474
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
475
+
476
+ new_options = opts.merge(
477
+ :operation => :"ChorusProApi.rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post",
478
+ :header_params => header_params,
479
+ :query_params => query_params,
480
+ :form_params => form_params,
481
+ :body => post_body,
482
+ :auth_names => auth_names,
483
+ :return_type => return_type
484
+ )
485
+
486
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
487
+ if @api_client.config.debugging
488
+ @api_client.config.logger.debug "API called: ChorusProApi#rechercher_factures_destinataire_api_v1_chorus_pro_factures_rechercher_destinataire_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
489
+ end
490
+ return data, status_code, headers
491
+ end
492
+
493
+ # Search issued invoices (Supplier)
494
+ # Search invoices issued by the connected supplier. **Available filters**: - Invoice number - Dates (start/end) - Status - Recipient structure - Amount **Use cases**: - Track issued invoices - Verify statuses - Export for accounting
495
+ # @param request_body [Hash<String, Object>]
496
+ # @param [Hash] opts the optional parameters
497
+ # @return [Object]
498
+ def rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post(request_body, opts = {})
499
+ data, _status_code, _headers = rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post_with_http_info(request_body, opts)
500
+ data
501
+ end
502
+
503
+ # Search issued invoices (Supplier)
504
+ # Search invoices issued by the connected supplier. **Available filters**: - Invoice number - Dates (start/end) - Status - Recipient structure - Amount **Use cases**: - Track issued invoices - Verify statuses - Export for accounting
505
+ # @param request_body [Hash<String, Object>]
506
+ # @param [Hash] opts the optional parameters
507
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
508
+ def rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post_with_http_info(request_body, opts = {})
509
+ if @api_client.config.debugging
510
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post ...'
511
+ end
512
+ # verify the required parameter 'request_body' is set
513
+ if @api_client.config.client_side_validation && request_body.nil?
514
+ fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post"
515
+ end
516
+ # resource path
517
+ local_var_path = '/api/v1/chorus-pro/factures/rechercher-fournisseur'
518
+
519
+ # query parameters
520
+ query_params = opts[:query_params] || {}
521
+
522
+ # header parameters
523
+ header_params = opts[:header_params] || {}
524
+ # HTTP header 'Accept' (if needed)
525
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
526
+ # HTTP header 'Content-Type'
527
+ content_type = @api_client.select_header_content_type(['application/json'])
528
+ if !content_type.nil?
529
+ header_params['Content-Type'] = content_type
530
+ end
531
+
532
+ # form parameters
533
+ form_params = opts[:form_params] || {}
534
+
535
+ # http body (model)
536
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
537
+
538
+ # return_type
539
+ return_type = opts[:debug_return_type] || 'Object'
540
+
541
+ # auth_names
542
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
543
+
544
+ new_options = opts.merge(
545
+ :operation => :"ChorusProApi.rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post",
546
+ :header_params => header_params,
547
+ :query_params => query_params,
548
+ :form_params => form_params,
549
+ :body => post_body,
550
+ :auth_names => auth_names,
551
+ :return_type => return_type
552
+ )
553
+
554
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
555
+ if @api_client.config.debugging
556
+ @api_client.config.logger.debug "API called: ChorusProApi#rechercher_factures_fournisseur_api_v1_chorus_pro_factures_rechercher_fournisseur_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
557
+ end
558
+ return data, status_code, headers
559
+ end
560
+
561
+ # Search Chorus Pro structures
562
+ # Search for structures (companies, administrations) registered on Chorus Pro. **Use cases**: - Find the Chorus Pro ID of a structure from its SIRET - Check if a structure is registered on Chorus Pro - List structures matching criteria **Available filters**: - Identifier (SIRET, SIREN, etc.) - Company name - Identifier type - Private structures only **Typical step**: Called before `submit-invoice` to get the recipient's `id_structure_cpp`.
563
+ # @param search_structure_request [SearchStructureRequest]
564
+ # @param [Hash] opts the optional parameters
565
+ # @return [SearchStructureResponse]
566
+ def rechercher_structures_api_v1_chorus_pro_structures_rechercher_post(search_structure_request, opts = {})
567
+ data, _status_code, _headers = rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_with_http_info(search_structure_request, opts)
568
+ data
569
+ end
570
+
571
+ # Search Chorus Pro structures
572
+ # Search for structures (companies, administrations) registered on Chorus Pro. **Use cases**: - Find the Chorus Pro ID of a structure from its SIRET - Check if a structure is registered on Chorus Pro - List structures matching criteria **Available filters**: - Identifier (SIRET, SIREN, etc.) - Company name - Identifier type - Private structures only **Typical step**: Called before &#x60;submit-invoice&#x60; to get the recipient&#39;s &#x60;id_structure_cpp&#x60;.
573
+ # @param search_structure_request [SearchStructureRequest]
574
+ # @param [Hash] opts the optional parameters
575
+ # @return [Array<(SearchStructureResponse, Integer, Hash)>] SearchStructureResponse data, response status code and response headers
576
+ def rechercher_structures_api_v1_chorus_pro_structures_rechercher_post_with_http_info(search_structure_request, opts = {})
577
+ if @api_client.config.debugging
578
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.rechercher_structures_api_v1_chorus_pro_structures_rechercher_post ...'
579
+ end
580
+ # verify the required parameter 'search_structure_request' is set
581
+ if @api_client.config.client_side_validation && search_structure_request.nil?
582
+ fail ArgumentError, "Missing the required parameter 'search_structure_request' when calling ChorusProApi.rechercher_structures_api_v1_chorus_pro_structures_rechercher_post"
583
+ end
584
+ # resource path
585
+ local_var_path = '/api/v1/chorus-pro/structures/rechercher'
586
+
587
+ # query parameters
588
+ query_params = opts[:query_params] || {}
589
+
590
+ # header parameters
591
+ header_params = opts[:header_params] || {}
592
+ # HTTP header 'Accept' (if needed)
593
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
594
+ # HTTP header 'Content-Type'
595
+ content_type = @api_client.select_header_content_type(['application/json'])
596
+ if !content_type.nil?
597
+ header_params['Content-Type'] = content_type
598
+ end
599
+
600
+ # form parameters
601
+ form_params = opts[:form_params] || {}
602
+
603
+ # http body (model)
604
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(search_structure_request)
605
+
606
+ # return_type
607
+ return_type = opts[:debug_return_type] || 'SearchStructureResponse'
608
+
609
+ # auth_names
610
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
611
+
612
+ new_options = opts.merge(
613
+ :operation => :"ChorusProApi.rechercher_structures_api_v1_chorus_pro_structures_rechercher_post",
614
+ :header_params => header_params,
615
+ :query_params => query_params,
616
+ :form_params => form_params,
617
+ :body => post_body,
618
+ :auth_names => auth_names,
619
+ :return_type => return_type
620
+ )
621
+
622
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
623
+ if @api_client.config.debugging
624
+ @api_client.config.logger.debug "API called: ChorusProApi#rechercher_structures_api_v1_chorus_pro_structures_rechercher_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
625
+ end
626
+ return data, status_code, headers
627
+ end
628
+
629
+ # Recycle an invoice (Supplier)
630
+ # Recycle an invoice with A_RECYCLER status by modifying routing data. **Required status**: A_RECYCLER **Modifiable fields**: - Recipient (`idStructureCPP`) - Service code - Engagement number **Use cases**: - Wrong recipient - Change of billing service - Update engagement number **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"idStructureCPP\": 67890, \"codeService\": \"SERVICE_01\", \"numeroEngagement\": \"ENG2024001\" } ``` **Note**: The invoice keeps its number and amounts, only routing fields change.
631
+ # @param request_body [Hash<String, Object>]
632
+ # @param [Hash] opts the optional parameters
633
+ # @return [Object]
634
+ def recycler_facture_api_v1_chorus_pro_factures_recycler_post(request_body, opts = {})
635
+ data, _status_code, _headers = recycler_facture_api_v1_chorus_pro_factures_recycler_post_with_http_info(request_body, opts)
636
+ data
637
+ end
638
+
639
+ # Recycle an invoice (Supplier)
640
+ # Recycle an invoice with A_RECYCLER status by modifying routing data. **Required status**: A_RECYCLER **Modifiable fields**: - Recipient (&#x60;idStructureCPP&#x60;) - Service code - Engagement number **Use cases**: - Wrong recipient - Change of billing service - Update engagement number **Example payload**: &#x60;&#x60;&#x60;json { \&quot;identifiantFactureCPP\&quot;: 12345, \&quot;idStructureCPP\&quot;: 67890, \&quot;codeService\&quot;: \&quot;SERVICE_01\&quot;, \&quot;numeroEngagement\&quot;: \&quot;ENG2024001\&quot; } &#x60;&#x60;&#x60; **Note**: The invoice keeps its number and amounts, only routing fields change.
641
+ # @param request_body [Hash<String, Object>]
642
+ # @param [Hash] opts the optional parameters
643
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
644
+ def recycler_facture_api_v1_chorus_pro_factures_recycler_post_with_http_info(request_body, opts = {})
645
+ if @api_client.config.debugging
646
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.recycler_facture_api_v1_chorus_pro_factures_recycler_post ...'
647
+ end
648
+ # verify the required parameter 'request_body' is set
649
+ if @api_client.config.client_side_validation && request_body.nil?
650
+ fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.recycler_facture_api_v1_chorus_pro_factures_recycler_post"
651
+ end
652
+ # resource path
653
+ local_var_path = '/api/v1/chorus-pro/factures/recycler'
654
+
655
+ # query parameters
656
+ query_params = opts[:query_params] || {}
657
+
658
+ # header parameters
659
+ header_params = opts[:header_params] || {}
660
+ # HTTP header 'Accept' (if needed)
661
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
662
+ # HTTP header 'Content-Type'
663
+ content_type = @api_client.select_header_content_type(['application/json'])
664
+ if !content_type.nil?
665
+ header_params['Content-Type'] = content_type
666
+ end
667
+
668
+ # form parameters
669
+ form_params = opts[:form_params] || {}
670
+
671
+ # http body (model)
672
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
673
+
674
+ # return_type
675
+ return_type = opts[:debug_return_type] || 'Object'
676
+
677
+ # auth_names
678
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
679
+
680
+ new_options = opts.merge(
681
+ :operation => :"ChorusProApi.recycler_facture_api_v1_chorus_pro_factures_recycler_post",
682
+ :header_params => header_params,
683
+ :query_params => query_params,
684
+ :form_params => form_params,
685
+ :body => post_body,
686
+ :auth_names => auth_names,
687
+ :return_type => return_type
688
+ )
689
+
690
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
691
+ if @api_client.config.debugging
692
+ @api_client.config.logger.debug "API called: ChorusProApi#recycler_facture_api_v1_chorus_pro_factures_recycler_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
693
+ end
694
+ return data, status_code, headers
695
+ end
696
+
697
+ # Submit an invoice to Chorus Pro
698
+ # Submits an electronic invoice to a public structure via Chorus Pro. **Complete workflow**: 1. **Upload the Factur-X PDF** via `/transverses/ajouter-fichier` → retrieve `pieceJointeId` 2. **Get the structure ID** via `/structures/rechercher` or `/structures/obtenir-id-depuis-siret` 3. **Check mandatory parameters** via `/structures/consulter` 4. **Submit the invoice** with the `piece_jointe_principale_id` obtained in step 1 **Prerequisites**: 1. Have the recipient's `id_structure_cpp` (via `/structures/rechercher`) 2. Know the mandatory parameters (via `/structures/consulter`): - Service code if `code_service_doit_etre_renseigne=true` - Engagement number if `numero_ej_doit_etre_renseigne=true` 3. Have uploaded the Factur-X PDF (via `/transverses/ajouter-fichier`) **Expected format**: - `piece_jointe_principale_id`: ID returned by `/transverses/ajouter-fichier` - Amounts: Strings with 2 decimals (e.g., \"1250.50\") - Dates: ISO 8601 format (YYYY-MM-DD) **Returns**: - `identifiant_facture_cpp`: Chorus Pro ID of the created invoice - `numero_flux_depot`: Deposit tracking number **Possible statuses after submission**: - SOUMISE: Pending validation - VALIDEE: Validated by recipient - REJETEE: Rejected (data error or business refusal) - SUSPENDUE: Pending additional information **Note**: Use `/factures/consulter` to track status changes.
699
+ # @param submit_invoice_request [SubmitInvoiceRequest]
700
+ # @param [Hash] opts the optional parameters
701
+ # @return [SubmitInvoiceResponse]
702
+ def soumettre_facture_api_v1_chorus_pro_factures_soumettre_post(submit_invoice_request, opts = {})
703
+ data, _status_code, _headers = soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_with_http_info(submit_invoice_request, opts)
704
+ data
705
+ end
706
+
707
+ # Submit an invoice to Chorus Pro
708
+ # Submits an electronic invoice to a public structure via Chorus Pro. **Complete workflow**: 1. **Upload the Factur-X PDF** via &#x60;/transverses/ajouter-fichier&#x60; → retrieve &#x60;pieceJointeId&#x60; 2. **Get the structure ID** via &#x60;/structures/rechercher&#x60; or &#x60;/structures/obtenir-id-depuis-siret&#x60; 3. **Check mandatory parameters** via &#x60;/structures/consulter&#x60; 4. **Submit the invoice** with the &#x60;piece_jointe_principale_id&#x60; obtained in step 1 **Prerequisites**: 1. Have the recipient&#39;s &#x60;id_structure_cpp&#x60; (via &#x60;/structures/rechercher&#x60;) 2. Know the mandatory parameters (via &#x60;/structures/consulter&#x60;): - Service code if &#x60;code_service_doit_etre_renseigne&#x3D;true&#x60; - Engagement number if &#x60;numero_ej_doit_etre_renseigne&#x3D;true&#x60; 3. Have uploaded the Factur-X PDF (via &#x60;/transverses/ajouter-fichier&#x60;) **Expected format**: - &#x60;piece_jointe_principale_id&#x60;: ID returned by &#x60;/transverses/ajouter-fichier&#x60; - Amounts: Strings with 2 decimals (e.g., \&quot;1250.50\&quot;) - Dates: ISO 8601 format (YYYY-MM-DD) **Returns**: - &#x60;identifiant_facture_cpp&#x60;: Chorus Pro ID of the created invoice - &#x60;numero_flux_depot&#x60;: Deposit tracking number **Possible statuses after submission**: - SOUMISE: Pending validation - VALIDEE: Validated by recipient - REJETEE: Rejected (data error or business refusal) - SUSPENDUE: Pending additional information **Note**: Use &#x60;/factures/consulter&#x60; to track status changes.
709
+ # @param submit_invoice_request [SubmitInvoiceRequest]
710
+ # @param [Hash] opts the optional parameters
711
+ # @return [Array<(SubmitInvoiceResponse, Integer, Hash)>] SubmitInvoiceResponse data, response status code and response headers
712
+ def soumettre_facture_api_v1_chorus_pro_factures_soumettre_post_with_http_info(submit_invoice_request, opts = {})
713
+ if @api_client.config.debugging
714
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.soumettre_facture_api_v1_chorus_pro_factures_soumettre_post ...'
715
+ end
716
+ # verify the required parameter 'submit_invoice_request' is set
717
+ if @api_client.config.client_side_validation && submit_invoice_request.nil?
718
+ fail ArgumentError, "Missing the required parameter 'submit_invoice_request' when calling ChorusProApi.soumettre_facture_api_v1_chorus_pro_factures_soumettre_post"
719
+ end
720
+ # resource path
721
+ local_var_path = '/api/v1/chorus-pro/factures/soumettre'
722
+
723
+ # query parameters
724
+ query_params = opts[:query_params] || {}
725
+
726
+ # header parameters
727
+ header_params = opts[:header_params] || {}
728
+ # HTTP header 'Accept' (if needed)
729
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
730
+ # HTTP header 'Content-Type'
731
+ content_type = @api_client.select_header_content_type(['application/json'])
732
+ if !content_type.nil?
733
+ header_params['Content-Type'] = content_type
734
+ end
735
+
736
+ # form parameters
737
+ form_params = opts[:form_params] || {}
738
+
739
+ # http body (model)
740
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_invoice_request)
741
+
742
+ # return_type
743
+ return_type = opts[:debug_return_type] || 'SubmitInvoiceResponse'
744
+
745
+ # auth_names
746
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
747
+
748
+ new_options = opts.merge(
749
+ :operation => :"ChorusProApi.soumettre_facture_api_v1_chorus_pro_factures_soumettre_post",
750
+ :header_params => header_params,
751
+ :query_params => query_params,
752
+ :form_params => form_params,
753
+ :body => post_body,
754
+ :auth_names => auth_names,
755
+ :return_type => return_type
756
+ )
757
+
758
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
759
+ if @api_client.config.debugging
760
+ @api_client.config.logger.debug "API called: ChorusProApi#soumettre_facture_api_v1_chorus_pro_factures_soumettre_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
761
+ end
762
+ return data, status_code, headers
763
+ end
764
+
765
+ # Download a group of invoices
766
+ # Download one or more invoices (max 10 recommended) with their attachments. **Available formats**: - PDF: PDF file only - XML: XML file only - ZIP: Archive containing PDF + XML + attachments **Maximum size**: 120 MB per download **Example payload**: ```json { \"listeIdentifiantsFactureCPP\": [12345, 12346], \"inclurePiecesJointes\": true, \"formatFichier\": \"ZIP\" } ``` **Returns**: The file is base64-encoded in the `fichierBase64` field. **Note**: The `factureTelechargeeParDestinataire` flag is automatically updated.
767
+ # @param request_body [Hash<String, Object>]
768
+ # @param [Hash] opts the optional parameters
769
+ # @return [Object]
770
+ def telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post(request_body, opts = {})
771
+ data, _status_code, _headers = telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post_with_http_info(request_body, opts)
772
+ data
773
+ end
774
+
775
+ # Download a group of invoices
776
+ # Download one or more invoices (max 10 recommended) with their attachments. **Available formats**: - PDF: PDF file only - XML: XML file only - ZIP: Archive containing PDF + XML + attachments **Maximum size**: 120 MB per download **Example payload**: &#x60;&#x60;&#x60;json { \&quot;listeIdentifiantsFactureCPP\&quot;: [12345, 12346], \&quot;inclurePiecesJointes\&quot;: true, \&quot;formatFichier\&quot;: \&quot;ZIP\&quot; } &#x60;&#x60;&#x60; **Returns**: The file is base64-encoded in the &#x60;fichierBase64&#x60; field. **Note**: The &#x60;factureTelechargeeParDestinataire&#x60; flag is automatically updated.
777
+ # @param request_body [Hash<String, Object>]
778
+ # @param [Hash] opts the optional parameters
779
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
780
+ def telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post_with_http_info(request_body, opts = {})
781
+ if @api_client.config.debugging
782
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post ...'
783
+ end
784
+ # verify the required parameter 'request_body' is set
785
+ if @api_client.config.client_side_validation && request_body.nil?
786
+ fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post"
787
+ end
788
+ # resource path
789
+ local_var_path = '/api/v1/chorus-pro/factures/telecharger-groupe'
790
+
791
+ # query parameters
792
+ query_params = opts[:query_params] || {}
793
+
794
+ # header parameters
795
+ header_params = opts[:header_params] || {}
796
+ # HTTP header 'Accept' (if needed)
797
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
798
+ # HTTP header 'Content-Type'
799
+ content_type = @api_client.select_header_content_type(['application/json'])
800
+ if !content_type.nil?
801
+ header_params['Content-Type'] = content_type
802
+ end
803
+
804
+ # form parameters
805
+ form_params = opts[:form_params] || {}
806
+
807
+ # http body (model)
808
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
809
+
810
+ # return_type
811
+ return_type = opts[:debug_return_type] || 'Object'
812
+
813
+ # auth_names
814
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
815
+
816
+ new_options = opts.merge(
817
+ :operation => :"ChorusProApi.telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post",
818
+ :header_params => header_params,
819
+ :query_params => query_params,
820
+ :form_params => form_params,
821
+ :body => post_body,
822
+ :auth_names => auth_names,
823
+ :return_type => return_type
824
+ )
825
+
826
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
827
+ if @api_client.config.debugging
828
+ @api_client.config.logger.debug "API called: ChorusProApi#telecharger_groupe_factures_api_v1_chorus_pro_factures_telecharger_groupe_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
829
+ end
830
+ return data, status_code, headers
831
+ end
832
+
833
+ # Process a received invoice (Recipient)
834
+ # Change the status of a received invoice. **Possible statuses**: - MISE_A_DISPOSITION: Invoice accepted - SUSPENDUE: Pending additional information (reason required) - REJETEE: Invoice refused (reason required) - MANDATEE: Invoice mandated - MISE_EN_PAIEMENT: Invoice being paid - COMPTABILISEE: Invoice accounted - MISE_A_DISPOSITION_COMPTABLE: Made available to accounting - A_RECYCLER: To be recycled - COMPLETEE: Completed - SERVICE-FAIT: Service rendered - PRISE_EN_COMPTE_DESTINATAIRE: Acknowledged - TRANSMISE_MOA: Transmitted to MOA **Example payload**: ```json { \"identifiantFactureCPP\": 12345, \"nouveauStatut\": \"REJETEE\", \"motifRejet\": \"Duplicate invoice\", \"commentaire\": \"Invoice already received under reference ABC123\" } ``` **Rules**: - A reason is **required** for SUSPENDUE and REJETEE - Only certain statuses are allowed depending on the invoice's current status
835
+ # @param request_body [Hash<String, Object>]
836
+ # @param [Hash] opts the optional parameters
837
+ # @return [Object]
838
+ def traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post(request_body, opts = {})
839
+ data, _status_code, _headers = traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post_with_http_info(request_body, opts)
840
+ data
841
+ end
842
+
843
+ # Process a received invoice (Recipient)
844
+ # Change the status of a received invoice. **Possible statuses**: - MISE_A_DISPOSITION: Invoice accepted - SUSPENDUE: Pending additional information (reason required) - REJETEE: Invoice refused (reason required) - MANDATEE: Invoice mandated - MISE_EN_PAIEMENT: Invoice being paid - COMPTABILISEE: Invoice accounted - MISE_A_DISPOSITION_COMPTABLE: Made available to accounting - A_RECYCLER: To be recycled - COMPLETEE: Completed - SERVICE-FAIT: Service rendered - PRISE_EN_COMPTE_DESTINATAIRE: Acknowledged - TRANSMISE_MOA: Transmitted to MOA **Example payload**: &#x60;&#x60;&#x60;json { \&quot;identifiantFactureCPP\&quot;: 12345, \&quot;nouveauStatut\&quot;: \&quot;REJETEE\&quot;, \&quot;motifRejet\&quot;: \&quot;Duplicate invoice\&quot;, \&quot;commentaire\&quot;: \&quot;Invoice already received under reference ABC123\&quot; } &#x60;&#x60;&#x60; **Rules**: - A reason is **required** for SUSPENDUE and REJETEE - Only certain statuses are allowed depending on the invoice&#39;s current status
845
+ # @param request_body [Hash<String, Object>]
846
+ # @param [Hash] opts the optional parameters
847
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
848
+ def traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post_with_http_info(request_body, opts = {})
849
+ if @api_client.config.debugging
850
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post ...'
851
+ end
852
+ # verify the required parameter 'request_body' is set
853
+ if @api_client.config.client_side_validation && request_body.nil?
854
+ fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post"
855
+ end
856
+ # resource path
857
+ local_var_path = '/api/v1/chorus-pro/factures/traiter-facture-recue'
858
+
859
+ # query parameters
860
+ query_params = opts[:query_params] || {}
861
+
862
+ # header parameters
863
+ header_params = opts[:header_params] || {}
864
+ # HTTP header 'Accept' (if needed)
865
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
866
+ # HTTP header 'Content-Type'
867
+ content_type = @api_client.select_header_content_type(['application/json'])
868
+ if !content_type.nil?
869
+ header_params['Content-Type'] = content_type
870
+ end
871
+
872
+ # form parameters
873
+ form_params = opts[:form_params] || {}
874
+
875
+ # http body (model)
876
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
877
+
878
+ # return_type
879
+ return_type = opts[:debug_return_type] || 'Object'
880
+
881
+ # auth_names
882
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
883
+
884
+ new_options = opts.merge(
885
+ :operation => :"ChorusProApi.traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post",
886
+ :header_params => header_params,
887
+ :query_params => query_params,
888
+ :form_params => form_params,
889
+ :body => post_body,
890
+ :auth_names => auth_names,
891
+ :return_type => return_type
892
+ )
893
+
894
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
895
+ if @api_client.config.debugging
896
+ @api_client.config.logger.debug "API called: ChorusProApi#traiter_facture_recue_api_v1_chorus_pro_factures_traiter_facture_recue_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
897
+ end
898
+ return data, status_code, headers
899
+ end
900
+
901
+ # Consult an invoice (Validator)
902
+ # Retrieves detailed information about an invoice for validators. **Use case**: Called by validators (public sector) to consult invoice details before approving or rejecting it. **Required payload**: ```json { \"idFacture\": 123456789 } ``` **Returns**: Complete invoice details including amounts, dates, attachments, and current status.
903
+ # @param request_body [Hash<String, Object>]
904
+ # @param [Hash] opts the optional parameters
905
+ # @return [Object]
906
+ def valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post(request_body, opts = {})
907
+ data, _status_code, _headers = valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post_with_http_info(request_body, opts)
908
+ data
909
+ end
910
+
911
+ # Consult an invoice (Validator)
912
+ # Retrieves detailed information about an invoice for validators. **Use case**: Called by validators (public sector) to consult invoice details before approving or rejecting it. **Required payload**: &#x60;&#x60;&#x60;json { \&quot;idFacture\&quot;: 123456789 } &#x60;&#x60;&#x60; **Returns**: Complete invoice details including amounts, dates, attachments, and current status.
913
+ # @param request_body [Hash<String, Object>]
914
+ # @param [Hash] opts the optional parameters
915
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
916
+ def valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post_with_http_info(request_body, opts = {})
917
+ if @api_client.config.debugging
918
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post ...'
919
+ end
920
+ # verify the required parameter 'request_body' is set
921
+ if @api_client.config.client_side_validation && request_body.nil?
922
+ fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post"
923
+ end
924
+ # resource path
925
+ local_var_path = '/api/v1/chorus-pro/factures/valideur/consulter'
926
+
927
+ # query parameters
928
+ query_params = opts[:query_params] || {}
929
+
930
+ # header parameters
931
+ header_params = opts[:header_params] || {}
932
+ # HTTP header 'Accept' (if needed)
933
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
934
+ # HTTP header 'Content-Type'
935
+ content_type = @api_client.select_header_content_type(['application/json'])
936
+ if !content_type.nil?
937
+ header_params['Content-Type'] = content_type
938
+ end
939
+
940
+ # form parameters
941
+ form_params = opts[:form_params] || {}
942
+
943
+ # http body (model)
944
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
945
+
946
+ # return_type
947
+ return_type = opts[:debug_return_type] || 'Object'
948
+
949
+ # auth_names
950
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
951
+
952
+ new_options = opts.merge(
953
+ :operation => :"ChorusProApi.valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post",
954
+ :header_params => header_params,
955
+ :query_params => query_params,
956
+ :form_params => form_params,
957
+ :body => post_body,
958
+ :auth_names => auth_names,
959
+ :return_type => return_type
960
+ )
961
+
962
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
963
+ if @api_client.config.debugging
964
+ @api_client.config.logger.debug "API called: ChorusProApi#valideur_consulter_facture_api_v1_chorus_pro_factures_valideur_consulter_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
965
+ end
966
+ return data, status_code, headers
967
+ end
968
+
969
+ # Search invoices to validate (Validator)
970
+ # Search invoices pending validation by the connected validator. **Role**: Validator in the internal validation workflow. **Filters**: Dates, structure, service, etc.
971
+ # @param request_body [Hash<String, Object>]
972
+ # @param [Hash] opts the optional parameters
973
+ # @return [Object]
974
+ def valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post(request_body, opts = {})
975
+ data, _status_code, _headers = valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post_with_http_info(request_body, opts)
976
+ data
977
+ end
978
+
979
+ # Search invoices to validate (Validator)
980
+ # Search invoices pending validation by the connected validator. **Role**: Validator in the internal validation workflow. **Filters**: Dates, structure, service, etc.
981
+ # @param request_body [Hash<String, Object>]
982
+ # @param [Hash] opts the optional parameters
983
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
984
+ def valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post_with_http_info(request_body, opts = {})
985
+ if @api_client.config.debugging
986
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post ...'
987
+ end
988
+ # verify the required parameter 'request_body' is set
989
+ if @api_client.config.client_side_validation && request_body.nil?
990
+ fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post"
991
+ end
992
+ # resource path
993
+ local_var_path = '/api/v1/chorus-pro/factures/valideur/rechercher'
994
+
995
+ # query parameters
996
+ query_params = opts[:query_params] || {}
997
+
998
+ # header parameters
999
+ header_params = opts[:header_params] || {}
1000
+ # HTTP header 'Accept' (if needed)
1001
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1002
+ # HTTP header 'Content-Type'
1003
+ content_type = @api_client.select_header_content_type(['application/json'])
1004
+ if !content_type.nil?
1005
+ header_params['Content-Type'] = content_type
1006
+ end
1007
+
1008
+ # form parameters
1009
+ form_params = opts[:form_params] || {}
1010
+
1011
+ # http body (model)
1012
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
1013
+
1014
+ # return_type
1015
+ return_type = opts[:debug_return_type] || 'Object'
1016
+
1017
+ # auth_names
1018
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
1019
+
1020
+ new_options = opts.merge(
1021
+ :operation => :"ChorusProApi.valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post",
1022
+ :header_params => header_params,
1023
+ :query_params => query_params,
1024
+ :form_params => form_params,
1025
+ :body => post_body,
1026
+ :auth_names => auth_names,
1027
+ :return_type => return_type
1028
+ )
1029
+
1030
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1031
+ if @api_client.config.debugging
1032
+ @api_client.config.logger.debug "API called: ChorusProApi#valideur_rechercher_factures_api_v1_chorus_pro_factures_valideur_rechercher_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1033
+ end
1034
+ return data, status_code, headers
1035
+ end
1036
+
1037
+ # Validate or reject an invoice (Validator)
1038
+ # Validate or reject an invoice pending validation. **Actions**: - Validate: The invoice moves to the next status in the workflow - Reject: The invoice is rejected (reason required)
1039
+ # @param request_body [Hash<String, Object>]
1040
+ # @param [Hash] opts the optional parameters
1041
+ # @return [Object]
1042
+ def valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post(request_body, opts = {})
1043
+ data, _status_code, _headers = valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post_with_http_info(request_body, opts)
1044
+ data
1045
+ end
1046
+
1047
+ # Validate or reject an invoice (Validator)
1048
+ # Validate or reject an invoice pending validation. **Actions**: - Validate: The invoice moves to the next status in the workflow - Reject: The invoice is rejected (reason required)
1049
+ # @param request_body [Hash<String, Object>]
1050
+ # @param [Hash] opts the optional parameters
1051
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
1052
+ def valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post_with_http_info(request_body, opts = {})
1053
+ if @api_client.config.debugging
1054
+ @api_client.config.logger.debug 'Calling API: ChorusProApi.valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post ...'
1055
+ end
1056
+ # verify the required parameter 'request_body' is set
1057
+ if @api_client.config.client_side_validation && request_body.nil?
1058
+ fail ArgumentError, "Missing the required parameter 'request_body' when calling ChorusProApi.valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post"
1059
+ end
1060
+ # resource path
1061
+ local_var_path = '/api/v1/chorus-pro/factures/valideur/traiter'
1062
+
1063
+ # query parameters
1064
+ query_params = opts[:query_params] || {}
1065
+
1066
+ # header parameters
1067
+ header_params = opts[:header_params] || {}
1068
+ # HTTP header 'Accept' (if needed)
1069
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1070
+ # HTTP header 'Content-Type'
1071
+ content_type = @api_client.select_header_content_type(['application/json'])
1072
+ if !content_type.nil?
1073
+ header_params['Content-Type'] = content_type
1074
+ end
1075
+
1076
+ # form parameters
1077
+ form_params = opts[:form_params] || {}
1078
+
1079
+ # http body (model)
1080
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
1081
+
1082
+ # return_type
1083
+ return_type = opts[:debug_return_type] || 'Object'
1084
+
1085
+ # auth_names
1086
+ auth_names = opts[:debug_auth_names] || ['APIKeyHeader', 'HTTPBearer']
1087
+
1088
+ new_options = opts.merge(
1089
+ :operation => :"ChorusProApi.valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post",
1090
+ :header_params => header_params,
1091
+ :query_params => query_params,
1092
+ :form_params => form_params,
1093
+ :body => post_body,
1094
+ :auth_names => auth_names,
1095
+ :return_type => return_type
1096
+ )
1097
+
1098
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1099
+ if @api_client.config.debugging
1100
+ @api_client.config.logger.debug "API called: ChorusProApi#valideur_traiter_facture_api_v1_chorus_pro_factures_valideur_traiter_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1101
+ end
1102
+ return data, status_code, headers
1103
+ end
1104
+ end
1105
+ end