Business-Shipping-MRW
view release on metacpan or search on metacpan
lib/Business/Shipping/MRW.pm view on Meta::CPAN
my $ret;
my $codes = {
'0005' => 'Urgente hoy',
'0010' => 'Promociones',
'0100' => 'Urgente 12',
'0110' => 'Urgente 14',
'0120' => 'Urgente 22',
'0200' => 'Urgente 19',
'0205' => 'Urgente 19 Expedicion',
'0210' => 'Urgente 19 Mas 40 Kilos',
'0220' => '48 Horas Portugal',
'0230' => 'Bag 19',
'0235' => 'Bag 14',
'0300' => 'Economico',
'0310' => 'Economico Mas 40 Kilos',
'0350' => 'Economico Interinsular',
'0400' => 'Express Documentos',
'0450' => 'Express 2 Kilos',
'0480' => 'Caja Express 3 Kilos',
'0490' => 'Documentos 14',
'0800' => 'Ecommerce',
'0810' => 'Ecommerce Canje',
};
map { $ret = $_ if $codes->{$_} eq $tipo } keys %{$codes};
unless ( $ret ) {
$self->Error("CodigoServicio no valido : $tipo , fijado 0200");
return '0200';
}
return $ret;
}
=head2
AuthInfo Header
=cut
sub AuthInfo {
my $self = shift;
my $str;
$str = '<soap:Header>
<mrw:AuthInfo>
<mrw:CodigoFranquicia>'.$self->{mrw}->{CodigoFranquicia}.'</mrw:CodigoFranquicia>
<mrw:CodigoAbonado>'.$self->{mrw}->{CodigoAbonado}.'</mrw:CodigoAbonado>
<mrw:CodigoDepartamento></mrw:CodigoDepartamento>
<mrw:UserName>'.$self->{mrw}->{UserName}.'</mrw:UserName>
<mrw:Password>'.$self->{mrw}->{Password}.'</mrw:Password>
</mrw:AuthInfo>
</soap:Header>';
return $str;
}
=head2
Metodo que se usa para la Transmision del envio
Hasta implementar WSDL real no esta chapuza usar GenMethods para regenerar struct
Opcional: 'DatosRecogida'
=cut
sub TransmEnvio {
my $self = shift;
my $Envio = shift;
$Envio = OpenJSON($Envio);
my $Fecha = strftime "%d/%m/%Y", localtime;
## TransmEnvioRequest
my $Req = {
'DatosEntrega' => {
'Telefono' => $Envio->{DatosEntrega}->{Telefono},
'Nif' => $Envio->{DatosEntrega}->{Nif},
'Nombre' => $Envio->{DatosEntrega}->{Nombre},
'Observaciones' => $Envio->{DatosEntrega}->{Observaciones},
'Contacto' => $Envio->{DatosEntrega}->{Contacto},
'ALaAtencionDe' => $Envio->{DatosEntrega}->{ALaAtencionDe},
'Direccion' => {
CodigoTipoVia => '',
Via => $Envio->{DatosEntrega}->{Direccion}->{Via},
Numero => $Envio->{DatosEntrega}->{Direccion}->{Numero},
Resto => '',
CodigoPostal => $Envio->{DatosEntrega}->{Direccion}->{CodigoPostal},
Poblacion => $Envio->{DatosEntrega}->{Direccion}->{Poblacion},
},
},
'DatosServicio' => {
'SeguroOpcional' => '',
'Notificaciones' => {
CanalNotificacion => $Envio->{DatosServicio}->{Notificaciones}->{CanalNotificacion},
TipoNotificacion => $Envio->{DatosServicio}->{Notificaciones}->{TipoNotificacion},
MailSMS => $Envio->{DatosServicio}->{Notificaciones}->{MailSMS},
},
'Frecuencia' => '',
'Entrega830' => 'N',
'ConfirmacionInmediata' => '',
'DescripcionServicio' => '',
'NumeroPuentes' => '',
'EntregaPartirDe' => '',
'Retorno' => 'N',
'Bultos' => $Envio->{DatosServicio}->{Bultos},
'TipoMercancia' => '',
'Reembolso' => $Envio->{DatosServicio}->{Reembolso},
'ImporteReembolso' => $Envio->{DatosServicio}->{ImporteReembolso},
'Fecha' => $Fecha,
'ValorEstadisticoEuros' => '',
'TramoHorario' => '',
'EntregaSabado' => $Envio->{DatosServicio}->{EntregaSabado},
'NumeroAlbaran' => '',
'Peso' => $Envio->{DatosServicio}->{Peso},
'NumeroBultos' => $Envio->{DatosServicio}->{NumeroBultos},
'CodigoPromocion' => '',
'Mascara_Campos' => '',
'Mascara_Tipos' => '',
'ValorDeclarado' => '',
'Referencia' => $Envio->{DatosServicio}->{Referencia},
'ServicioEspecial' => '',
'CodigoMoneda' => '',
'NumeroSobre' => '',
( run in 1.414 second using v1.01-cache-2.11-cpan-acf6aa7dc9e )