@timbro/invoices 0.12.0 → 0.13.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 (56) hide show
  1. package/README.md +26 -0
  2. package/dist/admin.d.ts +1 -0
  3. package/dist/admin.d.ts.map +1 -1
  4. package/dist/admin.js +1 -0
  5. package/dist/certification-workbook.d.ts +9 -0
  6. package/dist/certification-workbook.d.ts.map +1 -0
  7. package/dist/certification-workbook.js +13 -0
  8. package/dist/fiscal-engine-runtime.manifest.json +117 -112
  9. package/dist/fiscal-engine-runtime.provenance.json +194 -189
  10. package/dist/generated/certification-api-contract.d.ts +430 -0
  11. package/dist/generated/certification-api-contract.d.ts.map +1 -0
  12. package/dist/generated/certification-api-contract.js +483 -0
  13. package/dist/generated/hosted/index.d.ts +3 -3
  14. package/dist/generated/hosted/index.d.ts.map +1 -1
  15. package/dist/generated/hosted/index.js +2 -2
  16. package/dist/generated/hosted/sdk.gen.d.ts +13 -1
  17. package/dist/generated/hosted/sdk.gen.d.ts.map +1 -1
  18. package/dist/generated/hosted/sdk.gen.js +165 -1
  19. package/dist/generated/hosted/types.gen.d.ts +308 -6
  20. package/dist/generated/hosted/types.gen.d.ts.map +1 -1
  21. package/dist/generated/hosted/zod-response.gen.d.ts +322 -20
  22. package/dist/generated/hosted/zod-response.gen.d.ts.map +1 -1
  23. package/dist/generated/hosted/zod-response.gen.js +113 -5
  24. package/dist/generated/hosted/zod.gen.d.ts +221 -5
  25. package/dist/generated/hosted/zod.gen.d.ts.map +1 -1
  26. package/dist/generated/hosted/zod.gen.js +133 -5
  27. package/dist/generated/index.d.ts +3 -3
  28. package/dist/generated/index.d.ts.map +1 -1
  29. package/dist/generated/index.js +2 -2
  30. package/dist/generated/invoice-api-contract.d.ts +1345 -105
  31. package/dist/generated/invoice-api-contract.d.ts.map +1 -1
  32. package/dist/generated/invoice-api-contract.js +1755 -163
  33. package/dist/generated/problem-catalog.d.ts.map +1 -1
  34. package/dist/generated/problem-catalog.js +2 -0
  35. package/dist/generated/sdk.gen.d.ts +5 -1
  36. package/dist/generated/sdk.gen.d.ts.map +1 -1
  37. package/dist/generated/sdk.gen.js +109 -1
  38. package/dist/generated/types.gen.d.ts +523 -49
  39. package/dist/generated/types.gen.d.ts.map +1 -1
  40. package/dist/generated/zod-response.gen.d.ts +22877 -5753
  41. package/dist/generated/zod-response.gen.d.ts.map +1 -1
  42. package/dist/generated/zod-response.gen.js +219 -3
  43. package/dist/generated/zod.gen.d.ts +17435 -2747
  44. package/dist/generated/zod.gen.d.ts.map +1 -1
  45. package/dist/generated/zod.gen.js +2317 -1439
  46. package/dist/generated-operation-client.d.ts +2 -2
  47. package/dist/generated-operation-client.d.ts.map +1 -1
  48. package/dist/index.d.ts +2 -1
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/invoice-hosted-controls.d.ts +11 -2
  51. package/dist/invoice-hosted-controls.d.ts.map +1 -1
  52. package/dist/invoice-hosted-controls.js +26 -1
  53. package/dist/problem-contract.d.ts +2 -0
  54. package/dist/problem-contract.d.ts.map +1 -1
  55. package/dist/timbro_fiscal_engine_bg.wasm +0 -0
  56. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import { zConfigureInvoicingResponse, zCreateWebhookEndpointResponse, zDeleteWebhookEndpointResponse, zImportSigningCertificateResponse, zIssueInvoiceKeyResponse, zIssueTestInvoiceResponse, zListWebhookDeliveriesResponse, zListWebhookEndpointsResponse, zProblem, zReactivateWebhookEndpointResponse, zReplayWebhookEventsResponse, zRetrieveBusinessResponse, zRetrieveMerchantBusinessCertificationResponse, zRetrieveWebhookEndpointResponse, zRotateWebhookEndpointSecretResponse, zStartMerchantBusinessCertificationResponse, zSubmitMerchantBusinessCertificationEvidenceResponse, zSuspendWebhookEndpointResponse, zUpdateBusinessResponse, } from "./zod-response.gen.js";
