Generar Étiqueta con SEUR

Si en tu ecommerce necesitas generar las etiquetas del pedido con la empresa SEUR este código te puede ser de ayuda.

Comenzaremos con los datos de conexión que se necesita:

Estos datos los facilitará SEUR en el momento de contratar sus servicios.

//PRUEBAS
$usu = ‘wsecxxxxxx’;
$pass = ‘wsxxxxxx’;
$dni = ‘xxxxxxx’;
$ci = ‘xxxx’;
$ccc = ‘xxxxx’;

Indicamos la url donde dirigiremos la conexión, el tipo de conexión y el tipo de llamada que realizaremos:

//ENLACE AL WSDL

$wsdl = «http://cit.seur.com/CIT-war/services/ImprimirECBWebService?WSDL»;

$client = new SoapClient($wsdl); //CONEXION MEDIANTE SOAP AL WSDL
$tipoLlamada = ‘impresionIntegracionPDFConECBWS’;

Generamos en formato XML los datos de la llamada:

$xml = array(

//ARRAY DE DATOS QUE ENVIAMOS AL WSDL PARA GENERAR LA ETIQUETA
«in0» => $usu, //USUARIO DEL WSDL
«in1» => $pass, //CONTRASEÑA DEL WSDL
«in2″ => utf8_encode(‘<?xml version=»1.0″ encoding=»ISO-8859-1»?>
<root><exp><bulto>
<ci>’.$ci.'</ci>
<nif>’.$dni.'</nif>
<ccc>’.$ccc.'</ccc>
<servicio>1</servicio>
<producto>2</producto>
<total_bultos>1</total_bultos>
<total_kilos>1</total_kilos>
<pesoBulto>1</pesoBulto>
<observaciones></observaciones> <referencia_expedicion>REF-</referencia_expedicion>
<ref_bulto>REF-XXXXX</ref_bulto>
<clavePortes>F</clavePortes>
<clavePod></clavePod>
<claveReembolso>Indicaremos D queremos activar este servicio de lo contrario indicaremos F</claveReembolso>
<valorReembolso>0</valorReembolso>
<libroControl></libroControl>
<nombre_consignatario>Nombre del destinatario</nombre_consignatario>
<direccion_consignatario></direccion_consignatario>
<tipoVia_consignatario>CL</tipoVia_consignatario>
<tNumVia_consignatario>N</tNumVia_consignatario>
<numVia_consignatario>.</numVia_consignatario>
<escalera_consignatario>.</escalera_consignatario>
<piso_consignatario>.</piso_consignatario>
<puerta_consignatario>.</puerta_consignatario>
<poblacion_consignatario>.</poblacion_consignatario>
<codPostal_consignatario>.</codPostal_consignatario>
<pais_consignatario>ES</pais_consignatario>
<email_consignatario>.</email_consignatario>
<sms_consignatario>.</sms_consignatario>
<test_sms>S</test_sms>
<test_preaviso>S</test_preaviso>
<test_reparto>S</test_reparto>
<test_email>S</test_email>
<eci>N</eci>
<et>N</et>
<telefono_consignatario>.</telefono_consignatario>
<atencion_de></atencion_de>
</bulto></exp></root>’),
//XML CON LOS DATOS DEL PEDIDO
«in3» => «comunicacion.xml»,
«in4» => «».$dni.»»,
«in5» => «3»,
«in6» => «-1»,
«in7» => «INVOKER»);

Realizamos la llamada con el xml que hemos creado:

try {
//LLAMADA AL WSDL

$respuesta = $client->__soapCall($tipoLlamada, array($xml));


$estado = $respuesta->out->mensaje;
$numeroenvio = $respuesta->out->ECB->string;
$mensaje = $respuesta->out->refExped->string;
$traza = $respuesta->out->PDF;

//Si es correcto preparamos el mail de envio

if ($estado==»OK»)
{
//DEVOLVEMOS EL NOMBRE DEL ARCHIVO PDF CON LA RUTA
}
else
{
//INDICAMOS EL ERROR QUE NOS PROPORCIONA SEUR
}

$contenido = $contenido.»</table>»;
} catch (Exception $e) {

Controlamos si la llamada a generado algún error.

}

Con esto podemos utilizarlo en una función y automatizar la generación de las etiquetas en el momento que necesitemos.