trevol 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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +15 -0
- data/GENERADO.md +14 -0
- data/LICENSE +21 -0
- data/README.md +173 -0
- data/lib/trevol/client.rb +94 -0
- data/lib/trevol/errors.rb +152 -0
- data/lib/trevol/llave.rb +21 -0
- data/lib/trevol/paginacion.rb +41 -0
- data/lib/trevol/transporte.rb +173 -0
- data/lib/trevol/webhook.rb +100 -0
- data/lib/trevol.rb +18 -0
- data/lib/trevol_generado/api/balance_api.rb +220 -0
- data/lib/trevol_generado/api/credit_notes_api.rb +671 -0
- data/lib/trevol_generado/api/debit_notes_api.rb +671 -0
- data/lib/trevol_generado/api/equivalent_document_adjustments_api.rb +691 -0
- data/lib/trevol_generado/api/equivalent_documents_api.rb +698 -0
- data/lib/trevol_generado/api/events_api.rb +231 -0
- data/lib/trevol_generado/api/general_api.rb +201 -0
- data/lib/trevol_generado/api/invoices_api.rb +736 -0
- data/lib/trevol_generado/api/payroll_adjustments_api.rb +637 -0
- data/lib/trevol_generado/api/payrolls_api.rb +637 -0
- data/lib/trevol_generado/api/radian_events_api.rb +431 -0
- data/lib/trevol_generado/api/requests_api.rb +97 -0
- data/lib/trevol_generado/api/support_document_adjustments_api.rb +565 -0
- data/lib/trevol_generado/api/support_documents_api.rb +565 -0
- data/lib/trevol_generado/api/webhook_endpoints_api.rb +556 -0
- data/lib/trevol_generado/api_client.rb +441 -0
- data/lib/trevol_generado/api_error.rb +58 -0
- data/lib/trevol_generado/api_model_base.rb +88 -0
- data/lib/trevol_generado/configuration.rb +392 -0
- data/lib/trevol_generado/models/acquirer.rb +209 -0
- data/lib/trevol_generado/models/air_collection.rb +205 -0
- data/lib/trevol_generado/models/air_extension.rb +216 -0
- data/lib/trevol_generado/models/allowance_charge.rb +250 -0
- data/lib/trevol_generado/models/alternative_currency.rb +180 -0
- data/lib/trevol_generado/models/balance.rb +244 -0
- data/lib/trevol_generado/models/balance_event_data.rb +172 -0
- data/lib/trevol_generado/models/balance_transaction.rb +265 -0
- data/lib/trevol_generado/models/balance_transaction_company.rb +172 -0
- data/lib/trevol_generado/models/balance_transaction_document.rb +173 -0
- data/lib/trevol_generado/models/balance_transaction_list.rb +191 -0
- data/lib/trevol_generado/models/carrier.rb +219 -0
- data/lib/trevol_generado/models/certificate_event_data.rb +180 -0
- data/lib/trevol_generado/models/cinema_extension.rb +214 -0
- data/lib/trevol_generado/models/cinema_screening.rb +256 -0
- data/lib/trevol_generado/models/company.rb +267 -0
- data/lib/trevol_generado/models/company_key.rb +182 -0
- data/lib/trevol_generado/models/company_numbering.rb +201 -0
- data/lib/trevol_generado/models/consumption.rb +246 -0
- data/lib/trevol_generado/models/consumption_adjustment.rb +204 -0
- data/lib/trevol_generado/models/contingency.rb +160 -0
- data/lib/trevol_generado/models/credit_note_list.rb +191 -0
- data/lib/trevol_generado/models/currency.rb +241 -0
- data/lib/trevol_generado/models/customer.rb +360 -0
- data/lib/trevol_generado/models/debit_note_list.rb +191 -0
- data/lib/trevol_generado/models/deleted_object.rb +178 -0
- data/lib/trevol_generado/models/delivery.rb +200 -0
- data/lib/trevol_generado/models/delivery_email.rb +181 -0
- data/lib/trevol_generado/models/delivery_terms.rb +169 -0
- data/lib/trevol_generado/models/dian_result.rb +182 -0
- data/lib/trevol_generado/models/dian_rule.rb +216 -0
- data/lib/trevol_generado/models/document.rb +432 -0
- data/lib/trevol_generado/models/document_event_data.rb +315 -0
- data/lib/trevol_generado/models/document_reference.rb +169 -0
- data/lib/trevol_generado/models/document_totals.rb +299 -0
- data/lib/trevol_generado/models/document_totals_currency.rb +197 -0
- data/lib/trevol_generado/models/document_totals_item.rb +196 -0
- data/lib/trevol_generado/models/document_totals_tax.rb +197 -0
- data/lib/trevol_generado/models/document_totals_withholding.rb +206 -0
- data/lib/trevol_generado/models/equivalent_adjustment_item.rb +374 -0
- data/lib/trevol_generado/models/equivalent_document.rb +470 -0
- data/lib/trevol_generado/models/equivalent_document_adjustment.rb +440 -0
- data/lib/trevol_generado/models/equivalent_document_adjustment_input.rb +388 -0
- data/lib/trevol_generado/models/equivalent_document_adjustment_list.rb +191 -0
- data/lib/trevol_generado/models/equivalent_document_contingency.rb +181 -0
- data/lib/trevol_generado/models/equivalent_document_contingency_backup.rb +171 -0
- data/lib/trevol_generado/models/equivalent_document_event_data.rb +313 -0
- data/lib/trevol_generado/models/equivalent_document_input.rb +365 -0
- data/lib/trevol_generado/models/equivalent_document_list.rb +191 -0
- data/lib/trevol_generado/models/equivalent_document_reference.rb +241 -0
- data/lib/trevol_generado/models/equivalent_item.rb +387 -0
- data/lib/trevol_generado/models/event.rb +223 -0
- data/lib/trevol_generado/models/event_claim.rb +170 -0
- data/lib/trevol_generado/models/event_delivery.rb +178 -0
- data/lib/trevol_generado/models/event_delivery_email.rb +161 -0
- data/lib/trevol_generado/models/event_dian_result.rb +173 -0
- data/lib/trevol_generado/models/event_dian_rule.rb +170 -0
- data/lib/trevol_generado/models/event_document_error.rb +170 -0
- data/lib/trevol_generado/models/event_equivalent_document_ref.rb +161 -0
- data/lib/trevol_generado/models/event_error.rb +170 -0
- data/lib/trevol_generado/models/event_invoice_ref.rb +161 -0
- data/lib/trevol_generado/models/event_list.rb +191 -0
- data/lib/trevol_generado/models/event_payroll_ref.rb +160 -0
- data/lib/trevol_generado/models/event_radian_invoice_ref.rb +181 -0
- data/lib/trevol_generado/models/event_resend_input.rb +177 -0
- data/lib/trevol_generado/models/event_support_document_ref.rb +161 -0
- data/lib/trevol_generado/models/extension.rb +215 -0
- data/lib/trevol_generado/models/foreign_address.rb +218 -0
- data/lib/trevol_generado/models/free_of_charge.rb +170 -0
- data/lib/trevol_generado/models/game.rb +203 -0
- data/lib/trevol_generado/models/game_credit.rb +204 -0
- data/lib/trevol_generado/models/games_extension.rb +216 -0
- data/lib/trevol_generado/models/games_venue.rb +204 -0
- data/lib/trevol_generado/models/interoperability.rb +205 -0
- data/lib/trevol_generado/models/interoperability_collection.rb +171 -0
- data/lib/trevol_generado/models/interoperability_data.rb +186 -0
- data/lib/trevol_generado/models/invoice_input.rb +364 -0
- data/lib/trevol_generado/models/invoice_list.rb +191 -0
- data/lib/trevol_generado/models/invoice_reference.rb +198 -0
- data/lib/trevol_generado/models/item.rb +439 -0
- data/lib/trevol_generado/models/item_allowance.rb +190 -0
- data/lib/trevol_generado/models/item_consignment.rb +286 -0
- data/lib/trevol_generado/models/item_mandator.rb +231 -0
- data/lib/trevol_generado/models/item_notary.rb +204 -0
- data/lib/trevol_generado/models/item_property.rb +223 -0
- data/lib/trevol_generado/models/item_tax.rb +246 -0
- data/lib/trevol_generado/models/item_withholding.rb +214 -0
- data/lib/trevol_generado/models/meter.rb +233 -0
- data/lib/trevol_generado/models/note_input.rb +329 -0
- data/lib/trevol_generado/models/numbering.rb +178 -0
- data/lib/trevol_generado/models/numbering_expiring_event_data.rb +209 -0
- data/lib/trevol_generado/models/numbering_low_event_data.rb +209 -0
- data/lib/trevol_generado/models/origin_note.rb +230 -0
- data/lib/trevol_generado/models/payment.rb +232 -0
- data/lib/trevol_generado/models/payment_method.rb +187 -0
- data/lib/trevol_generado/models/payroll.rb +455 -0
- data/lib/trevol_generado/models/payroll_adjustment.rb +467 -0
- data/lib/trevol_generado/models/payroll_adjustment_input.rb +362 -0
- data/lib/trevol_generado/models/payroll_adjustment_list.rb +191 -0
- data/lib/trevol_generado/models/payroll_basic.rb +204 -0
- data/lib/trevol_generado/models/payroll_compensated_vacation.rb +204 -0
- data/lib/trevol_generado/models/payroll_compensation.rb +205 -0
- data/lib/trevol_generado/models/payroll_deductions.rb +370 -0
- data/lib/trevol_generado/models/payroll_disability.rb +249 -0
- data/lib/trevol_generado/models/payroll_earnings.rb +406 -0
- data/lib/trevol_generado/models/payroll_employee.rb +437 -0
- data/lib/trevol_generado/models/payroll_employer.rb +238 -0
- data/lib/trevol_generado/models/payroll_epctv_bonus.rb +191 -0
- data/lib/trevol_generado/models/payroll_event_data.rb +303 -0
- data/lib/trevol_generado/models/payroll_files.rb +179 -0
- data/lib/trevol_generado/models/payroll_input.rb +420 -0
- data/lib/trevol_generado/models/payroll_leaves.rb +184 -0
- data/lib/trevol_generado/models/payroll_list.rb +191 -0
- data/lib/trevol_generado/models/payroll_loan.rb +204 -0
- data/lib/trevol_generado/models/payroll_novelty.rb +177 -0
- data/lib/trevol_generado/models/payroll_other_concept.rb +197 -0
- data/lib/trevol_generado/models/payroll_overtime.rb +262 -0
- data/lib/trevol_generado/models/payroll_paid_period.rb +222 -0
- data/lib/trevol_generado/models/payroll_payment.rb +215 -0
- data/lib/trevol_generado/models/payroll_percent_amount.rb +205 -0
- data/lib/trevol_generado/models/payroll_period.rb +247 -0
- data/lib/trevol_generado/models/payroll_place.rb +179 -0
- data/lib/trevol_generado/models/payroll_reference.rb +188 -0
- data/lib/trevol_generado/models/payroll_salary_amounts.rb +171 -0
- data/lib/trevol_generado/models/payroll_sanction.rb +205 -0
- data/lib/trevol_generado/models/payroll_service_bonus.rb +214 -0
- data/lib/trevol_generado/models/payroll_severance.rb +232 -0
- data/lib/trevol_generado/models/payroll_solidarity_fund.rb +191 -0
- data/lib/trevol_generado/models/payroll_totals.rb +188 -0
- data/lib/trevol_generado/models/payroll_transport.rb +181 -0
- data/lib/trevol_generado/models/payroll_unpaid_period.rb +195 -0
- data/lib/trevol_generado/models/payroll_vacation.rb +173 -0
- data/lib/trevol_generado/models/payroll_workplace.rb +188 -0
- data/lib/trevol_generado/models/period.rb +169 -0
- data/lib/trevol_generado/models/physical_document.rb +179 -0
- data/lib/trevol_generado/models/pos.rb +186 -0
- data/lib/trevol_generado/models/pos_buyer.rb +181 -0
- data/lib/trevol_generado/models/pos_register.rb +269 -0
- data/lib/trevol_generado/models/prepayment.rb +248 -0
- data/lib/trevol_generado/models/preview.rb +195 -0
- data/lib/trevol_generado/models/problem.rb +329 -0
- data/lib/trevol_generado/models/problem_error.rb +178 -0
- data/lib/trevol_generado/models/public_services_extension.rb +385 -0
- data/lib/trevol_generado/models/radian_event.rb +359 -0
- data/lib/trevol_generado/models/radian_event_data.rb +289 -0
- data/lib/trevol_generado/models/radian_event_input.rb +284 -0
- data/lib/trevol_generado/models/radian_event_invoice.rb +208 -0
- data/lib/trevol_generado/models/radian_event_list.rb +191 -0
- data/lib/trevol_generado/models/received_invoice.rb +200 -0
- data/lib/trevol_generado/models/received_invoice_issuer.rb +190 -0
- data/lib/trevol_generado/models/references.rb +182 -0
- data/lib/trevol_generado/models/request_list.rb +191 -0
- data/lib/trevol_generado/models/request_log.rb +275 -0
- data/lib/trevol_generado/models/seller.rb +385 -0
- data/lib/trevol_generado/models/shipment.rb +178 -0
- data/lib/trevol_generado/models/show_event.rb +276 -0
- data/lib/trevol_generado/models/show_extension.rb +203 -0
- data/lib/trevol_generado/models/show_producer.rb +212 -0
- data/lib/trevol_generado/models/standard_code.rb +169 -0
- data/lib/trevol_generado/models/stock_exchange_extension.rb +320 -0
- data/lib/trevol_generado/models/stock_exchange_prices.rb +169 -0
- data/lib/trevol_generado/models/support_adjustment_item.rb +295 -0
- data/lib/trevol_generado/models/support_adjustment_reference.rb +188 -0
- data/lib/trevol_generado/models/support_currency.rb +231 -0
- data/lib/trevol_generado/models/support_document.rb +401 -0
- data/lib/trevol_generado/models/support_document_adjustment.rb +409 -0
- data/lib/trevol_generado/models/support_document_adjustment_input.rb +331 -0
- data/lib/trevol_generado/models/support_document_adjustment_list.rb +191 -0
- data/lib/trevol_generado/models/support_document_delivery.rb +199 -0
- data/lib/trevol_generado/models/support_document_event_data.rb +305 -0
- data/lib/trevol_generado/models/support_document_input.rb +331 -0
- data/lib/trevol_generado/models/support_document_list.rb +191 -0
- data/lib/trevol_generado/models/support_document_reference.rb +198 -0
- data/lib/trevol_generado/models/support_item.rb +317 -0
- data/lib/trevol_generado/models/support_item_charge.rb +180 -0
- data/lib/trevol_generado/models/support_item_tax.rb +197 -0
- data/lib/trevol_generado/models/support_item_withholding.rb +205 -0
- data/lib/trevol_generado/models/tacit_acceptance.rb +224 -0
- data/lib/trevol_generado/models/tacit_acceptance_rule.rb +226 -0
- data/lib/trevol_generado/models/test_event_data.rb +171 -0
- data/lib/trevol_generado/models/third_party_charge.rb +277 -0
- data/lib/trevol_generado/models/third_party_company.rb +203 -0
- data/lib/trevol_generado/models/top_up.rb +199 -0
- data/lib/trevol_generado/models/top_up_buyer.rb +352 -0
- data/lib/trevol_generado/models/top_up_input.rb +187 -0
- data/lib/trevol_generado/models/top_up_wompi.rb +209 -0
- data/lib/trevol_generado/models/transport_extension.rb +281 -0
- data/lib/trevol_generado/models/webhook_delivery.rb +267 -0
- data/lib/trevol_generado/models/webhook_delivery_attempt.rb +192 -0
- data/lib/trevol_generado/models/webhook_delivery_list.rb +191 -0
- data/lib/trevol_generado/models/webhook_endpoint.rb +317 -0
- data/lib/trevol_generado/models/webhook_endpoint_input.rb +229 -0
- data/lib/trevol_generado/models/webhook_endpoint_list.rb +191 -0
- data/lib/trevol_generado/models/webhook_endpoint_rotate_input.rb +160 -0
- data/lib/trevol_generado/models/webhook_endpoint_update.rb +227 -0
- data/lib/trevol_generado/models/withholding.rb +224 -0
- data/lib/trevol_generado/tablas.rb +243 -0
- data/lib/trevol_generado/version.rb +15 -0
- data/lib/trevol_generado.rb +251 -0
- metadata +386 -0
|
@@ -0,0 +1,698 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#API de Trevol
|
|
3
|
+
|
|
4
|
+
#Trevol API. Documentación: https://platform.trevol.si/docs
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 2026-10-22
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.26.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'cgi'
|
|
14
|
+
|
|
15
|
+
module TrevolGenerado
|
|
16
|
+
class EquivalentDocumentsApi
|
|
17
|
+
attr_accessor :api_client
|
|
18
|
+
|
|
19
|
+
def initialize(api_client = ApiClient.default)
|
|
20
|
+
@api_client = api_client
|
|
21
|
+
end
|
|
22
|
+
# Corregir un documento equivalente rechazado (mismo número) y reenviarlo
|
|
23
|
+
# Corrige un documento equivalente rechazado con el **mismo número** y lo vuelve a enviar. Con el set de pruebas en curso responde `409 invalid_state`. Solo si el documento está `rejected`, `error` o `pending`. Uno `accepted` no se corrige (se ajusta con una nota) y uno que la DIAN todavía verifica es `409 invalid_state`: espera el resultado. El `external_id` y la numeración no se cambian. Pide `Idempotency-Key`.
|
|
24
|
+
# @param id [String]
|
|
25
|
+
# @param equivalent_document_input [EquivalentDocumentInput]
|
|
26
|
+
# @param [Hash] opts the optional parameters
|
|
27
|
+
# @option opts [String] :idempotency_key Obligatoria: 1 a 255 caracteres ASCII visibles, única por pedido (7 días).
|
|
28
|
+
# @return [EquivalentDocument]
|
|
29
|
+
def correct_equivalent_document(id, equivalent_document_input, opts = {})
|
|
30
|
+
data, _status_code, _headers = correct_equivalent_document_with_http_info(id, equivalent_document_input, opts)
|
|
31
|
+
data
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Corregir un documento equivalente rechazado (mismo número) y reenviarlo
|
|
35
|
+
# Corrige un documento equivalente rechazado con el **mismo número** y lo vuelve a enviar. Con el set de pruebas en curso responde `409 invalid_state`. Solo si el documento está `rejected`, `error` o `pending`. Uno `accepted` no se corrige (se ajusta con una nota) y uno que la DIAN todavía verifica es `409 invalid_state`: espera el resultado. El `external_id` y la numeración no se cambian. Pide `Idempotency-Key`.
|
|
36
|
+
# @param id [String]
|
|
37
|
+
# @param equivalent_document_input [EquivalentDocumentInput]
|
|
38
|
+
# @param [Hash] opts the optional parameters
|
|
39
|
+
# @option opts [String] :idempotency_key Obligatoria: 1 a 255 caracteres ASCII visibles, única por pedido (7 días).
|
|
40
|
+
# @return [Array<(EquivalentDocument, Integer, Hash)>] EquivalentDocument data, response status code and response headers
|
|
41
|
+
def correct_equivalent_document_with_http_info(id, equivalent_document_input, opts = {})
|
|
42
|
+
if @api_client.config.debugging
|
|
43
|
+
@api_client.config.logger.debug 'Calling API: EquivalentDocumentsApi.correct_equivalent_document ...'
|
|
44
|
+
end
|
|
45
|
+
# verify the required parameter 'id' is set
|
|
46
|
+
if @api_client.config.client_side_validation && id.nil?
|
|
47
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling EquivalentDocumentsApi.correct_equivalent_document"
|
|
48
|
+
end
|
|
49
|
+
# verify the required parameter 'equivalent_document_input' is set
|
|
50
|
+
if @api_client.config.client_side_validation && equivalent_document_input.nil?
|
|
51
|
+
fail ArgumentError, "Missing the required parameter 'equivalent_document_input' when calling EquivalentDocumentsApi.correct_equivalent_document"
|
|
52
|
+
end
|
|
53
|
+
# resource path
|
|
54
|
+
local_var_path = '/equivalent_documents/{id}'.sub('{id}', CGI.escape(id.to_s))
|
|
55
|
+
|
|
56
|
+
# query parameters
|
|
57
|
+
query_params = opts[:query_params] || {}
|
|
58
|
+
|
|
59
|
+
# header parameters
|
|
60
|
+
header_params = opts[:header_params] || {}
|
|
61
|
+
# HTTP header 'Accept' (if needed)
|
|
62
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
|
|
63
|
+
# HTTP header 'Content-Type'
|
|
64
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
65
|
+
if !content_type.nil?
|
|
66
|
+
header_params['Content-Type'] = content_type
|
|
67
|
+
end
|
|
68
|
+
header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
|
|
69
|
+
|
|
70
|
+
# form parameters
|
|
71
|
+
form_params = opts[:form_params] || {}
|
|
72
|
+
|
|
73
|
+
# http body (model)
|
|
74
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(equivalent_document_input)
|
|
75
|
+
|
|
76
|
+
# return_type
|
|
77
|
+
return_type = opts[:debug_return_type] || 'EquivalentDocument'
|
|
78
|
+
|
|
79
|
+
# auth_names
|
|
80
|
+
auth_names = opts[:debug_auth_names] || ['llave']
|
|
81
|
+
|
|
82
|
+
new_options = opts.merge(
|
|
83
|
+
:operation => :"EquivalentDocumentsApi.correct_equivalent_document",
|
|
84
|
+
:header_params => header_params,
|
|
85
|
+
:query_params => query_params,
|
|
86
|
+
:form_params => form_params,
|
|
87
|
+
:body => post_body,
|
|
88
|
+
:auth_names => auth_names,
|
|
89
|
+
:return_type => return_type
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
|
|
93
|
+
if @api_client.config.debugging
|
|
94
|
+
@api_client.config.logger.debug "API called: EquivalentDocumentsApi#correct_equivalent_document\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
95
|
+
end
|
|
96
|
+
return data, status_code, headers
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
# Emitir un documento equivalente
|
|
100
|
+
# Genera un **documento equivalente electrónico**: el tiquete POS (20, por defecto) o cualquiera de los otros nueve tipos de la tabla 16.3 (`document_type`: 25 cine, 27 espectáculos, 30 juegos, 35 transporte, 40 peajes, 45 extracto, 50 tiquete aéreo, 55 bolsa de valores, 60 servicios públicos; cada uno con su información propia en `extension`). El POS lleva su caja en `pos.register` y, si la empresa tiene varias cajas, el prefijo de su resolución en `numbering.prefix`. Se expide como la factura: PDF, ZIP y correo después del 201 (espera `equivalent_document.delivered` o consulta `delivery.status`). La contingencia 07 (documento físico) se pide con `contingency`; la 08 (la DIAN no contestó) la decide Trevol y responde `202` con `status: contingency`. En habilitación, el set de pruebas por tipo es automático: mientras la DIAN lo valida responde `202 validating` en las dos versiones y reintentar no vuelve a mandarlo. Cómo se calcula el CUDE del POS depende del despliegue del servicio, no de la empresa. **Respuestas.** `201` la DIAN lo validó (`status: accepted`). `202` solo en la versión 2026-10-22: la DIAN no contestó (`processing`), otra petición lo está enviando (`sending`) o, en habilitación, el set de pruebas todavía lo valida (`validating`, en las dos versiones); trae `Location` y `Retry-After`, y el resultado llega por GET y por webhook: **no crees otro documento para la misma operación**. `422` `validation_error` (se revisó a fondo ANTES de reservar: no se gastó el número, y `errors[]` dice el campo), `dian_rejected` (con `document` y las reglas traducidas; corrige con `PUT` y el mismo número), `company_not_enabled` o `numbering_unavailable` (con `reason`). `402` `insufficient_balance` (producción sin saldo: queda `pending` con su número). `409` `external_id_in_use` o `duplicate_document` (con `existing_id`). `503` `dian_unavailable` en la 2026-10-21. Pide `Idempotency-Key`: repetir la misma devuelve lo mismo sin enviar nada.
|
|
101
|
+
# @param equivalent_document_input [EquivalentDocumentInput]
|
|
102
|
+
# @param [Hash] opts the optional parameters
|
|
103
|
+
# @option opts [String] :idempotency_key Obligatoria: 1 a 255 caracteres ASCII visibles, única por pedido (7 días).
|
|
104
|
+
# @return [EquivalentDocument]
|
|
105
|
+
def create_equivalent_document(equivalent_document_input, opts = {})
|
|
106
|
+
data, _status_code, _headers = create_equivalent_document_with_http_info(equivalent_document_input, opts)
|
|
107
|
+
data
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# Emitir un documento equivalente
|
|
111
|
+
# Genera un **documento equivalente electrónico**: el tiquete POS (20, por defecto) o cualquiera de los otros nueve tipos de la tabla 16.3 (`document_type`: 25 cine, 27 espectáculos, 30 juegos, 35 transporte, 40 peajes, 45 extracto, 50 tiquete aéreo, 55 bolsa de valores, 60 servicios públicos; cada uno con su información propia en `extension`). El POS lleva su caja en `pos.register` y, si la empresa tiene varias cajas, el prefijo de su resolución en `numbering.prefix`. Se expide como la factura: PDF, ZIP y correo después del 201 (espera `equivalent_document.delivered` o consulta `delivery.status`). La contingencia 07 (documento físico) se pide con `contingency`; la 08 (la DIAN no contestó) la decide Trevol y responde `202` con `status: contingency`. En habilitación, el set de pruebas por tipo es automático: mientras la DIAN lo valida responde `202 validating` en las dos versiones y reintentar no vuelve a mandarlo. Cómo se calcula el CUDE del POS depende del despliegue del servicio, no de la empresa. **Respuestas.** `201` la DIAN lo validó (`status: accepted`). `202` solo en la versión 2026-10-22: la DIAN no contestó (`processing`), otra petición lo está enviando (`sending`) o, en habilitación, el set de pruebas todavía lo valida (`validating`, en las dos versiones); trae `Location` y `Retry-After`, y el resultado llega por GET y por webhook: **no crees otro documento para la misma operación**. `422` `validation_error` (se revisó a fondo ANTES de reservar: no se gastó el número, y `errors[]` dice el campo), `dian_rejected` (con `document` y las reglas traducidas; corrige con `PUT` y el mismo número), `company_not_enabled` o `numbering_unavailable` (con `reason`). `402` `insufficient_balance` (producción sin saldo: queda `pending` con su número). `409` `external_id_in_use` o `duplicate_document` (con `existing_id`). `503` `dian_unavailable` en la 2026-10-21. Pide `Idempotency-Key`: repetir la misma devuelve lo mismo sin enviar nada.
|
|
112
|
+
# @param equivalent_document_input [EquivalentDocumentInput]
|
|
113
|
+
# @param [Hash] opts the optional parameters
|
|
114
|
+
# @option opts [String] :idempotency_key Obligatoria: 1 a 255 caracteres ASCII visibles, única por pedido (7 días).
|
|
115
|
+
# @return [Array<(EquivalentDocument, Integer, Hash)>] EquivalentDocument data, response status code and response headers
|
|
116
|
+
def create_equivalent_document_with_http_info(equivalent_document_input, opts = {})
|
|
117
|
+
if @api_client.config.debugging
|
|
118
|
+
@api_client.config.logger.debug 'Calling API: EquivalentDocumentsApi.create_equivalent_document ...'
|
|
119
|
+
end
|
|
120
|
+
# verify the required parameter 'equivalent_document_input' is set
|
|
121
|
+
if @api_client.config.client_side_validation && equivalent_document_input.nil?
|
|
122
|
+
fail ArgumentError, "Missing the required parameter 'equivalent_document_input' when calling EquivalentDocumentsApi.create_equivalent_document"
|
|
123
|
+
end
|
|
124
|
+
# resource path
|
|
125
|
+
local_var_path = '/equivalent_documents'
|
|
126
|
+
|
|
127
|
+
# query parameters
|
|
128
|
+
query_params = opts[:query_params] || {}
|
|
129
|
+
|
|
130
|
+
# header parameters
|
|
131
|
+
header_params = opts[:header_params] || {}
|
|
132
|
+
# HTTP header 'Accept' (if needed)
|
|
133
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
|
|
134
|
+
# HTTP header 'Content-Type'
|
|
135
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
136
|
+
if !content_type.nil?
|
|
137
|
+
header_params['Content-Type'] = content_type
|
|
138
|
+
end
|
|
139
|
+
header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
|
|
140
|
+
|
|
141
|
+
# form parameters
|
|
142
|
+
form_params = opts[:form_params] || {}
|
|
143
|
+
|
|
144
|
+
# http body (model)
|
|
145
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(equivalent_document_input)
|
|
146
|
+
|
|
147
|
+
# return_type
|
|
148
|
+
return_type = opts[:debug_return_type] || 'EquivalentDocument'
|
|
149
|
+
|
|
150
|
+
# auth_names
|
|
151
|
+
auth_names = opts[:debug_auth_names] || ['llave']
|
|
152
|
+
|
|
153
|
+
new_options = opts.merge(
|
|
154
|
+
:operation => :"EquivalentDocumentsApi.create_equivalent_document",
|
|
155
|
+
:header_params => header_params,
|
|
156
|
+
:query_params => query_params,
|
|
157
|
+
:form_params => form_params,
|
|
158
|
+
:body => post_body,
|
|
159
|
+
:auth_names => auth_names,
|
|
160
|
+
:return_type => return_type
|
|
161
|
+
)
|
|
162
|
+
|
|
163
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
164
|
+
if @api_client.config.debugging
|
|
165
|
+
@api_client.config.logger.debug "API called: EquivalentDocumentsApi#create_equivalent_document\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
166
|
+
end
|
|
167
|
+
return data, status_code, headers
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
# Archivo dian_response
|
|
171
|
+
# El `ApplicationResponse` con que la DIAN contestó (`application/xml`).
|
|
172
|
+
# @param id [String]
|
|
173
|
+
# @param [Hash] opts the optional parameters
|
|
174
|
+
# @return [File]
|
|
175
|
+
def download_equivalent_document_dian_response(id, opts = {})
|
|
176
|
+
data, _status_code, _headers = download_equivalent_document_dian_response_with_http_info(id, opts)
|
|
177
|
+
data
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
# Archivo dian_response
|
|
181
|
+
# El `ApplicationResponse` con que la DIAN contestó (`application/xml`).
|
|
182
|
+
# @param id [String]
|
|
183
|
+
# @param [Hash] opts the optional parameters
|
|
184
|
+
# @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
|
|
185
|
+
def download_equivalent_document_dian_response_with_http_info(id, opts = {})
|
|
186
|
+
if @api_client.config.debugging
|
|
187
|
+
@api_client.config.logger.debug 'Calling API: EquivalentDocumentsApi.download_equivalent_document_dian_response ...'
|
|
188
|
+
end
|
|
189
|
+
# verify the required parameter 'id' is set
|
|
190
|
+
if @api_client.config.client_side_validation && id.nil?
|
|
191
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling EquivalentDocumentsApi.download_equivalent_document_dian_response"
|
|
192
|
+
end
|
|
193
|
+
# resource path
|
|
194
|
+
local_var_path = '/equivalent_documents/{id}/dian_response'.sub('{id}', CGI.escape(id.to_s))
|
|
195
|
+
|
|
196
|
+
# query parameters
|
|
197
|
+
query_params = opts[:query_params] || {}
|
|
198
|
+
|
|
199
|
+
# header parameters
|
|
200
|
+
header_params = opts[:header_params] || {}
|
|
201
|
+
# HTTP header 'Accept' (if needed)
|
|
202
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/xml', 'application/problem+json']) unless header_params['Accept']
|
|
203
|
+
|
|
204
|
+
# form parameters
|
|
205
|
+
form_params = opts[:form_params] || {}
|
|
206
|
+
|
|
207
|
+
# http body (model)
|
|
208
|
+
post_body = opts[:debug_body]
|
|
209
|
+
|
|
210
|
+
# return_type
|
|
211
|
+
return_type = opts[:debug_return_type] || 'File'
|
|
212
|
+
|
|
213
|
+
# auth_names
|
|
214
|
+
auth_names = opts[:debug_auth_names] || ['llave']
|
|
215
|
+
|
|
216
|
+
new_options = opts.merge(
|
|
217
|
+
:operation => :"EquivalentDocumentsApi.download_equivalent_document_dian_response",
|
|
218
|
+
:header_params => header_params,
|
|
219
|
+
:query_params => query_params,
|
|
220
|
+
:form_params => form_params,
|
|
221
|
+
:body => post_body,
|
|
222
|
+
:auth_names => auth_names,
|
|
223
|
+
:return_type => return_type
|
|
224
|
+
)
|
|
225
|
+
|
|
226
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
227
|
+
if @api_client.config.debugging
|
|
228
|
+
@api_client.config.logger.debug "API called: EquivalentDocumentsApi#download_equivalent_document_dian_response\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
229
|
+
end
|
|
230
|
+
return data, status_code, headers
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
# Archivo pdf
|
|
234
|
+
# La representación gráfica (`application/pdf`). Si todavía no se hizo, se genera en el momento.
|
|
235
|
+
# @param id [String]
|
|
236
|
+
# @param [Hash] opts the optional parameters
|
|
237
|
+
# @return [File]
|
|
238
|
+
def download_equivalent_document_pdf(id, opts = {})
|
|
239
|
+
data, _status_code, _headers = download_equivalent_document_pdf_with_http_info(id, opts)
|
|
240
|
+
data
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
# Archivo pdf
|
|
244
|
+
# La representación gráfica (`application/pdf`). Si todavía no se hizo, se genera en el momento.
|
|
245
|
+
# @param id [String]
|
|
246
|
+
# @param [Hash] opts the optional parameters
|
|
247
|
+
# @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
|
|
248
|
+
def download_equivalent_document_pdf_with_http_info(id, opts = {})
|
|
249
|
+
if @api_client.config.debugging
|
|
250
|
+
@api_client.config.logger.debug 'Calling API: EquivalentDocumentsApi.download_equivalent_document_pdf ...'
|
|
251
|
+
end
|
|
252
|
+
# verify the required parameter 'id' is set
|
|
253
|
+
if @api_client.config.client_side_validation && id.nil?
|
|
254
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling EquivalentDocumentsApi.download_equivalent_document_pdf"
|
|
255
|
+
end
|
|
256
|
+
# resource path
|
|
257
|
+
local_var_path = '/equivalent_documents/{id}/pdf'.sub('{id}', CGI.escape(id.to_s))
|
|
258
|
+
|
|
259
|
+
# query parameters
|
|
260
|
+
query_params = opts[:query_params] || {}
|
|
261
|
+
|
|
262
|
+
# header parameters
|
|
263
|
+
header_params = opts[:header_params] || {}
|
|
264
|
+
# HTTP header 'Accept' (if needed)
|
|
265
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/pdf', 'application/problem+json']) unless header_params['Accept']
|
|
266
|
+
|
|
267
|
+
# form parameters
|
|
268
|
+
form_params = opts[:form_params] || {}
|
|
269
|
+
|
|
270
|
+
# http body (model)
|
|
271
|
+
post_body = opts[:debug_body]
|
|
272
|
+
|
|
273
|
+
# return_type
|
|
274
|
+
return_type = opts[:debug_return_type] || 'File'
|
|
275
|
+
|
|
276
|
+
# auth_names
|
|
277
|
+
auth_names = opts[:debug_auth_names] || ['llave']
|
|
278
|
+
|
|
279
|
+
new_options = opts.merge(
|
|
280
|
+
:operation => :"EquivalentDocumentsApi.download_equivalent_document_pdf",
|
|
281
|
+
:header_params => header_params,
|
|
282
|
+
:query_params => query_params,
|
|
283
|
+
:form_params => form_params,
|
|
284
|
+
:body => post_body,
|
|
285
|
+
:auth_names => auth_names,
|
|
286
|
+
:return_type => return_type
|
|
287
|
+
)
|
|
288
|
+
|
|
289
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
290
|
+
if @api_client.config.debugging
|
|
291
|
+
@api_client.config.logger.debug "API called: EquivalentDocumentsApi#download_equivalent_document_pdf\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
292
|
+
end
|
|
293
|
+
return data, status_code, headers
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
# Archivo xml
|
|
297
|
+
# El XML firmado que se mandó a la DIAN (`application/xml`).
|
|
298
|
+
# @param id [String]
|
|
299
|
+
# @param [Hash] opts the optional parameters
|
|
300
|
+
# @return [File]
|
|
301
|
+
def download_equivalent_document_xml(id, opts = {})
|
|
302
|
+
data, _status_code, _headers = download_equivalent_document_xml_with_http_info(id, opts)
|
|
303
|
+
data
|
|
304
|
+
end
|
|
305
|
+
|
|
306
|
+
# Archivo xml
|
|
307
|
+
# El XML firmado que se mandó a la DIAN (`application/xml`).
|
|
308
|
+
# @param id [String]
|
|
309
|
+
# @param [Hash] opts the optional parameters
|
|
310
|
+
# @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
|
|
311
|
+
def download_equivalent_document_xml_with_http_info(id, opts = {})
|
|
312
|
+
if @api_client.config.debugging
|
|
313
|
+
@api_client.config.logger.debug 'Calling API: EquivalentDocumentsApi.download_equivalent_document_xml ...'
|
|
314
|
+
end
|
|
315
|
+
# verify the required parameter 'id' is set
|
|
316
|
+
if @api_client.config.client_side_validation && id.nil?
|
|
317
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling EquivalentDocumentsApi.download_equivalent_document_xml"
|
|
318
|
+
end
|
|
319
|
+
# resource path
|
|
320
|
+
local_var_path = '/equivalent_documents/{id}/xml'.sub('{id}', CGI.escape(id.to_s))
|
|
321
|
+
|
|
322
|
+
# query parameters
|
|
323
|
+
query_params = opts[:query_params] || {}
|
|
324
|
+
|
|
325
|
+
# header parameters
|
|
326
|
+
header_params = opts[:header_params] || {}
|
|
327
|
+
# HTTP header 'Accept' (if needed)
|
|
328
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/xml', 'application/problem+json']) unless header_params['Accept']
|
|
329
|
+
|
|
330
|
+
# form parameters
|
|
331
|
+
form_params = opts[:form_params] || {}
|
|
332
|
+
|
|
333
|
+
# http body (model)
|
|
334
|
+
post_body = opts[:debug_body]
|
|
335
|
+
|
|
336
|
+
# return_type
|
|
337
|
+
return_type = opts[:debug_return_type] || 'File'
|
|
338
|
+
|
|
339
|
+
# auth_names
|
|
340
|
+
auth_names = opts[:debug_auth_names] || ['llave']
|
|
341
|
+
|
|
342
|
+
new_options = opts.merge(
|
|
343
|
+
:operation => :"EquivalentDocumentsApi.download_equivalent_document_xml",
|
|
344
|
+
:header_params => header_params,
|
|
345
|
+
:query_params => query_params,
|
|
346
|
+
:form_params => form_params,
|
|
347
|
+
:body => post_body,
|
|
348
|
+
:auth_names => auth_names,
|
|
349
|
+
:return_type => return_type
|
|
350
|
+
)
|
|
351
|
+
|
|
352
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
353
|
+
if @api_client.config.debugging
|
|
354
|
+
@api_client.config.logger.debug "API called: EquivalentDocumentsApi#download_equivalent_document_xml\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
355
|
+
end
|
|
356
|
+
return data, status_code, headers
|
|
357
|
+
end
|
|
358
|
+
|
|
359
|
+
# Archivo zip
|
|
360
|
+
# El ZIP de entrega con el XML firmado y el PDF (`application/zip`).
|
|
361
|
+
# @param id [String]
|
|
362
|
+
# @param [Hash] opts the optional parameters
|
|
363
|
+
# @return [File]
|
|
364
|
+
def download_equivalent_document_zip(id, opts = {})
|
|
365
|
+
data, _status_code, _headers = download_equivalent_document_zip_with_http_info(id, opts)
|
|
366
|
+
data
|
|
367
|
+
end
|
|
368
|
+
|
|
369
|
+
# Archivo zip
|
|
370
|
+
# El ZIP de entrega con el XML firmado y el PDF (`application/zip`).
|
|
371
|
+
# @param id [String]
|
|
372
|
+
# @param [Hash] opts the optional parameters
|
|
373
|
+
# @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
|
|
374
|
+
def download_equivalent_document_zip_with_http_info(id, opts = {})
|
|
375
|
+
if @api_client.config.debugging
|
|
376
|
+
@api_client.config.logger.debug 'Calling API: EquivalentDocumentsApi.download_equivalent_document_zip ...'
|
|
377
|
+
end
|
|
378
|
+
# verify the required parameter 'id' is set
|
|
379
|
+
if @api_client.config.client_side_validation && id.nil?
|
|
380
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling EquivalentDocumentsApi.download_equivalent_document_zip"
|
|
381
|
+
end
|
|
382
|
+
# resource path
|
|
383
|
+
local_var_path = '/equivalent_documents/{id}/zip'.sub('{id}', CGI.escape(id.to_s))
|
|
384
|
+
|
|
385
|
+
# query parameters
|
|
386
|
+
query_params = opts[:query_params] || {}
|
|
387
|
+
|
|
388
|
+
# header parameters
|
|
389
|
+
header_params = opts[:header_params] || {}
|
|
390
|
+
# HTTP header 'Accept' (if needed)
|
|
391
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/zip', 'application/problem+json']) unless header_params['Accept']
|
|
392
|
+
|
|
393
|
+
# form parameters
|
|
394
|
+
form_params = opts[:form_params] || {}
|
|
395
|
+
|
|
396
|
+
# http body (model)
|
|
397
|
+
post_body = opts[:debug_body]
|
|
398
|
+
|
|
399
|
+
# return_type
|
|
400
|
+
return_type = opts[:debug_return_type] || 'File'
|
|
401
|
+
|
|
402
|
+
# auth_names
|
|
403
|
+
auth_names = opts[:debug_auth_names] || ['llave']
|
|
404
|
+
|
|
405
|
+
new_options = opts.merge(
|
|
406
|
+
:operation => :"EquivalentDocumentsApi.download_equivalent_document_zip",
|
|
407
|
+
:header_params => header_params,
|
|
408
|
+
:query_params => query_params,
|
|
409
|
+
:form_params => form_params,
|
|
410
|
+
:body => post_body,
|
|
411
|
+
:auth_names => auth_names,
|
|
412
|
+
:return_type => return_type
|
|
413
|
+
)
|
|
414
|
+
|
|
415
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
416
|
+
if @api_client.config.debugging
|
|
417
|
+
@api_client.config.logger.debug "API called: EquivalentDocumentsApi#download_equivalent_document_zip\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
418
|
+
end
|
|
419
|
+
return data, status_code, headers
|
|
420
|
+
end
|
|
421
|
+
|
|
422
|
+
# Listar (documento equivalente)
|
|
423
|
+
# Paginación por cursor (`limit` hasta 100, `starting_after`) y filtros `status`, `external_id`, `created_from` y `created_to`. `status=error` trae también los que están en verificación (`processing`). Además, `document_type` filtra por tipo.
|
|
424
|
+
# @param [Hash] opts the optional parameters
|
|
425
|
+
# @option opts [Integer] :limit
|
|
426
|
+
# @option opts [String] :starting_after
|
|
427
|
+
# @option opts [String] :status
|
|
428
|
+
# @option opts [String] :external_id
|
|
429
|
+
# @option opts [String] :created_from
|
|
430
|
+
# @option opts [String] :created_to
|
|
431
|
+
# @option opts [String] :document_type
|
|
432
|
+
# @return [EquivalentDocumentList]
|
|
433
|
+
def list_equivalent_documents(opts = {})
|
|
434
|
+
data, _status_code, _headers = list_equivalent_documents_with_http_info(opts)
|
|
435
|
+
data
|
|
436
|
+
end
|
|
437
|
+
|
|
438
|
+
# Listar (documento equivalente)
|
|
439
|
+
# Paginación por cursor (`limit` hasta 100, `starting_after`) y filtros `status`, `external_id`, `created_from` y `created_to`. `status=error` trae también los que están en verificación (`processing`). Además, `document_type` filtra por tipo.
|
|
440
|
+
# @param [Hash] opts the optional parameters
|
|
441
|
+
# @option opts [Integer] :limit
|
|
442
|
+
# @option opts [String] :starting_after
|
|
443
|
+
# @option opts [String] :status
|
|
444
|
+
# @option opts [String] :external_id
|
|
445
|
+
# @option opts [String] :created_from
|
|
446
|
+
# @option opts [String] :created_to
|
|
447
|
+
# @option opts [String] :document_type
|
|
448
|
+
# @return [Array<(EquivalentDocumentList, Integer, Hash)>] EquivalentDocumentList data, response status code and response headers
|
|
449
|
+
def list_equivalent_documents_with_http_info(opts = {})
|
|
450
|
+
if @api_client.config.debugging
|
|
451
|
+
@api_client.config.logger.debug 'Calling API: EquivalentDocumentsApi.list_equivalent_documents ...'
|
|
452
|
+
end
|
|
453
|
+
allowable_values = ["20", "25", "27", "30", "35", "40", "45", "50", "55", "60", "unknown_default_open_api"]
|
|
454
|
+
if @api_client.config.client_side_validation && opts[:'document_type'] && !allowable_values.include?(opts[:'document_type'])
|
|
455
|
+
fail ArgumentError, "invalid value for \"document_type\", must be one of #{allowable_values}"
|
|
456
|
+
end
|
|
457
|
+
# resource path
|
|
458
|
+
local_var_path = '/equivalent_documents'
|
|
459
|
+
|
|
460
|
+
# query parameters
|
|
461
|
+
query_params = opts[:query_params] || {}
|
|
462
|
+
query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
|
|
463
|
+
query_params[:'starting_after'] = opts[:'starting_after'] if !opts[:'starting_after'].nil?
|
|
464
|
+
query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
|
|
465
|
+
query_params[:'external_id'] = opts[:'external_id'] if !opts[:'external_id'].nil?
|
|
466
|
+
query_params[:'created_from'] = opts[:'created_from'] if !opts[:'created_from'].nil?
|
|
467
|
+
query_params[:'created_to'] = opts[:'created_to'] if !opts[:'created_to'].nil?
|
|
468
|
+
query_params[:'document_type'] = opts[:'document_type'] if !opts[:'document_type'].nil?
|
|
469
|
+
|
|
470
|
+
# header parameters
|
|
471
|
+
header_params = opts[:header_params] || {}
|
|
472
|
+
# HTTP header 'Accept' (if needed)
|
|
473
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
|
|
474
|
+
|
|
475
|
+
# form parameters
|
|
476
|
+
form_params = opts[:form_params] || {}
|
|
477
|
+
|
|
478
|
+
# http body (model)
|
|
479
|
+
post_body = opts[:debug_body]
|
|
480
|
+
|
|
481
|
+
# return_type
|
|
482
|
+
return_type = opts[:debug_return_type] || 'EquivalentDocumentList'
|
|
483
|
+
|
|
484
|
+
# auth_names
|
|
485
|
+
auth_names = opts[:debug_auth_names] || ['llave']
|
|
486
|
+
|
|
487
|
+
new_options = opts.merge(
|
|
488
|
+
:operation => :"EquivalentDocumentsApi.list_equivalent_documents",
|
|
489
|
+
:header_params => header_params,
|
|
490
|
+
:query_params => query_params,
|
|
491
|
+
:form_params => form_params,
|
|
492
|
+
:body => post_body,
|
|
493
|
+
:auth_names => auth_names,
|
|
494
|
+
:return_type => return_type
|
|
495
|
+
)
|
|
496
|
+
|
|
497
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
498
|
+
if @api_client.config.debugging
|
|
499
|
+
@api_client.config.logger.debug "API called: EquivalentDocumentsApi#list_equivalent_documents\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
500
|
+
end
|
|
501
|
+
return data, status_code, headers
|
|
502
|
+
end
|
|
503
|
+
|
|
504
|
+
# Calcular un documento equivalente sin emitirlo
|
|
505
|
+
# Valida y calcula los totales **sin** reservar un número ni enviar nada. No pide `Idempotency-Key`.
|
|
506
|
+
# @param equivalent_document_input [EquivalentDocumentInput]
|
|
507
|
+
# @param [Hash] opts the optional parameters
|
|
508
|
+
# @return [Preview]
|
|
509
|
+
def preview_equivalent_document(equivalent_document_input, opts = {})
|
|
510
|
+
data, _status_code, _headers = preview_equivalent_document_with_http_info(equivalent_document_input, opts)
|
|
511
|
+
data
|
|
512
|
+
end
|
|
513
|
+
|
|
514
|
+
# Calcular un documento equivalente sin emitirlo
|
|
515
|
+
# Valida y calcula los totales **sin** reservar un número ni enviar nada. No pide `Idempotency-Key`.
|
|
516
|
+
# @param equivalent_document_input [EquivalentDocumentInput]
|
|
517
|
+
# @param [Hash] opts the optional parameters
|
|
518
|
+
# @return [Array<(Preview, Integer, Hash)>] Preview data, response status code and response headers
|
|
519
|
+
def preview_equivalent_document_with_http_info(equivalent_document_input, opts = {})
|
|
520
|
+
if @api_client.config.debugging
|
|
521
|
+
@api_client.config.logger.debug 'Calling API: EquivalentDocumentsApi.preview_equivalent_document ...'
|
|
522
|
+
end
|
|
523
|
+
# verify the required parameter 'equivalent_document_input' is set
|
|
524
|
+
if @api_client.config.client_side_validation && equivalent_document_input.nil?
|
|
525
|
+
fail ArgumentError, "Missing the required parameter 'equivalent_document_input' when calling EquivalentDocumentsApi.preview_equivalent_document"
|
|
526
|
+
end
|
|
527
|
+
# resource path
|
|
528
|
+
local_var_path = '/equivalent_documents/preview'
|
|
529
|
+
|
|
530
|
+
# query parameters
|
|
531
|
+
query_params = opts[:query_params] || {}
|
|
532
|
+
|
|
533
|
+
# header parameters
|
|
534
|
+
header_params = opts[:header_params] || {}
|
|
535
|
+
# HTTP header 'Accept' (if needed)
|
|
536
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
|
|
537
|
+
# HTTP header 'Content-Type'
|
|
538
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
539
|
+
if !content_type.nil?
|
|
540
|
+
header_params['Content-Type'] = content_type
|
|
541
|
+
end
|
|
542
|
+
|
|
543
|
+
# form parameters
|
|
544
|
+
form_params = opts[:form_params] || {}
|
|
545
|
+
|
|
546
|
+
# http body (model)
|
|
547
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(equivalent_document_input)
|
|
548
|
+
|
|
549
|
+
# return_type
|
|
550
|
+
return_type = opts[:debug_return_type] || 'Preview'
|
|
551
|
+
|
|
552
|
+
# auth_names
|
|
553
|
+
auth_names = opts[:debug_auth_names] || ['llave']
|
|
554
|
+
|
|
555
|
+
new_options = opts.merge(
|
|
556
|
+
:operation => :"EquivalentDocumentsApi.preview_equivalent_document",
|
|
557
|
+
:header_params => header_params,
|
|
558
|
+
:query_params => query_params,
|
|
559
|
+
:form_params => form_params,
|
|
560
|
+
:body => post_body,
|
|
561
|
+
:auth_names => auth_names,
|
|
562
|
+
:return_type => return_type
|
|
563
|
+
)
|
|
564
|
+
|
|
565
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
566
|
+
if @api_client.config.debugging
|
|
567
|
+
@api_client.config.logger.debug "API called: EquivalentDocumentsApi#preview_equivalent_document\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
568
|
+
end
|
|
569
|
+
return data, status_code, headers
|
|
570
|
+
end
|
|
571
|
+
|
|
572
|
+
# Un documento equivalente
|
|
573
|
+
# El documento equivalente tal como se emitió. `contingency` dice si salió en contingencia (07 u 08) y, en la 08, cuándo se mandó el respaldo POS.
|
|
574
|
+
# @param id [String]
|
|
575
|
+
# @param [Hash] opts the optional parameters
|
|
576
|
+
# @return [EquivalentDocument]
|
|
577
|
+
def retrieve_equivalent_document(id, opts = {})
|
|
578
|
+
data, _status_code, _headers = retrieve_equivalent_document_with_http_info(id, opts)
|
|
579
|
+
data
|
|
580
|
+
end
|
|
581
|
+
|
|
582
|
+
# Un documento equivalente
|
|
583
|
+
# El documento equivalente tal como se emitió. `contingency` dice si salió en contingencia (07 u 08) y, en la 08, cuándo se mandó el respaldo POS.
|
|
584
|
+
# @param id [String]
|
|
585
|
+
# @param [Hash] opts the optional parameters
|
|
586
|
+
# @return [Array<(EquivalentDocument, Integer, Hash)>] EquivalentDocument data, response status code and response headers
|
|
587
|
+
def retrieve_equivalent_document_with_http_info(id, opts = {})
|
|
588
|
+
if @api_client.config.debugging
|
|
589
|
+
@api_client.config.logger.debug 'Calling API: EquivalentDocumentsApi.retrieve_equivalent_document ...'
|
|
590
|
+
end
|
|
591
|
+
# verify the required parameter 'id' is set
|
|
592
|
+
if @api_client.config.client_side_validation && id.nil?
|
|
593
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling EquivalentDocumentsApi.retrieve_equivalent_document"
|
|
594
|
+
end
|
|
595
|
+
# resource path
|
|
596
|
+
local_var_path = '/equivalent_documents/{id}'.sub('{id}', CGI.escape(id.to_s))
|
|
597
|
+
|
|
598
|
+
# query parameters
|
|
599
|
+
query_params = opts[:query_params] || {}
|
|
600
|
+
|
|
601
|
+
# header parameters
|
|
602
|
+
header_params = opts[:header_params] || {}
|
|
603
|
+
# HTTP header 'Accept' (if needed)
|
|
604
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
|
|
605
|
+
|
|
606
|
+
# form parameters
|
|
607
|
+
form_params = opts[:form_params] || {}
|
|
608
|
+
|
|
609
|
+
# http body (model)
|
|
610
|
+
post_body = opts[:debug_body]
|
|
611
|
+
|
|
612
|
+
# return_type
|
|
613
|
+
return_type = opts[:debug_return_type] || 'EquivalentDocument'
|
|
614
|
+
|
|
615
|
+
# auth_names
|
|
616
|
+
auth_names = opts[:debug_auth_names] || ['llave']
|
|
617
|
+
|
|
618
|
+
new_options = opts.merge(
|
|
619
|
+
:operation => :"EquivalentDocumentsApi.retrieve_equivalent_document",
|
|
620
|
+
:header_params => header_params,
|
|
621
|
+
:query_params => query_params,
|
|
622
|
+
:form_params => form_params,
|
|
623
|
+
:body => post_body,
|
|
624
|
+
:auth_names => auth_names,
|
|
625
|
+
:return_type => return_type
|
|
626
|
+
)
|
|
627
|
+
|
|
628
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
629
|
+
if @api_client.config.debugging
|
|
630
|
+
@api_client.config.logger.debug "API called: EquivalentDocumentsApi#retrieve_equivalent_document\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
631
|
+
end
|
|
632
|
+
return data, status_code, headers
|
|
633
|
+
end
|
|
634
|
+
|
|
635
|
+
# Reenviar una pendiente o en error
|
|
636
|
+
# Vuelve a enviar un documento equivalente `pending` o `error`. En contingencia devuelve el documento (lo reenvía Trevol). Con el set de pruebas en curso (`validating`) solo consulta: no lo vuelve a mandar. Sin cuerpo. Con un documento `accepted` responde `200` con el documento tal cual; con uno que la DIAN todavía verifica no reenvía nada (`202`); con uno `rejected` es `409 invalid_state` (se corrige con `PUT`). No pide `Idempotency-Key` (reintentarlo es seguro).
|
|
637
|
+
# @param id [String]
|
|
638
|
+
# @param [Hash] opts the optional parameters
|
|
639
|
+
# @return [EquivalentDocument]
|
|
640
|
+
def send_equivalent_document(id, opts = {})
|
|
641
|
+
data, _status_code, _headers = send_equivalent_document_with_http_info(id, opts)
|
|
642
|
+
data
|
|
643
|
+
end
|
|
644
|
+
|
|
645
|
+
# Reenviar una pendiente o en error
|
|
646
|
+
# Vuelve a enviar un documento equivalente `pending` o `error`. En contingencia devuelve el documento (lo reenvía Trevol). Con el set de pruebas en curso (`validating`) solo consulta: no lo vuelve a mandar. Sin cuerpo. Con un documento `accepted` responde `200` con el documento tal cual; con uno que la DIAN todavía verifica no reenvía nada (`202`); con uno `rejected` es `409 invalid_state` (se corrige con `PUT`). No pide `Idempotency-Key` (reintentarlo es seguro).
|
|
647
|
+
# @param id [String]
|
|
648
|
+
# @param [Hash] opts the optional parameters
|
|
649
|
+
# @return [Array<(EquivalentDocument, Integer, Hash)>] EquivalentDocument data, response status code and response headers
|
|
650
|
+
def send_equivalent_document_with_http_info(id, opts = {})
|
|
651
|
+
if @api_client.config.debugging
|
|
652
|
+
@api_client.config.logger.debug 'Calling API: EquivalentDocumentsApi.send_equivalent_document ...'
|
|
653
|
+
end
|
|
654
|
+
# verify the required parameter 'id' is set
|
|
655
|
+
if @api_client.config.client_side_validation && id.nil?
|
|
656
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling EquivalentDocumentsApi.send_equivalent_document"
|
|
657
|
+
end
|
|
658
|
+
# resource path
|
|
659
|
+
local_var_path = '/equivalent_documents/{id}/send'.sub('{id}', CGI.escape(id.to_s))
|
|
660
|
+
|
|
661
|
+
# query parameters
|
|
662
|
+
query_params = opts[:query_params] || {}
|
|
663
|
+
|
|
664
|
+
# header parameters
|
|
665
|
+
header_params = opts[:header_params] || {}
|
|
666
|
+
# HTTP header 'Accept' (if needed)
|
|
667
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
|
|
668
|
+
|
|
669
|
+
# form parameters
|
|
670
|
+
form_params = opts[:form_params] || {}
|
|
671
|
+
|
|
672
|
+
# http body (model)
|
|
673
|
+
post_body = opts[:debug_body]
|
|
674
|
+
|
|
675
|
+
# return_type
|
|
676
|
+
return_type = opts[:debug_return_type] || 'EquivalentDocument'
|
|
677
|
+
|
|
678
|
+
# auth_names
|
|
679
|
+
auth_names = opts[:debug_auth_names] || ['llave']
|
|
680
|
+
|
|
681
|
+
new_options = opts.merge(
|
|
682
|
+
:operation => :"EquivalentDocumentsApi.send_equivalent_document",
|
|
683
|
+
:header_params => header_params,
|
|
684
|
+
:query_params => query_params,
|
|
685
|
+
:form_params => form_params,
|
|
686
|
+
:body => post_body,
|
|
687
|
+
:auth_names => auth_names,
|
|
688
|
+
:return_type => return_type
|
|
689
|
+
)
|
|
690
|
+
|
|
691
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
692
|
+
if @api_client.config.debugging
|
|
693
|
+
@api_client.config.logger.debug "API called: EquivalentDocumentsApi#send_equivalent_document\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
694
|
+
end
|
|
695
|
+
return data, status_code, headers
|
|
696
|
+
end
|
|
697
|
+
end
|
|
698
|
+
end
|