use warnings;
use HTTP::Tiny;
use MIME::Base64 ();
use Carp ();
use Scalar::Util ();
use JSON ();
$Carp::Internal{ 'Net::Correios' }++;
package Net::Correios;
our $VERSION = '0.002
default_headers => {
'Accept' => 'application/json',
'Content-Type' => 'application/json',
},
verify_SSL => 1,
timeout => $
b parse_response {
my ($self, $res) = @_;
if ($res->{success}) {
my $data = JSON::decode_json($res->{content});
return $data;
}
else {
my $error = $res->{status
use strict;
use warnings;
use Scalar::Util ();
use JSON ();
package Net::Correios::Manifestacao;
sub new {
my ($class, $parent) = @_;
Scalar::Util::weaken($parent);
return bless { parent
'POST',
'pedido-informacao/v1/externo/pedidos/cadastra',
{ content => JSON::encode_json($request_data) }
);
return $parent->parse_response($res);
}
sub _traduz_embalagem
use strict;
use warnings;
use Scalar::Util;
use JSON ();
package Net::Correios::Prazo;
sub new {
my ($class, $parent) = @_;
Scalar::Util::weaken($parent);
return bless { parent => $paren
equest(
'cartao',
'POST',
'prazo/v1/nacional',
{ content => JSON::encode_json($args) }
);
my $res = $parent->parse_response($raw);
foreach my $r (@$res) {
use strict;
use warnings;
use Scalar::Util ();
use JSON ();
package Net::Correios::Preco;
sub new {
my ($class, $parent) = @_;
Scalar::Util::weaken($parent);
return bless { parent => $pa
equest(
'cartao',
'POST',
'preco/v1/nacional',
{ content => JSON::encode_json($args) }
);
return $parent->parse_response($res);
}
sub _parse_nacional {
my
'cartao',
'POST',
'prepostagem/v1/prepostagens',
{ content => JSON::encode_json($request_data) }
);
return $parent->parse_response($res);
}
sub emitir_rotulo {
'POST',
'prepostagem/v1/prepostagens/rotulo/assincrono/pdf',
{ content => JSON::encode_json($request_data) }
);
return $parent->parse_response($res);
}
sub obter_rotulo_emit
use strict;
use warnings;
use Scalar::Util ();
use JSON ();
package Net::Correios::Token;
sub new {
my ($class, $parent) = @_;
Scalar::Util::weaken($parent);
return bless { parent => $p
nt = $self->{parent};
my $endpoint_url = $parent->{base_url} . 'token/v1/autentica';
my $json_body;
# TODO: precisamos entender quais endpoints funcionam com quais tokens.
# muito pro
;
$json_body = JSON::encode_json({ numero => $args{contrato} });
}
elsif ($args{cartao}) {
$endpoint_url .= '/cartaopostagem';
$json_body = JSON::encode_json({ numero =