1
+ import { zConfigureInvoicingResponse, zCreateWebhookEndpointResponse, zDeleteWebhookEndpointResponse, zImportSigningCertificateResponse, zIssueInvoiceKeyResponse, zIssueTestInvoiceResponse, zListWebhookDeliveriesResponse, zListWebhookEndpointsResponse, zProblem, zReactivateWebhookEndpointResponse, zReplayWebhookEventsResponse, zRetrieveBusinessResponse, zRetrieveMerchantBusinessCertificationResponse, zRetrieveMerchantBusinessCertificationTestSetResponse, zRetrieveWebhookEndpointResponse, zRotateWebhookEndpointSecretResponse, zStartMerchantBusinessCertificationResponse, zSubmitMerchantBusinessCertificationEvidenceResponse, zSuspendWebhookEndpointResponse, zUpdateBusinessResponse, zUploadMerchantBusinessCertificationTestSetResponse, } from "./zod-response.gen.js";
2
2
  /**
3
3
  * Retrieve the merchant business
4
4
  *
@@ -363,6 +363,170 @@ export const submitMerchantBusinessCertificationEvidence = (options) => options.
363
363
  ...options.headers,
364
364
  },
365
365
  });
366
+ /**
367
+ * Upload a certification workbook
368
+ *
369
+ * Retains the original workbook for review in the current DGII certification attempt. Uploading does not execute test cases, submit fiscal documents, or advance certification.
370
+ */
371
+ export const uploadMerchantBusinessCertificationTestSet = (options) => options.client.post({
372
+ response_decoder: (response) => {
373
+ switch (response.status) {
374
+ case 200:
375
+ return {
376
+ status: 200,
377
+ headers: response.headers,
378
+ body: zUploadMerchantBusinessCertificationTestSetResponse.parse(response.body),
379
+ };
380
+ case 201:
381
+ return {
382
+ status: 201,
383
+ headers: response.headers,
384
+ body: zUploadMerchantBusinessCertificationTestSetResponse.parse(response.body),
385
+ };
386
+ case 400:
387
+ return {
388
+ status: 400,
389
+ headers: response.headers,
390
+ body: zProblem.parse(response.body),
391
+ };
392
+ case 401:
393
+ return {
394
+ status: 401,
395
+ headers: response.headers,
396
+ body: zProblem.parse(response.body),
397
+ };
398
+ case 403:
399
+ return {
400
+ status: 403,
401
+ headers: response.headers,
402
+ body: zProblem.parse(response.body),
403
+ };
404
+ case 404:
405
+ return {
406
+ status: 404,
407
+ headers: response.headers,
408
+ body: zProblem.parse(response.body),
409
+ };
410
+ case 409:
411
+ return {
412
+ status: 409,
413
+ headers: response.headers,
414
+ body: zProblem.parse(response.body),
415
+ };
416
+ case 413:
417
+ return {
418
+ status: 413,
419
+ headers: response.headers,
420
+ body: zProblem.parse(response.body),
421
+ };
422
+ case 415:
423
+ return {
424
+ status: 415,
425
+ headers: response.headers,
426
+ body: zProblem.parse(response.body),
427
+ };
428
+ case 422:
429
+ return {
430
+ status: 422,
431
+ headers: response.headers,
432
+ body: zProblem.parse(response.body),
433
+ };
434
+ case 500:
435
+ return {
436
+ status: 500,
437
+ headers: response.headers,
438
+ body: zProblem.parse(response.body),
439
+ };
440
+ case 503:
441
+ return {
442
+ status: 503,
443
+ headers: response.headers,
444
+ body: zProblem.parse(response.body),
445
+ };
446
+ default:
447
+ return {
448
+ status: "unexpected",
449
+ status_code: response.status,
450
+ headers: response.headers,
451
+ body: response.body,
452
+ };
453
+ }
454
+ },
455
+ url: "/v1/business/certification/test-sets",
456
+ ...options,
457
+ headers: {
458
+ "Content-Type": "application/json",
459
+ ...options.headers,
460
+ },
461
+ });
462
+ /**
463
+ * Retrieve the current certification workbook
464
+ *
465
+ * Returns the latest workbook retained for the authenticated business's current DGII certification attempt, or null before an upload. Retention is inert and does not run cases or advance DGII progress.
466
+ */
467
+ export const retrieveMerchantBusinessCertificationTestSet = (options) => options.client.get({
468
+ response_decoder: (response) => {
469
+ switch (response.status) {
470
+ case 200:
471
+ return {
472
+ status: 200,
473
+ headers: response.headers,
474
+ body: zRetrieveMerchantBusinessCertificationTestSetResponse.parse(response.body),
475
+ };
476
+ case 400:
477
+ return {
478
+ status: 400,
479
+ headers: response.headers,
480
+ body: zProblem.parse(response.body),
481
+ };
482
+ case 401:
483
+ return {
484
+ status: 401,
485
+ headers: response.headers,
486
+ body: zProblem.parse(response.body),
487
+ };
488
+ case 403:
489
+ return {
490
+ status: 403,
491
+ headers: response.headers,
492
+ body: zProblem.parse(response.body),
493
+ };
494
+ case 404:
495
+ return {
496
+ status: 404,
497
+ headers: response.headers,
498
+ body: zProblem.parse(response.body),
499
+ };
500
+ case 409:
501
+ return {
502
+ status: 409,
503
+ headers: response.headers,
504
+ body: zProblem.parse(response.body),
505
+ };
506
+ case 500:
507
+ return {
508
+ status: 500,
509
+ headers: response.headers,
510
+ body: zProblem.parse(response.body),
511
+ };
512
+ case 503:
513
+ return {
514
+ status: 503,
515
+ headers: response.headers,
516
+ body: zProblem.parse(response.body),
517
+ };
518
+ default:
519
+ return {
520
+ status: "unexpected",
521
+ status_code: response.status,
522
+ headers: response.headers,
523
+ body: response.body,
524
+ };
525
+ }
526
+ },
527
+ url: "/v1/business/certification/test-sets/current",
528
+ ...options,
529
+ });
366
530
  /**
367
531
  * Configure a Timbro invoice environment
368
532
  *
@@ -154,7 +154,7 @@ export type Problem = {
154
154
  /**
155
155
  * Stable machine-readable code. Branch on this, never on `title`.
156
156
  */
