Este servicio se consultará para saber si se debe procesar de manera automática un intercambio recibido indicando si se recibe o reclama el contenido.
{ "xml":"aWRfcGFnbwo=" }
El servicio puede entregar múltiples tipos de respuestas, las cuales harán diferentes cosas. A continuación se detallan todas las posibilidades. Están en PHP, pero la respuesta es en JSON en estricto rigor.
Recibir todo el intercambio (estado ERM):
true
Reclamar todo el intercambio (estado RCD):
false
No procesar el intercambio (se deberá procesar manualmente):
'null'
Si el intercambio tiene más de un DTE se puede indicar qué documentos se deben recibir o reclamar:
[ 'recibir' => [ [ 'TipoDTE' => 33, 'Folio' => 1 ] ], 'reclamar' => [ [ 'TipoDTE' => 33, 'Folio' => 2 ] ] ]
Los índices recibir y reclamar son arreglos de arreglos (objetos) que pueden tener los siguientes índices:
// esto no es una respuesta válida, es sólo un ejemplo de como asignar datos de un DTE [ 'TipoDTE' => 31, 'Folio' => 1, 'FchEmis' => '2018-05-21', 'RUTEmisor' => '76192083-9', 'RUTRecep' => '88777666-5', 'MntTotal' => 1000, 'EstadoRecepDTE' => 'ERM', // código SII 'RecepDTEGlosa' => 'Otorga recibo de mercaderías o servicios', ]
Si bien sólo los índices TipoDTE y Folio son obligatorios, si el intercambio incluye más de un DTE se recomienda incluir el RUTEmisor. Además los índices EstadoRecepDTE y RecepDTEGlosa permiten definir los estados que se asignarán (por defecto es ERM para recibidos y RCD para reclamados).
También es posible pasar un sólo arreglo con todos los documentos, independiente el estado, en este caso es obligatorio que se indique EstadoRecepDTE y RecepDTEGlosa:
[ [ 'TipoDTE' => 31, 'Folio' => 1, 'EstadoRecepDTE' => 'ERM', 'RecepDTEGlosa' => 'Otorga recibo de mercaderías o servicios', ], [ 'TipoDTE' => 31, 'Folio' => 2, 'EstadoRecepDTE' => 'RCD', 'RecepDTEGlosa' => 'Reclamo al contenido del documento', ], ]
Si se quieren especificar campos generales para todos los documentos como sucursal que recibe el DTE o el período donde se debe asignar se deberá hacer de la siguiente forma:
[ 'accion' => true, // =true o cualquiera de las posibles respuestas antes vistas 'config' => [ 'NmbContacto' => 'Esteban', // nombre de contacto por dudas 'MailContacto' => '[email protected]', // correo de contacto por dudas 'sucursal' => 0, // =0 para casa matriz o código de sucursal del SII 'Recinto' => 'Casa matriz', 'responder_a' => '[email protected]', // correo del proveedor (se recomienda no asignar) 'periodo' => date('Ym'), // debería ser siempre el actual ], ]
En el índice config, todos los campos son opcionales, si no se indica alguno será determinado automáticamente por el sistema.