correios_gem 1.4.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/lib/SRO/client.rb +25 -0
- data/lib/SRO/helper.rb +118 -0
- data/lib/SRO/requests/track_shippings.rb +142 -0
- data/lib/SRO/requests/track_shippings_list.rb +144 -0
- data/lib/correios_exception.rb +11 -0
- data/lib/correios_gem.rb +186 -0
- data/lib/credentials.rb +27 -0
- data/lib/pricefier/client.rb +20 -0
- data/lib/pricefier/helper.rb +72 -0
- data/lib/pricefier/requests/calculate_deadline.rb +100 -0
- data/lib/pricefier/requests/calculate_deadline_with_date.rb +102 -0
- data/lib/pricefier/requests/calculate_deadline_with_restrictions.rb +102 -0
- data/lib/pricefier/requests/calculate_price.rb +123 -0
- data/lib/pricefier/requests/calculate_price_deadline.rb +138 -0
- data/lib/pricefier/requests/calculate_price_deadline_with_date.rb +142 -0
- data/lib/pricefier/requests/calculate_price_deadline_with_restrictions.rb +142 -0
- data/lib/pricefier/requests/calculate_price_fac.rb +106 -0
- data/lib/pricefier/requests/calculate_price_with_date.rb +125 -0
- data/lib/pricefier/requests/list_services.rb +87 -0
- data/lib/pricefier/requests/list_services_star.rb +87 -0
- data/lib/reverse_logistics/client.rb +34 -0
- data/lib/reverse_logistics/helper.rb +95 -0
- data/lib/reverse_logistics/requests/calculate_ticket_number_check_digit.rb +66 -0
- data/lib/reverse_logistics/requests/cancel_shipping.rb +70 -0
- data/lib/reverse_logistics/requests/create_shippings.rb +166 -0
- data/lib/reverse_logistics/requests/create_shippings_with_collection.rb +152 -0
- data/lib/reverse_logistics/requests/request_ticket_numbers.rb +90 -0
- data/lib/reverse_logistics/requests/track_shipping.rb +121 -0
- data/lib/reverse_logistics/requests/track_shippings_by_date.rb +133 -0
- data/lib/sigep/client.rb +29 -0
- data/lib/sigep/helper.rb +234 -0
- data/lib/sigep/requests/calculate_label_number_check_digit.rb +72 -0
- data/lib/sigep/requests/cancel_shipping.rb +72 -0
- data/lib/sigep/requests/check_card_status.rb +69 -0
- data/lib/sigep/requests/check_service_availability.rb +91 -0
- data/lib/sigep/requests/create_shippings.rb +70 -0
- data/lib/sigep/requests/request_label_numbers.rb +76 -0
- data/lib/sigep/requests/request_shippings_xml.rb +208 -0
- data/lib/sigep/requests/search_available_additional_services.rb +62 -0
- data/lib/sigep/requests/search_customer.rb +129 -0
- data/lib/sigep/requests/search_zip_code.rb +63 -0
- data/lib/sigep/requests/track_shippings.rb +145 -0
- metadata +145 -0
@@ -0,0 +1,152 @@
|
|
1
|
+
require 'savon'
|
2
|
+
require 'nokogiri'
|
3
|
+
|
4
|
+
require_relative '../client'
|
5
|
+
require_relative '../helper'
|
6
|
+
require_relative '../../correios_exception.rb'
|
7
|
+
|
8
|
+
module Correios
|
9
|
+
module ReverseLogistics
|
10
|
+
class CreateShippingsWithCollection < CorreiosException
|
11
|
+
HELPER = Helper.new
|
12
|
+
CLIENT = Client.new
|
13
|
+
|
14
|
+
def initialize(data = {})
|
15
|
+
@credentials = Correios.credentials
|
16
|
+
|
17
|
+
@show_request = data[:show_request]
|
18
|
+
@receiver = data[:receiver]
|
19
|
+
@service_code = data[:service_code]
|
20
|
+
@shippings = data[:shippings]
|
21
|
+
super()
|
22
|
+
end
|
23
|
+
|
24
|
+
def request
|
25
|
+
puts xml if @show_request == true
|
26
|
+
begin
|
27
|
+
format_response(CLIENT.client.call(:solicitar_postagem_simultanea,
|
28
|
+
soap_action: '',
|
29
|
+
xml: xml).to_hash)
|
30
|
+
rescue Savon::SOAPFault => error
|
31
|
+
generate_exception(error)
|
32
|
+
rescue Savon::HTTPError => error
|
33
|
+
if error.http.code == 401
|
34
|
+
generate_exception("Unauthorized (#{error.http.code}).")
|
35
|
+
end
|
36
|
+
generate_exception("Unknown HTTP error (#{error.http.code}).")
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
def xml
|
43
|
+
Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml|
|
44
|
+
xml['soap'].Envelope(HELPER.namespaces) do
|
45
|
+
xml['soap'].Body do
|
46
|
+
xml['ns1'].solicitarPostagemSimultanea do
|
47
|
+
parent_namespace = xml.parent.namespace
|
48
|
+
xml.parent.namespace = nil
|
49
|
+
|
50
|
+
xml.codAdministrativo @credentials.administrative_code
|
51
|
+
xml.cartao @credentials.card
|
52
|
+
xml.codigo_servico @service_code
|
53
|
+
xml.destinatario do
|
54
|
+
receiver_address = @receiver[:address]
|
55
|
+
xml.nome @receiver[:name]
|
56
|
+
xml.ddd @receiver[:phone][0, 2]
|
57
|
+
xml.telefone @receiver[:phone][2, @receiver[:phone].length - 1]
|
58
|
+
xml.email @receiver[:email]
|
59
|
+
xml.logradouro receiver_address[:street]
|
60
|
+
xml.numero receiver_address[:number]
|
61
|
+
xml.complemento receiver_address[:additional]
|
62
|
+
xml.bairro receiver_address[:neighborhood]
|
63
|
+
xml.cidade receiver_address[:city]
|
64
|
+
xml.uf receiver_address[:state]
|
65
|
+
xml.cep receiver_address[:zip_code]
|
66
|
+
xml.referencia
|
67
|
+
end
|
68
|
+
@shippings.each do |shipping|
|
69
|
+
goods = shipping[:goods] || []
|
70
|
+
objects = shipping[:objects] || [{}]
|
71
|
+
xml.coletas_solicitadas do
|
72
|
+
xml.tipo HELPER.shipping_type(shipping[:type])
|
73
|
+
xml.id_cliente shipping[:code]
|
74
|
+
xml.valor_declarado shipping[:declared_value]
|
75
|
+
xml.descricao shipping[:description]
|
76
|
+
xml.cklist shipping[:check_list]
|
77
|
+
xml.documento shipping[:document]
|
78
|
+
xml.obj shipping[:label_number]
|
79
|
+
xml.obs shipping[:note]
|
80
|
+
xml.remetente do
|
81
|
+
sender = shipping[:sender]
|
82
|
+
sender_address = shipping[:sender][:address]
|
83
|
+
xml.nome sender[:name]
|
84
|
+
xml.ddd sender[:phone][0, 2]
|
85
|
+
xml.telefone sender[:phone][2, sender[:phone].length - 1]
|
86
|
+
xml.ddd_celular sender[:cellphone][0, 2]
|
87
|
+
xml.celular sender[:cellphone][2, sender[:phone].length - 1]
|
88
|
+
xml.email sender[:email]
|
89
|
+
xml.sms HELPER.bool_to_string(sender[:send_sms])
|
90
|
+
xml.identificacao sender[:document]
|
91
|
+
xml.logradouro sender_address[:street]
|
92
|
+
xml.numero sender_address[:number]
|
93
|
+
xml.complemento sender_address[:additional]
|
94
|
+
xml.bairro sender_address[:neighborhood]
|
95
|
+
xml.referencia
|
96
|
+
xml.cidade sender_address[:city]
|
97
|
+
xml.uf sender_address[:state]
|
98
|
+
xml.cep sender_address[:zip_code]
|
99
|
+
end
|
100
|
+
goods.each do |good|
|
101
|
+
xml.produto do
|
102
|
+
xml.codigo good[:code]
|
103
|
+
xml.tipo good[:type]
|
104
|
+
xml.qtd good[:amount]
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
xml.parent.namespace = parent_namespace
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end.doc.root.to_xml
|
115
|
+
end
|
116
|
+
|
117
|
+
def format_response(response)
|
118
|
+
response = response[:solicitar_postagem_simultanea_response][:solicitar_postagem_simultanea]
|
119
|
+
generate_exception(response[:msg_erro]) if response[:cod_erro].to_i != 0
|
120
|
+
|
121
|
+
shippings = response[:resultado_solicitacao]
|
122
|
+
shippings = [shippings] if shippings.is_a?(Hash)
|
123
|
+
|
124
|
+
formatted_shippings = []
|
125
|
+
shippings.each do |shipping|
|
126
|
+
formatted_shippings << format_shipping(shipping)
|
127
|
+
end
|
128
|
+
|
129
|
+
{ shippings: formatted_shippings }
|
130
|
+
end
|
131
|
+
|
132
|
+
def format_shipping(shipping)
|
133
|
+
if shipping[:codigo_erro].to_i.zero?
|
134
|
+
{
|
135
|
+
type: HELPER.shipping_type_inverse(shipping[:tipo]),
|
136
|
+
code: shipping[:id_cliente],
|
137
|
+
ticket_number: shipping[:numero_coleta],
|
138
|
+
label_number: shipping[:numero_etiqueta],
|
139
|
+
object_id: shipping[:id_obj],
|
140
|
+
deadline: HELPER.convert_string_to_date(shipping[:prazo])
|
141
|
+
}
|
142
|
+
else
|
143
|
+
{
|
144
|
+
type: HELPER.shipping_type_inverse(shipping[:tipo]),
|
145
|
+
code: shipping[:id_cliente],
|
146
|
+
error: shipping[:descricao_erro]
|
147
|
+
}
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
require 'savon'
|
2
|
+
require 'nokogiri'
|
3
|
+
|
4
|
+
require_relative '../client'
|
5
|
+
require_relative '../helper'
|
6
|
+
require_relative '../../correios_exception.rb'
|
7
|
+
|
8
|
+
module Correios
|
9
|
+
module ReverseLogistics
|
10
|
+
class RequestTicketNumbers < CorreiosException
|
11
|
+
HELPER = Helper.new
|
12
|
+
CLIENT = Client.new
|
13
|
+
|
14
|
+
def initialize(data = {})
|
15
|
+
@credentials = Correios.credentials
|
16
|
+
|
17
|
+
@show_request = data[:show_request]
|
18
|
+
@ticket_type = data[:ticket_type]
|
19
|
+
@service = data[:service]
|
20
|
+
@amount = data[:amount]
|
21
|
+
super()
|
22
|
+
end
|
23
|
+
|
24
|
+
def request
|
25
|
+
puts xml if @show_request == true
|
26
|
+
begin
|
27
|
+
format_response(CLIENT.client.call(:solicitar_range,
|
28
|
+
soap_action: '',
|
29
|
+
xml: xml).to_hash)
|
30
|
+
rescue Savon::SOAPFault => error
|
31
|
+
generate_exception(error)
|
32
|
+
rescue Savon::HTTPError => error
|
33
|
+
if error.http.code == 401
|
34
|
+
generate_exception("Unauthorized (#{error.http.code}).")
|
35
|
+
end
|
36
|
+
generate_exception("Unknown HTTP error (#{error.http.code}).")
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
def xml
|
43
|
+
Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml|
|
44
|
+
xml['soap'].Envelope(HELPER.namespaces) do
|
45
|
+
xml['soap'].Body do
|
46
|
+
xml['ns1'].solicitarRange do
|
47
|
+
parent_namespace = xml.parent.namespace
|
48
|
+
xml.parent.namespace = nil
|
49
|
+
|
50
|
+
xml.codAdministrativo @credentials.administrative_code
|
51
|
+
xml.tipo HELPER.ticket_type(@ticket_type)
|
52
|
+
xml.servico service(@service)
|
53
|
+
xml.quantidade @amount
|
54
|
+
|
55
|
+
xml.parent.namespace = parent_namespace
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end.doc.root.to_xml
|
60
|
+
end
|
61
|
+
|
62
|
+
def format_response(response)
|
63
|
+
response = response[:solicitar_range_response][:solicitar_range]
|
64
|
+
generate_exception(response[:msg_erro]) if response[:cod_erro] != '0'
|
65
|
+
|
66
|
+
initial_number = response[:faixa_inicial].to_i
|
67
|
+
final_number = response[:faixa_final].to_i
|
68
|
+
|
69
|
+
ticket_numbers = []
|
70
|
+
while initial_number <= final_number do
|
71
|
+
ticket_numbers << initial_number.to_s
|
72
|
+
initial_number += 1
|
73
|
+
end
|
74
|
+
|
75
|
+
{ ticket_numbers: ticket_numbers }
|
76
|
+
end
|
77
|
+
|
78
|
+
def service(service)
|
79
|
+
case service
|
80
|
+
when :pac
|
81
|
+
'LR'
|
82
|
+
when :sedex
|
83
|
+
'LS'
|
84
|
+
when :e_sedex
|
85
|
+
'LV'
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,121 @@
|
|
1
|
+
require 'savon'
|
2
|
+
require 'nokogiri'
|
3
|
+
|
4
|
+
require_relative '../client'
|
5
|
+
require_relative '../helper'
|
6
|
+
require_relative '../../correios_exception.rb'
|
7
|
+
|
8
|
+
module Correios
|
9
|
+
module ReverseLogistics
|
10
|
+
class TrackShipping < CorreiosException
|
11
|
+
HELPER = Helper.new
|
12
|
+
CLIENT = Client.new
|
13
|
+
|
14
|
+
def initialize(data = {})
|
15
|
+
@credentials = Correios.credentials
|
16
|
+
|
17
|
+
@show_request = data[:show_request]
|
18
|
+
@ticket_number = data[:ticket_number]
|
19
|
+
@type = data[:type]
|
20
|
+
@result_type = data[:result_type]
|
21
|
+
super()
|
22
|
+
end
|
23
|
+
|
24
|
+
def request
|
25
|
+
puts xml if @show_request == true
|
26
|
+
begin
|
27
|
+
format_response(CLIENT.client.call(:acompanhar_pedido,
|
28
|
+
soap_action: '',
|
29
|
+
xml: xml).to_hash)
|
30
|
+
rescue Savon::SOAPFault => error
|
31
|
+
generate_exception(error)
|
32
|
+
rescue Savon::HTTPError => error
|
33
|
+
if error.http.code == 401
|
34
|
+
generate_exception("Unauthorized (#{error.http.code}).")
|
35
|
+
end
|
36
|
+
generate_exception("Unknown HTTP error (#{error.http.code}).")
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
def xml
|
43
|
+
Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml|
|
44
|
+
xml['soap'].Envelope(HELPER.namespaces) do
|
45
|
+
xml['soap'].Body do
|
46
|
+
xml['ns1'].acompanharPedido do
|
47
|
+
parent_namespace = xml.parent.namespace
|
48
|
+
xml.parent.namespace = nil
|
49
|
+
|
50
|
+
xml.codAdministrativo @credentials.administrative_code
|
51
|
+
xml.numeroPedido @ticket_number
|
52
|
+
xml.tipoSolicitacao HELPER.shipping_type(@type)
|
53
|
+
xml.tipoBusca HELPER.tracking_result_type(@result_type)
|
54
|
+
|
55
|
+
xml.parent.namespace = parent_namespace
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end.doc.root.to_xml
|
60
|
+
end
|
61
|
+
|
62
|
+
def format_response(response)
|
63
|
+
response = response[:acompanhar_pedido_response][:acompanhar_pedido]
|
64
|
+
generate_exception(response[:msg_erro]) if response[:cod_erro].to_i != 0
|
65
|
+
|
66
|
+
events = response[:coleta][:historico]
|
67
|
+
events = [events] if events.is_a?(Hash)
|
68
|
+
|
69
|
+
objects = response[:coleta][:objeto]
|
70
|
+
objects = [objects] if objects.is_a?(Hash)
|
71
|
+
|
72
|
+
formatted_events = []
|
73
|
+
events.each do |event|
|
74
|
+
formatted_events << format_event(event)
|
75
|
+
end
|
76
|
+
|
77
|
+
formatted_objects = []
|
78
|
+
objects.each do |object|
|
79
|
+
formatted_objects << format_object(object)
|
80
|
+
end
|
81
|
+
|
82
|
+
{
|
83
|
+
ticket_number: response[:coleta][:numero_pedido],
|
84
|
+
type: HELPER.shipping_type_inverse(
|
85
|
+
response[:tipo_solicitacao]
|
86
|
+
),
|
87
|
+
code: response[:coleta][:controle_cliente],
|
88
|
+
events: formatted_events,
|
89
|
+
objects: formatted_objects
|
90
|
+
}
|
91
|
+
end
|
92
|
+
|
93
|
+
def format_event(event)
|
94
|
+
{
|
95
|
+
status: event[:status],
|
96
|
+
description: event[:descricao_status],
|
97
|
+
time: HELPER.convert_string_to_date_time(
|
98
|
+
event[:data_atualizacao], event[:hora_atualizacao]
|
99
|
+
),
|
100
|
+
note: event[:observacao]
|
101
|
+
}
|
102
|
+
end
|
103
|
+
|
104
|
+
def format_object(object)
|
105
|
+
shipping_price = object[:valor_postagem] || 0
|
106
|
+
{
|
107
|
+
label_number: object[:numero_etiqueta],
|
108
|
+
id: object[:controle_objeto_cliente],
|
109
|
+
shipping_price: shipping_price.to_f,
|
110
|
+
last_event: {
|
111
|
+
status: object[:ultimo_status],
|
112
|
+
description: object[:descricao_status],
|
113
|
+
time: HELPER.convert_string_to_date_time(
|
114
|
+
object[:data_ultima_atualizacao], object[:hora_ultima_atualizacao]
|
115
|
+
)
|
116
|
+
}
|
117
|
+
}
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
@@ -0,0 +1,133 @@
|
|
1
|
+
require 'savon'
|
2
|
+
require 'nokogiri'
|
3
|
+
|
4
|
+
require_relative '../client'
|
5
|
+
require_relative '../helper'
|
6
|
+
require_relative '../../correios_exception.rb'
|
7
|
+
|
8
|
+
module Correios
|
9
|
+
module ReverseLogistics
|
10
|
+
class TrackShippingsByDate < CorreiosException
|
11
|
+
HELPER = Helper.new
|
12
|
+
CLIENT = Client.new
|
13
|
+
|
14
|
+
def initialize(data = {})
|
15
|
+
@credentials = Correios.credentials
|
16
|
+
|
17
|
+
@show_request = data[:show_request]
|
18
|
+
@type = data[:type]
|
19
|
+
@date = data[:date]
|
20
|
+
super()
|
21
|
+
end
|
22
|
+
|
23
|
+
def request
|
24
|
+
puts xml if @show_request == true
|
25
|
+
begin
|
26
|
+
format_response(CLIENT.client.call(:acompanhar_pedido_por_data,
|
27
|
+
soap_action: '',
|
28
|
+
xml: xml).to_hash)
|
29
|
+
rescue Savon::SOAPFault => error
|
30
|
+
generate_exception(error)
|
31
|
+
rescue Savon::HTTPError => error
|
32
|
+
if error.http.code == 401
|
33
|
+
generate_exception("Unauthorized (#{error.http.code}).")
|
34
|
+
end
|
35
|
+
generate_exception("Unknown HTTP error (#{error.http.code}).")
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
def xml
|
42
|
+
Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml|
|
43
|
+
xml['soap'].Envelope(HELPER.namespaces) do
|
44
|
+
xml['soap'].Body do
|
45
|
+
xml['ns1'].acompanharPedidoPorData do
|
46
|
+
parent_namespace = xml.parent.namespace
|
47
|
+
xml.parent.namespace = nil
|
48
|
+
|
49
|
+
xml.codAdministrativo @credentials.administrative_code
|
50
|
+
xml.tipoSolicitacao HELPER.shipping_type(@type)
|
51
|
+
xml.data HELPER.convert_date_to_string(@date)
|
52
|
+
|
53
|
+
xml.parent.namespace = parent_namespace
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end.doc.root.to_xml
|
58
|
+
end
|
59
|
+
|
60
|
+
def format_response(response)
|
61
|
+
response = response[:acompanhar_pedido_por_data_response][:acompanhar_pedido_por_data]
|
62
|
+
generate_exception(response[:msg_erro]) if response[:cod_erro].present?
|
63
|
+
|
64
|
+
shippings = response[:coleta]
|
65
|
+
shippings = [shippings] if shippings.is_a?(Hash)
|
66
|
+
|
67
|
+
formatted_shippings = []
|
68
|
+
shippings.each do |shipping|
|
69
|
+
formatted_shippings << format_shippping(shipping)
|
70
|
+
end
|
71
|
+
|
72
|
+
{
|
73
|
+
type: HELPER.shipping_type_inverse(
|
74
|
+
response[:tipo_solicitacao]
|
75
|
+
),
|
76
|
+
shippings: formatted_shippings
|
77
|
+
}
|
78
|
+
end
|
79
|
+
|
80
|
+
def format_shippping(shipping)
|
81
|
+
events = shipping[:historico]
|
82
|
+
events = [events] if events.is_a?(Hash)
|
83
|
+
|
84
|
+
objects = shipping[:objeto]
|
85
|
+
objects = [objects] if objects.is_a?(Hash)
|
86
|
+
|
87
|
+
formatted_events = []
|
88
|
+
events.each do |event|
|
89
|
+
formatted_events << format_event(event)
|
90
|
+
end
|
91
|
+
|
92
|
+
formatted_objects = []
|
93
|
+
objects.each do |object|
|
94
|
+
formatted_objects << format_object(object)
|
95
|
+
end
|
96
|
+
|
97
|
+
{
|
98
|
+
ticket_number: shipping[:numero_pedido],
|
99
|
+
code: shipping[:controle_cliente],
|
100
|
+
events: formatted_events,
|
101
|
+
objects: formatted_objects
|
102
|
+
}
|
103
|
+
end
|
104
|
+
|
105
|
+
def format_event(event)
|
106
|
+
{
|
107
|
+
status: event[:status],
|
108
|
+
description: event[:descricao_status],
|
109
|
+
time: HELPER.convert_string_to_date_time(
|
110
|
+
event[:data_atualizacao], event[:hora_atualizacao]
|
111
|
+
),
|
112
|
+
note: event[:observacao]
|
113
|
+
}
|
114
|
+
end
|
115
|
+
|
116
|
+
def format_object(object)
|
117
|
+
shipping_price = object[:valor_postagem] || 0
|
118
|
+
{
|
119
|
+
label_number: object[:numero_etiqueta],
|
120
|
+
id: object[:controle_objeto_cliente],
|
121
|
+
shipping_price: shipping_price.to_f,
|
122
|
+
last_event: {
|
123
|
+
status: object[:ultimo_status],
|
124
|
+
description: object[:descricao_status],
|
125
|
+
time: HELPER.convert_string_to_date_time(
|
126
|
+
object[:data_ultima_atualizacao], object[:hora_ultima_atualizacao]
|
127
|
+
)
|
128
|
+
}
|
129
|
+
}
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|