LibreDTE

¡facturación electrónica libre para Chile!

Herramientas de usuario

Herramientas del sitio


faq:libredte:lib:ambiente

¿Cómo se define el ambiente que quiero usar?

En la biblioteca de LibreDTE se debe definir que ambiente se utilizará antes de consumir los servicios web del SII a través de \sasco\LibreDTE\Sii::request() o bien enviar DTE a través de \sasco\LibreDTE\Sii::enviar(). Por defecto el ambiente que se utiliza es el de producción (o sea servidor palena), sin embargo podríamos querer trabajar en certificación.

Para solucionar el tema del ambiente que queremos usar, la opción original de LibreDTE era definirlo a través de una constante de PHP:

define('_LibreDTE_CERTIFICACION_', true);

Esto funciona muy bien cuando la aplicación se ejecuta en el mismo ambiente durante todo su ciclo de vida (ejecución del script PHP), sin embargo si queremos ejecutar algunas consultas a un ambiente y luego cambiar a otro, no era posible por que la constante es, bueno, constante.

Para solucionar el problema anterior, se definió un método que permite asignar el ambiente que se desee utilizar. De esta forma se podrá cambiar durante la ejecución de la aplicación el ambiente en uso. Esto es muy útil para los comandos que ejecutan tareas sobre varios contribuyentes en la aplicación web de LibreDTE.

Para asignar el ambiente de certificación usar alguna de estas opciones:

\sasco\LibreDTE\Sii::setAmbiente(\sasco\LibreDTE\Sii::CERTIFICACION);
\sasco\LibreDTE\Sii::setAmbiente(true);
\sasco\LibreDTE\Sii::setAmbiente(1);

Para asignar el ambiente de producción usar alguna de estas opciones:

\sasco\LibreDTE\Sii::setAmbiente(\sasco\LibreDTE\Sii::PRODUCCION);
\sasco\LibreDTE\Sii::setAmbiente(false);
\sasco\LibreDTE\Sii::setAmbiente(0);
\sasco\LibreDTE\Sii::setAmbiente();

De todas formas, y por compatibilidad, se seguirá manteniendo la asignación a través de la constante.

faq/libredte/lib/ambiente.txt · Última modificación: 2016/06/14 18:07 por delaf