Para importar documentos mediante la API SuperFactura, el proceso es muy similar a la emisión de documentos mediante archivos JSON o XML.
La única diferencia es que se debe agregar la opción adicional “Import” para indicar si estamos importando un documento “recibido” (compras) o “emitido” (ventas).
Ejemplos PHP
Importar un documento recibido
/**
* Este ejemplo muestra como importar un documento recibido a SuperFactura.
*/
require_once('SuperFacturaAPI/api.php');
// 1) Generar arreglo con datos del DTE recibido
$datos = array(
'Encabezado' => array(
'IdDoc' => array(
'Folio' => 123,
'TipoDTE' => 33,
'FchEmis' => '2015-01-01',
),
'Emisor' => array(
'RUTEmisor' => '1-9',
'RznSoc' => 'Test',
'GiroEmis' => 'Giro',
'DirOrigen' => 'Dirección',
'CmnaOrigen' => 'Comuna',
'CiudadOrigen' => 'Ciudad',
),
'Receptor' => array(
// Acá basta con proporcionar el RUT de nuestro contribuyente
'RUTRecep' => '99581150-2',
),
// 'Totales' será agregado por SuperFactura
),
'Detalles' => array(
array(
// 'NroLinDet' será agregado por SuperFactura
'NmbItem' => 'Item 1',
'DscItem' => 'Descripción del item 1',
'QtyItem' => 3,
'UnmdItem' => 'KG',
'PrcItem' => 100,
),
array(
'NmbItem' => 'Item 2',
'DscItem' => 'Descripción del item 2',
'QtyItem' => 5,
'UnmdItem' => 'KG',
'PrcItem' => 65,
)
),
);
// 2) Usar API para importra el DTE a SuperFactura
$api = new SuperFacturaAPI('usuario@cliente.cl', 'mypassword');
$resultado = $api->SendDTE($datos, 'cer', array( // 'pro' = ambiente producción y 'cer' = ambiente certificación
'import' => 'recibido', // Indica que no queremos generar un DTE, sino importarlo como un documento recibido.
));
// 3) Procesar salida de la API
if($resultado['ok']) {
die("Ok");
} else {
die('Error');
}
Importar un documento emitido
/**
* Este ejemplo muestra como importar un documento emitido a SuperFactura.
*/
require_once('SuperFacturaAPI/api.php');
// 1) Generar arreglo con datos del documento emitido
$datos = array(
'Encabezado' => array(
'IdDoc' => array(
'Folio' => 1,
'TipoDTE' => 30,
'FchEmis' => '2015-01-01',
),
'Emisor' => array(
// Acá basta con proporcionar el RUT de nuestro contribuyente
'RUTEmisor' => '99581150-2',
),
'Receptor' => array(
'RUTRecep' => '1-9',
'RznSocRecep' => 'Test',
'GiroRecep' => 'Giro',
'DirRecep' => 'Dirección',
'CmnaRecep' => 'Comuna',
'CiudadRecep' => 'Ciudad',
),
// 'Totales' será agregado por SuperFactura
),
'Detalles' => array(
array(
// 'NroLinDet' será agregado por SuperFactura
'NmbItem' => 'Item 1',
'DscItem' => 'Descripción del item 1',
'QtyItem' => 3,
'UnmdItem' => 'KG',
'PrcItem' => 100,
),
array(
'NmbItem' => 'Item 2',
'DscItem' => 'Descripción del item 2',
'QtyItem' => 5,
'UnmdItem' => 'KG',
'PrcItem' => 65,
)
),
);
// 2) Usar API para importra el DTE a SuperFactura
$api = new SuperFacturaAPI('usuario@cliente.cl', 'mypassword');
$resultado = $api->SendDTE($datos, 'cer', array( // 'pro' = ambiente producción y 'cer' = ambiente certificación
'import' => 'emitido', // Indica que no queremos generar un DTE, sino importarlo como un documento emitido.
));
// 3) Procesar salida de la API
if($resultado['ok']) {
die("Ok");
} else {
die('Error');
}