REST Post PHP - mjungjohann/Ingefactura GitHub Wiki
Seguridad
Para poder comunicarse con el web service es necesario el uso de un token, el cual estará en la cabecera de la petición.El token lo debe solicitar a nuestro equipo de Ingefactura ([email protected]).
Enviar una request
Las peticiones son HTTPS Rest. El web service al ser de tipo Rest debe indicar el método que se utilizará. En nuestro caso se utilizara un metodo POST, para enviar un archivo y recibir la respuesta del web service.
<?php
//tipo de archivo que se va a enviar
$tipo = "xml";
//rut de la empresa
$rut = "11111111-1";
//url del web service
$url='https://develop.ingefactura.cl/wsRest/web/com/dte';
//token de acceso (Se debe pedir a soporte de ingefactura)
$token='xxxxxxxxxxxxxxxxxxxxxx';
// se toma la ruta del archivo
$file_name = realpath('ruta del archivo');
$fichero = file_get_contents($file_name);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fichero);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $token ,
'Content-Type: application/xml' ,
'rut: ' .$rut ,
'tipo:'.$tipo));
//se ejecuta y trae respuesta
$response = curl_exec($ch);
//se cierra
curl_close($ch);
//se toma la respuesta
$data = htmlentities($response);
//se imprime
echo $data;
?>
Nota: Los archivos xml se deben enviar sin el header (xml version="1.0" encoding="ISO-8859-1") ya que el código php generara errores.