157
- code: "authorization_not_found" | "authorization_checkout_reference_invalid" | "authorization_reference_conflict" | "authorization_capture_conflict" | "authorization_capture_exceeds_hold" | "authorization_not_capturable" | "authorization_not_cancelable" | "authorization_not_editable" | "authorization_submission_invalid" | "authorization_authentication_pending" | "authorization_credentials_unavailable" | "authorization_dispatch_refused" | "authorization_hold_evidence_missing" | "provider_qualification_required" | "merchant_authentication_unavailable" | "platform_test_profile_unavailable" | "merchant_fiscal_binding_unavailable" | "merchant_fiscal_setup_unavailable" | "merchant_contact_email_confirmation_required" | "merchant_service_scope_required" | "merchant_business_address_required" | "merchant_business_contact_required" | "merchant_business_location_official_codes_required" | "merchant_business_details_invalid" | "merchant_current_payment_methods_required" | "merchant_current_sales_channels_required" | "merchant_existing_card_service_not_applicable" | "merchant_existing_card_service_other_provider_name_invalid" | "merchant_existing_card_service_other_provider_name_not_allowed" | "merchant_existing_card_service_other_provider_name_required" | "merchant_existing_card_service_providers_exclusive_choice" | "merchant_existing_card_service_providers_required" | "merchant_existing_card_service_required" | "merchant_location_catalog_changed" | "merchant_location_catalog_unavailable" | "merchant_location_selection_invalid" | "merchant_payment_methods_not_applicable" | "merchant_sales_channels_exclusive_choice" | "merchant_sales_channels_not_applicable" | "merchant_business_type_not_applicable" | "merchant_charge_timing_not_applicable" | "merchant_charge_timing_required" | "merchant_payment_methods_exclusive_choice" | "merchant_session_missing" | "merchant_guest_notice_acceptance_required" | "merchant_workspace_organization_required" | "merchant_onboarding_revision_conflict" | "merchant_checkout_policy_revision_conflict" | "merchant_business_already_claimed" | "merchant_business_attachment_conflict" | "merchant_business_identity_required" | "merchant_business_not_member" | "merchant_business_revision_conflict" | "merchant_business_capabilities_required" | "merchant_business_certification_path_unavailable" | "merchant_business_certification_requirements_unmet" | "merchant_business_certification_revision_conflict" | "merchant_business_certification_evidence_not_found" | "merchant_fiscal_setup_incomplete" | "merchant_payment_setup_assessment_incomplete" | "merchant_certificate_conflict" | "merchant_test_fiscal_document_blocked" | "merchant_dgii_assistance_not_applicable" | "merchant_dgii_assistance_notes_invalid" | "parameter_missing" | "parameter_invalid" | "provider_not_available" | "currency_not_supported" | "amount_below_minimum" | "amount_above_maximum" | "checkout_reference_invalid" | "checkout_reference_expired" | "fiscal_buyer_tax_id_invalid" | "fiscal_lines_required" | "payment_split_invalid" | "submission_token_invalid" | "submission_token_expired" | "request_body_malformed" | "collection_cursor_invalid" | "webhook_replay_scope_invalid" | "api_key_missing" | "api_key_invalid" | "checkout_token_invalid" | "checkout_token_expired" | "payer_session_missing" | "operation_not_permitted" | "invoice_delivery_not_permitted" | "journey_scope_mismatch" | "journey_report_timeout" | "merchant_fiscal_binding_conflict" | "live_mode_not_enabled" | "origin_not_allowed" | "payer_step_up_required" | "certificate_handoff_person_mismatch" | "route_not_found" | "api_key_not_found" | "payment_not_found" | "payment_reference_conflict" | "refund_reference_conflict" | "payment_reference_invalid" | "refund_reference_invalid" | "payment_tax_required" | "payment_tax_invalid" | "payment_items_invalid" | "payment_totals_mismatch" | "payment_invoice_item_fields_required" | "payments_contract_migration_required" | "merchant_payments_api_paused" | "refund_not_found" | "refund_invoice_not_ready" | "refund_invoice_not_accepted" | "refund_invoice_mismatch" | "refund_invoice_conflict" | "payment_part_not_found" | "payment_split_not_found" | "fiscal_document_not_found" | "merchant_account_not_found" | "merchant_account_card_capability_not_found" | "merchant_business_not_found" | "agent_client_not_found" | "connected_agent_not_found" | "certificate_handoff_not_found" | "webhook_endpoint_not_found" | "webhook_event_not_found" | "three_ds_not_found" | "payer_not_found" | "saved_card_not_found" | "payer_credential_not_found" | "payer_purchase_not_found" | "payer_fiscal_profile_not_found" | "idempotency_key_reused" | "idempotency_request_in_progress" | "idempotency_key_expired" | "api_key_retired" | "payment_method_already_in_progress" | "payment_not_payable" | "payment_awaiting_verification" | "payment_attempt_invalid" | "payment_attempt_mismatch" | "payment_attempt_stale" | "payment_method_mismatch" | "provider_response_invalid" | "checkout_window_closed" | "payment_not_editable" | "payment_cancel_not_allowed" | "payment_cancellation_pending" | "invoicing_locked" | "source_identity_conflict" | "refund_source_identity_conflict" | "refund_payment_not_captured" | "refund_exceeds_captured" | "refund_allocation_not_found" | "refund_allocation_conflict" | "refund_allocation_ledger_unavailable" | "fiscal_buyer_required" | "fiscal_artifact_not_ready" | "payment_invoice_not_ready" | "payment_invoice_not_allowed" | "invoice_reference_stale" | "fiscal_delivery_not_ready" | "payment_split_not_allowed" | "payment_split_exists" | "payment_split_locked" | "payment_split_not_capturable" | "payment_split_not_expired" | "payment_split_not_renewable" | "payment_split_complete" | "payment_split_part_required" | "payment_part_not_payable" | "webhook_endpoint_deleted" | "webhook_endpoint_suspended" | "three_ds_binding_mismatch" | "payer_enrollment_unavailable" | "payer_claim_unavailable" | "payer_claim_conflict" | "payer_claim_proof_invalid" | "payer_delivery_address_unavailable" | "payer_fiscal_profile_unavailable" | "certificate_handoff_used" | "receipt_retention_elapsed" | "certificate_handoff_expired" | "request_body_too_large" | "unsupported_media_type" | "merchant_account_not_ready" | "merchant_checkout_policy_invalid" | "merchant_account_provider_mismatch" | "merchant_account_identity_mismatch" | "merchant_profile_incomplete" | "payment_description_required" | "sale_amount_invalid" | "credential_storage_unavailable" | "provider_not_eligible" | "no_eligible_provider" | "currency_not_supported_by_provider" | "currency_not_supported_for_fiscal_document" | "fiscal_total_mismatch" | "fiscal_line_total_invalid" | "fiscal_line_legal_tip_invalid" | "fiscal_document_kind_not_allowed" | "fiscal_document_kind_unsupported" | "fiscal_government_eligibility_required" | "fiscal_government_eligibility_not_allowed" | "certificate_p12_password_invalid" | "certificate_pkcs12_invalid" | "certificate_expired" | "certificate_not_yet_valid" | "certificate_archive_not_supported" | "certificate_not_supported" | "taxpayer_unregistered" | "taxpayer_inactive" | "voluntary_tip_currency_mismatch" | "voluntary_tip_not_allowed_for_split" | "voluntary_tip_not_available" | "voluntary_tip_exceeds_maximum" | "refund_tip_amount_invalid" | "refund_tip_allocation_unknown" | "refund_amount_invalid" | "refund_tax_amount_invalid" | "refund_tax_amount_required" | "refund_tax_allocation_unknown" | "refund_currency_mismatch" | "payer_fiscal_profile_invalid" | "rate_limit_exceeded" | "internal_error" | "provider_unavailable" | "provider_rejected_request" | "taxpayer_directory_unavailable" | "fiscal_artifact_retrieval_unavailable" | "fiscal_delivery_unavailable" | "journey_marks_unavailable" | "contact_request_delivery_unavailable" | "unauthenticated" | "invalid_login" | "email_already_registered" | "organization_slug_taken" | "organization_not_found" | "hosted_tenant_conflict" | "insufficient_role" | "service_role_not_permitted" | "invalid_fiscal_identity" | "invalid_certificate_custody_signer_identity" | "custody_certificate_malformed" | "custody_certificate_not_yet_valid" | "custody_certificate_expired" | "custody_p12_work_limit_exceeded" | "custody_signature_algorithm_unsupported" | "custody_certificate_trust_profile_unsupported" | "custody_certificate_chain_untrusted" | "custody_certificate_purpose_unsupported" | "legal_issuer_already_registered" | "onboarding_legal_issuer_identity_conflict" | "legal_issuer_profile_incomplete" | "legal_issuer_not_found" | "invitation_invalid" | "invitation_expired" | "already_a_member" | "environment_not_active" | "certificate_custody_binding_not_found" | "certificate_custody_binding_conflict" | "certificate_custody_certificate_version_not_active" | "source_connection_not_found" | "source_connection_not_connected" | "source_provider_unavailable" | "source_provider_authorization_required" | "source_provider_installation_disabled" | "source_provider_installation_removed" | "source_provider_scope_insufficient" | "source_provider_target_access_removed" | "source_provider_throttled" | "source_provider_outcome_unknown" | "source_provider_authorization_not_found" | "source_provider_authorization_conflict" | "source_provider_installation_request_invalid" | "source_provider_installation_request_expired" | "source_provider_installation_callback_replayed" | "source_connection_creation_conflict" | "source_connection_activation_conflict" | "source_connection_activation_verification_rejected" | "delegated_authorization_verifier_forbidden" | "invalid_credential" | "credential_revoked" | "issuer_not_authorized" | "missing_idempotency_key" | "invalid_idempotency_key" | "request_too_large" | "request_body_timeout" | "malformed_json" | "invalid_request" | "invalid_collection_query" | "invalid_collection_cursor" | "document_type_not_enabled" | "fiscal_intent_rejected" | "idempotency_key_conflict" | "fiscal_number_already_used" | "fiscal_number_authorization_changed" | "fiscal_number_authorization_source_record_conflict" | "source_version_stale" | "source_predecessor_conflict" | "source_history_requires_reconciliation" | "source_content_conflict" | "source_action_conflict" | "source_command_conflict" | "invoice_reference_conflict" | "invoice_totals_mismatch" | "printed_representation_profile_conflict" | "source_record_already_fiscalized" | "source_operation_pending" | "source_outcome_unknown" | "authority_rejected_replacement" | "correction_target_unsettled" | "unsupported_printed_representation_profile" | "affected_fiscal_operation_unsupported" | "fiscal_issuance_blocked" | "fiscal_operation_not_found" | "invoice_not_found" | "fiscal_artifact_not_found" | "fiscal_artifact_unverified" | "fiscal_artifact_unavailable" | "invoice_receipt_not_found" | "invoice_receipt_not_ready" | "invoice_receipt_unavailable" | "fiscal_delivery_not_found" | "fiscal_delivery_outcome_conflict" | "webhook_endpoint_registration_conflict" | "invalid_replay_scope" | "webhook_destination_not_allowed" | "unsigned_document_schema_invalid" | "signed_document_schema_invalid" | "custody_unavailable" | "received_document_not_found" | "commercial_response_motive_invalid" | "commercial_response_decision_conflict" | "method_not_allowed";
157
+ code: "authorization_not_found" | "authorization_checkout_reference_invalid" | "authorization_reference_conflict" | "authorization_capture_conflict" | "authorization_capture_exceeds_hold" | "authorization_not_capturable" | "authorization_not_cancelable" | "authorization_not_editable" | "authorization_submission_invalid" | "authorization_authentication_pending" | "authorization_credentials_unavailable" | "authorization_dispatch_refused" | "authorization_hold_evidence_missing" | "provider_qualification_required" | "merchant_authentication_unavailable" | "platform_test_profile_unavailable" | "merchant_fiscal_binding_unavailable" | "merchant_fiscal_setup_unavailable" | "merchant_contact_email_confirmation_required" | "merchant_service_scope_required" | "merchant_business_address_required" | "merchant_business_contact_required" | "merchant_business_location_official_codes_required" | "merchant_business_details_invalid" | "merchant_current_payment_methods_required" | "merchant_current_sales_channels_required" | "merchant_existing_card_service_not_applicable" | "merchant_existing_card_service_other_provider_name_invalid" | "merchant_existing_card_service_other_provider_name_not_allowed" | "merchant_existing_card_service_other_provider_name_required" | "merchant_existing_card_service_providers_exclusive_choice" | "merchant_existing_card_service_providers_required" | "merchant_existing_card_service_required" | "merchant_location_catalog_changed" | "merchant_location_catalog_unavailable" | "merchant_location_selection_invalid" | "merchant_payment_methods_not_applicable" | "merchant_sales_channels_exclusive_choice" | "merchant_sales_channels_not_applicable" | "merchant_business_type_not_applicable" | "merchant_charge_timing_not_applicable" | "merchant_charge_timing_required" | "merchant_payment_methods_exclusive_choice" | "merchant_session_missing" | "merchant_guest_notice_acceptance_required" | "merchant_workspace_organization_required" | "merchant_onboarding_revision_conflict" | "merchant_checkout_policy_revision_conflict" | "merchant_business_already_claimed" | "merchant_business_attachment_conflict" | "merchant_business_identity_required" | "merchant_business_not_member" | "merchant_business_revision_conflict" | "merchant_business_capabilities_required" | "merchant_business_certification_path_unavailable" | "merchant_business_certification_requirements_unmet" | "merchant_business_certification_revision_conflict" | "merchant_business_certification_unavailable" | "merchant_business_certification_evidence_not_found" | "merchant_fiscal_setup_incomplete" | "merchant_payment_setup_assessment_incomplete" | "merchant_certificate_conflict" | "merchant_test_fiscal_document_blocked" | "merchant_dgii_assistance_not_applicable" | "merchant_dgii_assistance_notes_invalid" | "parameter_missing" | "parameter_invalid" | "provider_not_available" | "currency_not_supported" | "amount_below_minimum" | "amount_above_maximum" | "checkout_reference_invalid" | "checkout_reference_expired" | "fiscal_buyer_tax_id_invalid" | "fiscal_lines_required" | "payment_split_invalid" | "submission_token_invalid" | "submission_token_expired" | "request_body_malformed" | "collection_cursor_invalid" | "webhook_replay_scope_invalid" | "api_key_missing" | "api_key_invalid" | "checkout_token_invalid" | "checkout_token_expired" | "payer_session_missing" | "operation_not_permitted" | "invoice_delivery_not_permitted" | "journey_scope_mismatch" | "journey_report_timeout" | "merchant_fiscal_binding_conflict" | "live_mode_not_enabled" | "origin_not_allowed" | "payer_step_up_required" | "certificate_handoff_person_mismatch" | "route_not_found" | "api_key_not_found" | "payment_not_found" | "payment_reference_conflict" | "refund_reference_conflict" | "payment_reference_invalid" | "refund_reference_invalid" | "payment_tax_required" | "payment_tax_invalid" | "payment_items_invalid" | "payment_totals_mismatch" | "payment_invoice_item_fields_required" | "payments_contract_migration_required" | "merchant_payments_api_paused" | "refund_not_found" | "refund_invoice_not_ready" | "refund_invoice_not_accepted" | "refund_invoice_mismatch" | "refund_invoice_conflict" | "payment_part_not_found" | "payment_split_not_found" | "fiscal_document_not_found" | "merchant_account_not_found" | "merchant_account_card_capability_not_found" | "merchant_business_not_found" | "agent_client_not_found" | "connected_agent_not_found" | "certificate_handoff_not_found" | "webhook_endpoint_not_found" | "webhook_event_not_found" | "three_ds_not_found" | "payer_not_found" | "saved_card_not_found" | "payer_credential_not_found" | "payer_purchase_not_found" | "payer_fiscal_profile_not_found" | "idempotency_key_reused" | "idempotency_request_in_progress" | "idempotency_key_expired" | "api_key_retired" | "payment_method_already_in_progress" | "payment_not_payable" | "payment_awaiting_verification" | "payment_attempt_invalid" | "payment_attempt_mismatch" | "payment_attempt_stale" | "payment_method_mismatch" | "provider_response_invalid" | "checkout_window_closed" | "payment_not_editable" | "payment_cancel_not_allowed" | "payment_cancellation_pending" | "invoicing_locked" | "source_identity_conflict" | "refund_source_identity_conflict" | "refund_payment_not_captured" | "refund_exceeds_captured" | "refund_allocation_not_found" | "refund_allocation_conflict" | "refund_allocation_ledger_unavailable" | "fiscal_buyer_required" | "fiscal_artifact_not_ready" | "payment_invoice_not_ready" | "payment_invoice_not_allowed" | "invoice_reference_stale" | "fiscal_delivery_not_ready" | "payment_split_not_allowed" | "payment_split_exists" | "payment_split_locked" | "payment_split_not_capturable" | "payment_split_not_expired" | "payment_split_not_renewable" | "payment_split_complete" | "payment_split_part_required" | "payment_part_not_payable" | "webhook_endpoint_deleted" | "webhook_endpoint_suspended" | "three_ds_binding_mismatch" | "payer_enrollment_unavailable" | "payer_claim_unavailable" | "payer_claim_conflict" | "payer_claim_proof_invalid" | "payer_delivery_address_unavailable" | "payer_fiscal_profile_unavailable" | "certificate_handoff_used" | "receipt_retention_elapsed" | "certificate_handoff_expired" | "request_body_too_large" | "unsupported_media_type" | "merchant_account_not_ready" | "merchant_checkout_policy_invalid" | "merchant_account_provider_mismatch" | "merchant_account_identity_mismatch" | "merchant_profile_incomplete" | "payment_description_required" | "sale_amount_invalid" | "credential_storage_unavailable" | "provider_not_eligible" | "no_eligible_provider" | "currency_not_supported_by_provider" | "currency_not_supported_for_fiscal_document" | "fiscal_total_mismatch" | "fiscal_line_total_invalid" | "fiscal_line_legal_tip_invalid" | "fiscal_document_kind_not_allowed" | "fiscal_document_kind_unsupported" | "fiscal_government_eligibility_required" | "fiscal_government_eligibility_not_allowed" | "certificate_p12_password_invalid" | "certificate_pkcs12_invalid" | "certificate_expired" | "certificate_not_yet_valid" | "certificate_archive_not_supported" | "certificate_not_supported" | "taxpayer_unregistered" | "taxpayer_inactive" | "voluntary_tip_currency_mismatch" | "voluntary_tip_not_allowed_for_split" | "voluntary_tip_not_available" | "voluntary_tip_exceeds_maximum" | "refund_tip_amount_invalid" | "refund_tip_allocation_unknown" | "refund_amount_invalid" | "refund_tax_amount_invalid" | "refund_tax_amount_required" | "refund_tax_allocation_unknown" | "refund_currency_mismatch" | "payer_fiscal_profile_invalid" | "rate_limit_exceeded" | "internal_error" | "provider_unavailable" | "provider_rejected_request" | "taxpayer_directory_unavailable" | "fiscal_artifact_retrieval_unavailable" | "fiscal_delivery_unavailable" | "journey_marks_unavailable" | "contact_request_delivery_unavailable" | "unauthenticated" | "invalid_login" | "email_already_registered" | "organization_slug_taken" | "organization_not_found" | "hosted_tenant_conflict" | "insufficient_role" | "service_role_not_permitted" | "invalid_fiscal_identity" | "invalid_certificate_custody_signer_identity" | "custody_certificate_malformed" | "custody_certificate_not_yet_valid" | "custody_certificate_expired" | "custody_p12_work_limit_exceeded" | "custody_signature_algorithm_unsupported" | "custody_certificate_trust_profile_unsupported" | "custody_certificate_chain_untrusted" | "custody_certificate_purpose_unsupported" | "legal_issuer_already_registered" | "onboarding_legal_issuer_identity_conflict" | "legal_issuer_profile_incomplete" | "legal_issuer_not_found" | "invitation_invalid" | "invitation_expired" | "already_a_member" | "environment_not_active" | "certificate_custody_binding_not_found" | "certificate_custody_binding_conflict" | "certificate_custody_certificate_version_not_active" | "source_connection_not_found" | "source_connection_not_connected" | "source_provider_unavailable" | "source_provider_authorization_required" | "source_provider_installation_disabled" | "source_provider_installation_removed" | "source_provider_scope_insufficient" | "source_provider_target_access_removed" | "source_provider_throttled" | "source_provider_outcome_unknown" | "source_provider_authorization_not_found" | "source_provider_authorization_conflict" | "source_provider_installation_request_invalid" | "source_provider_installation_request_expired" | "source_provider_installation_callback_replayed" | "source_connection_creation_conflict" | "source_connection_activation_conflict" | "source_connection_activation_verification_rejected" | "delegated_authorization_verifier_forbidden" | "invalid_credential" | "credential_revoked" | "issuer_not_authorized" | "missing_idempotency_key" | "invalid_idempotency_key" | "request_too_large" | "request_body_timeout" | "malformed_json" | "invalid_request" | "certification_environment_required" | "certification_test_set_invalid" | "invalid_collection_query" | "invalid_collection_cursor" | "document_type_not_enabled" | "fiscal_intent_rejected" | "idempotency_key_conflict" | "fiscal_number_already_used" | "fiscal_number_authorization_changed" | "fiscal_number_authorization_source_record_conflict" | "source_version_stale" | "source_predecessor_conflict" | "source_history_requires_reconciliation" | "source_content_conflict" | "source_action_conflict" | "source_command_conflict" | "invoice_reference_conflict" | "invoice_totals_mismatch" | "printed_representation_profile_conflict" | "source_record_already_fiscalized" | "source_operation_pending" | "source_outcome_unknown" | "authority_rejected_replacement" | "correction_target_unsettled" | "unsupported_printed_representation_profile" | "affected_fiscal_operation_unsupported" | "fiscal_issuance_blocked" | "fiscal_operation_not_found" | "invoice_not_found" | "fiscal_artifact_not_found" | "fiscal_artifact_unverified" | "fiscal_artifact_unavailable" | "invoice_receipt_not_found" | "invoice_receipt_not_ready" | "invoice_receipt_unavailable" | "fiscal_delivery_not_found" | "fiscal_delivery_outcome_conflict" | "webhook_endpoint_registration_conflict" | "invalid_replay_scope" | "webhook_destination_not_allowed" | "unsigned_document_schema_invalid" | "signed_document_schema_invalid" | "custody_unavailable" | "received_document_not_found" | "commercial_response_motive_invalid" | "commercial_response_decision_conflict" | "method_not_allowed";
158
158
  detail?: string;
159
159
  /**
160
160
  * Present only when the rejected request produced a Fiscal operation.
@@ -214,6 +214,58 @@ export type MerchantBusinessCertificationEvidence = {
214
214
  reviewedAt?: string;
215
215
  reviewReference?: string;
216
216
  };
217
+ /**
218
+ * RetainedCertificationWorkbook
219
+ */
220
+ export type RetainedCertificationWorkbook = {
221
+ name: string;
222
+ sha256: string;
223
+ sizeBytes: number;
224
+ };
225
+ /**
226
+ * CertificationTestSetKind
227
+ */
228
+ export type CertificationTestSetKind = "ecf";
229
+ /**
230
+ * CertificationTestSetObject
231
+ */
232
+ export type CertificationTestSetObject = "certification_test_set";
233
+ /**
234
+ * CertificationTestSetReview
235
+ */
236
+ export type CertificationTestSetReview = {
237
+ requirements: Array<CertificationTestSetRequirement>;
238
+ status: "review_required";
239
+ worksheets: Array<CertificationWorksheetSummary>;
240
+ };
241
+ /**
242
+ * CertificationTestSetRequirement
243
+ */
244
+ export type CertificationTestSetRequirement = "case_mapping_pending";
245
+ /**
246
+ * CertificationWorksheetSummary
247
+ */
248
+ export type CertificationWorksheetSummary = {
249
+ caseCount: number;
250
+ name: CertificationWorksheetName;
251
+ };
252
+ /**
253
+ * CertificationWorksheetName
254
+ */
255
+ export type CertificationWorksheetName = "ECF" | "RFCE";
256
+ /**
257
+ * CertificationTestSetResource
258
+ */
259
+ export type CertificationTestSetResource = {
260
+ attemptReference: string;
261
+ createdAt: string;
262
+ file: RetainedCertificationWorkbook;
263
+ generation: string;
264
+ id: string;
265
+ kind: CertificationTestSetKind;
266
+ object: CertificationTestSetObject;
267
+ review: CertificationTestSetReview;
268
+ };
217
269
  export type RetrieveBusinessData = {
218
270
  body?: never;
219
271
  path?: never;
@@ -789,7 +841,7 @@ export type RetrieveMerchantBusinessCertificationResponses = {
789
841
  commercialApproval: string;
790
842
  } | null;
791
843
  requirements: Array<MerchantBusinessCertificationRequirement>;
792
- actions: Array<"report_evidence" | "import_certificate">;
844
+ actions: Array<"report_evidence" | "import_certificate" | "upload_test_set">;
793
845
  steps: [
794
846
  MerchantBusinessCertificationStep,
795
847
  MerchantBusinessCertificationStep,
@@ -946,7 +998,7 @@ export type StartMerchantBusinessCertificationResponses = {
946
998
  commercialApproval: string;
947
999
  } | null;
948
1000
  requirements: Array<MerchantBusinessCertificationRequirement>;
949
- actions: Array<"report_evidence" | "import_certificate">;
1001
+ actions: Array<"report_evidence" | "import_certificate" | "upload_test_set">;
950
1002
  steps: [
951
1003
  MerchantBusinessCertificationStep,
952
1004
  MerchantBusinessCertificationStep,
@@ -993,7 +1045,7 @@ export type StartMerchantBusinessCertificationResponses = {
993
1045
  commercialApproval: string;
994
1046
  } | null;
995
1047
  requirements: Array<MerchantBusinessCertificationRequirement>;
996
- actions: Array<"report_evidence" | "import_certificate">;
1048
+ actions: Array<"report_evidence" | "import_certificate" | "upload_test_set">;
997
1049
  steps: [
998
1050
  MerchantBusinessCertificationStep,
999
1051
  MerchantBusinessCertificationStep,
@@ -1143,7 +1195,7 @@ export type SubmitMerchantBusinessCertificationEvidenceResponses = {
1143
1195
  commercialApproval: string;
1144
1196
  } | null;
1145
1197
  requirements: Array<MerchantBusinessCertificationRequirement>;
1146
- actions: Array<"report_evidence" | "import_certificate">;
1198
+ actions: Array<"report_evidence" | "import_certificate" | "upload_test_set">;
1147
1199
  steps: [
1148
1200
  MerchantBusinessCertificationStep,
1149
1201
  MerchantBusinessCertificationStep,
@@ -1164,6 +1216,256 @@ export type SubmitMerchantBusinessCertificationEvidenceResponses = {
1164
1216
  };
1165
1217
  };
1166
1218
  export type SubmitMerchantBusinessCertificationEvidenceResponse = SubmitMerchantBusinessCertificationEvidenceResponses[keyof SubmitMerchantBusinessCertificationEvidenceResponses];
1219
+ export type UploadMerchantBusinessCertificationTestSetData = {
1220
+ /**
1221
+ * CertificationTestSetUploadRequest
1222
+ */
1223
+ body: {
1224
+ /**
1225
+ * CertificationWorkbookFile
1226
+ */
1227
+ file: {
1228
+ contentBase64: string;
1229
+ name: string;
1230
+ };
1231
+ /**
1232
+ * CertificationTestSetKind
1233
+ */
1234
+ kind: "ecf";
1235
+ };
1236
+ headers: {
1237
+ "idempotency-key": string;
1238
+ };
1239
+ path?: never;
1240
+ query?: never;
1241
+ url: "/v1/business/certification/test-sets";
1242
+ };
1243
+ export type UploadMerchantBusinessCertificationTestSetErrors = {
1244
+ /**
1245
+ * The request could not be understood.
1246
+ */
1247
+ 400: Problem & {
1248
+ status: 400;
1249
+ /**
1250
+ * Stable machine-readable code. Branch on this, never on `title`.
1251
+ */
1252
+ code: "parameter_invalid" | "parameter_missing" | "request_body_malformed";
1253
+ };
1254
+ /**
1255
+ * The credential is missing, malformed, or no longer valid.
1256
+ */
1257
+ 401: Problem & {
1258
+ status: 401;
1259
+ /**
1260
+ * Stable machine-readable code. Branch on this, never on `title`.
1261
+ */
1262
+ code: "api_key_missing" | "api_key_invalid" | "checkout_token_invalid" | "checkout_token_expired" | "merchant_session_missing";
1263
+ };
1264
+ /**
1265
+ * The credential is valid but not permitted to perform this operation.
1266
+ */
1267
+ 403: Problem & {
1268
+ status: 403;
1269
+ /**
1270
+ * Stable machine-readable code. Branch on this, never on `title`.
1271
+ */
1272
+ code: "operation_not_permitted";
1273
+ };
1274
+ /**
1275
+ * No endpoint serves this method and path, or no resource with this identifier exists within the caller's scope.
1276
+ */
1277
+ 404: Problem & {
1278
+ status: 404;
1279
+ /**
1280
+ * Stable machine-readable code. Branch on this, never on `title`.
1281
+ */
1282
+ code: "merchant_business_not_found";
1283
+ };
1284
+ /**
1285
+ * The request conflicts with the current state of the resource or with a previous request using the same Idempotency-Key.
1286
+ */
1287
+ 409: Problem & {
1288
+ status: 409;
1289
+ /**
1290
+ * Stable machine-readable code. Branch on this, never on `title`.
1291
+ */
1292
+ code: "merchant_business_certification_requirements_unmet" | "certification_environment_required" | "idempotency_key_conflict";
1293
+ };
1294
+ /**
1295
+ * The request body is larger than this endpoint accepts.
1296
+ */
1297
+ 413: Problem & {
1298
+ status: 413;
1299
+ /**
1300
+ * Stable machine-readable code. Branch on this, never on `title`.
1301
+ */
1302
+ code: "request_body_too_large" | "request_too_large";
1303
+ };
1304
+ /**
1305
+ * The request body carries a content type this endpoint does not accept.
1306
+ */
1307
+ 415: Problem & {
1308
+ status: 415;
1309
+ /**
1310
+ * Stable machine-readable code. Branch on this, never on `title`.
1311
+ */
1312
+ code: "unsupported_media_type";
1313
+ };
1314
+ /**
1315
+ * The request is well-formed but cannot be carried out.
1316
+ */
1317
+ 422: Problem & {
1318
+ status: 422;
1319
+ /**
1320
+ * Stable machine-readable code. Branch on this, never on `title`.
1321
+ */
1322
+ code: "certification_test_set_invalid";
1323
+ };
1324
+ /**
1325
+ * The request could not complete. Recover by the retained resource reference or retry with the same command identity.
1326
+ */
1327
+ 500: Problem & {
1328
+ status: 500;
1329
+ /**
1330
+ * Stable machine-readable code. Branch on this, never on `title`.
1331
+ */
1332
+ code: "internal_error";
1333
+ };
1334
+ /**
1335
+ * A required service is temporarily unavailable. Retry with the same reference or command identity.
1336
+ */
1337
+ 503: Problem & {
1338
+ status: 503;
1339
+ /**
1340
+ * Stable machine-readable code. Branch on this, never on `title`.
1341
+ */
1342
+ code: "merchant_business_certification_unavailable";
1343
+ };
1344
+ };
1345
+ export type UploadMerchantBusinessCertificationTestSetError = UploadMerchantBusinessCertificationTestSetErrors[keyof UploadMerchantBusinessCertificationTestSetErrors];
1346
+ export type UploadMerchantBusinessCertificationTestSetResponses = {
1347
+ /**
1348
+ * CertificationTestSetResource
1349
+ *
1350
+ * Default Response
1351
+ */
1352
+ 200: {
1353
+ attemptReference: string;
1354
+ createdAt: string;
1355
+ file: RetainedCertificationWorkbook;
1356
+ generation: string;
1357
+ id: string;
1358
+ kind: CertificationTestSetKind;
1359
+ object: CertificationTestSetObject;
1360
+ review: CertificationTestSetReview;
1361
+ };
1362
+ /**
1363
+ * CertificationTestSetResource
1364
+ *
1365
+ * Default Response
1366
+ */
1367
+ 201: {
1368
+ attemptReference: string;
1369
+ createdAt: string;
1370
+ file: RetainedCertificationWorkbook;
1371
+ generation: string;
1372
+ id: string;
1373
+ kind: CertificationTestSetKind;
1374
+ object: CertificationTestSetObject;
1375
+ review: CertificationTestSetReview;
1376
+ };
1377
+ };
1378
+ export type UploadMerchantBusinessCertificationTestSetResponse = UploadMerchantBusinessCertificationTestSetResponses[keyof UploadMerchantBusinessCertificationTestSetResponses];
1379
+ export type RetrieveMerchantBusinessCertificationTestSetData = {
1380
+ body?: never;
1381
+ path?: never;
1382
+ query?: never;
1383
+ url: "/v1/business/certification/test-sets/current";
1384
+ };
1385
+ export type RetrieveMerchantBusinessCertificationTestSetErrors = {
1386
+ /**
1387
+ * The request could not be understood.
1388
+ */
1389
+ 400: Problem & {
1390
+ status: 400;
1391
+ /**
1392
+ * Stable machine-readable code. Branch on this, never on `title`.
1393
+ */
1394
+ code: "parameter_invalid";
1395
+ };
1396
+ /**
1397
+ * The credential is missing, malformed, or no longer valid.
1398
+ */
1399
+ 401: Problem & {
1400
+ status: 401;
1401
+ /**
1402
+ * Stable machine-readable code. Branch on this, never on `title`.
1403
+ */
1404
+ code: "api_key_missing" | "api_key_invalid" | "checkout_token_invalid" | "checkout_token_expired" | "merchant_session_missing";
1405
+ };
1406
+ /**
1407
+ * The credential is valid but not permitted to perform this operation.
1408
+ */
1409
+ 403: Problem & {
1410
+ status: 403;
1411
+ /**
1412
+ * Stable machine-readable code. Branch on this, never on `title`.
1413
+ */
1414
+ code: "operation_not_permitted";
1415
+ };
1416
+ /**
1417
+ * No endpoint serves this method and path, or no resource with this identifier exists within the caller's scope.
1418
+ */
1419
+ 404: Problem & {
1420
+ status: 404;
1421
+ /**
1422
+ * Stable machine-readable code. Branch on this, never on `title`.
1423
+ */
1424
+ code: "merchant_business_not_found";
1425
+ };
1426
+ /**
1427
+ * The request conflicts with the current state of the resource or with a previous request using the same Idempotency-Key.
1428
+ */
1429
+ 409: Problem & {
1430
+ status: 409;
1431
+ /**
1432
+ * Stable machine-readable code. Branch on this, never on `title`.
1433
+ */
1434
+ code: "merchant_business_certification_requirements_unmet" | "certification_environment_required";
1435
+ };
1436
+ /**
1437
+ * The request could not complete. Recover by the retained resource reference or retry with the same command identity.
1438
+ */
1439
+ 500: Problem & {
1440
+ status: 500;
1441
+ /**
1442
+ * Stable machine-readable code. Branch on this, never on `title`.
1443
+ */
1444
+ code: "internal_error";
1445
+ };
1446
+ /**
1447
+ * A required service is temporarily unavailable. Retry with the same reference or command identity.
1448
+ */
1449
+ 503: Problem & {
1450
+ status: 503;
1451
+ /**
1452
+ * Stable machine-readable code. Branch on this, never on `title`.
1453
+ */
1454
+ code: "merchant_business_certification_unavailable";
1455
+ };
1456
+ };
1457
+ export type RetrieveMerchantBusinessCertificationTestSetError = RetrieveMerchantBusinessCertificationTestSetErrors[keyof RetrieveMerchantBusinessCertificationTestSetErrors];
1458
+ export type RetrieveMerchantBusinessCertificationTestSetResponses = {
1459
+ /**
1460
+ * CurrentCertificationTestSet
1461
+ *
1462
+ * Default Response
1463
+ */
1464
+ 200: {
1465
+ current: null | CertificationTestSetResource;
1466
+ };
1467
+ };
1468
+ export type RetrieveMerchantBusinessCertificationTestSetResponse = RetrieveMerchantBusinessCertificationTestSetResponses[keyof RetrieveMerchantBusinessCertificationTestSetResponses];
1167
1469
  export type ConfigureInvoicingData = {
1168
1470
  /**
1169
1471
  * MerchantBusinessConfigureInvoicingRequest
@@ -1548,7 +1850,7 @@ export type ImportSigningCertificateResponses = {
1548
1850
  commercialApproval: string;
1549
1851
  } | null;
1550
1852
  requirements: Array<MerchantBusinessCertificationRequirement>;
1551
- actions: Array<"report_evidence" | "import_certificate">;
1853
+ actions: Array<"report_evidence" | "import_certificate" | "upload_test_set">;
1552
1854
  steps: [
1553
1855
  MerchantBusinessCertificationStep,
1554
1856
  MerchantBusinessCertificationStep,