03 - Matriz de Entorno y Configuración
Cómo Leer Esta Matriz
DB_DATABASEyDB_URLson reutilizadas por cada conexión enconfig/database.php(sqlite, mysql, mariadb, pgsql, sqlsrv). No son específicas de SQLite a pesar de que sus valores por defecto apuntan a una ruta SQLite.BROADCAST_CONNECTIONestá listada en.env.examplepero el proyecto no incluyeconfig/broadcasting.phpy no tiene uso de broadcast fuera del boilerplate del framework. Trate esta variable como inerte en este repositorio.- La discrepancia de locale entre
.env.exampleyconfig/app.phpcubre tres variables, no solo una:APP_LOCALE(envses),APP_FALLBACK_LOCALE(envses), yAPP_FAKER_LOCALE(en_USvses_ES). - La discrepancia de credenciales de TransUnion es real y funcional:
.env.exampleusaTRANSUNION_USERNAME/TRANSUNION_PASSWORD, mientras queconfig/services.phpleeTRANSUNION_API_USERNAME/TRANSUNION_API_PASSWORD. Un despliegue que rellene únicamente las claves de.env.exampleenviará TransUnion con credenciales vacías.
Núcleo de la Aplicación
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| APP_NAME | app.name | Laravel | Nombre de la aplicación |
| APP_ENV | app.env | production | Entorno (local, staging, production) |
| APP_KEY | app.key | — | Clave de cifrado (requerida) |
| APP_DEBUG | app.debug | false | Modo depuración |
| APP_URL | app.url | http://localhost | URL base de la aplicación |
| APP_LOCALE | app.locale | es | Idioma principal |
| APP_FALLBACK_LOCALE | app.fallback_locale | es | Idioma de respaldo |
| APP_FAKER_LOCALE | app.faker_locale | es_ES | Idioma de Faker para datos de prueba |
| APP_MAINTENANCE_DRIVER | app.maintenance.driver | file | Driver del modo mantenimiento |
| APP_MAINTENANCE_STORE | app.maintenance.store | database | Almacén del modo mantenimiento |
| APP_PREVIOUS_KEYS | app.previous_keys | — | Claves de cifrado previas (array) |
| PHP_CLI_SERVER_WORKERS | — | 4 | Workers del servidor CLI de PHP |
| VITE_APP_NAME | — | ${APP_NAME} | Nombre de la aplicación en frontend |
Autenticación
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| AUTH_GUARD | auth.defaults.guard | web | Guard de autenticación por defecto |
| AUTH_PASSWORD_BROKER | auth.defaults.passwords | users | Broker de contraseñas por defecto |
| AUTH_MODEL | auth.providers.users.model | App\Models\User | Clase del modelo User |
| AUTH_PASSWORD_RESET_TOKEN_TABLE | auth.passwords.users.table | password_reset_tokens | Tabla de restablecimiento de contraseñas |
| AUTH_PASSWORD_TIMEOUT | auth.password_timeout | 10800 | Timeout de contraseña (segundos, 3h) |
| AUTH_EMAIL_VERIFICATION_TIMEOUT | auth.verification.expire | 60 | Timeout de verificación de correo (min) |
| BCRYPT_ROUNDS | — | 12 | Rondas de hashing de contraseña |
Base de Datos
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| DB_CONNECTION | database.default | sqlite | Driver de base de datos (sqlite, mysql, mariadb, pgsql, sqlsrv) |
| DB_HOST | database.connections.{mysql,mariadb,pgsql,sqlsrv}.host | 127.0.0.1 | Host de BD (compartido entre drivers no-sqlite) |
| DB_PORT | database.connections.{mysql,mariadb,pgsql,sqlsrv}.port | 3306 (mysql/mariadb), 5432 (pgsql), 1433 (sqlsrv) | Puerto de BD |
| DB_DATABASE | database.connections.{sqlite,mysql,mariadb,pgsql,sqlsrv}.database | database_path('database.sqlite') para sqlite, laravel para el resto | Nombre de BD (ruta SQLite o nombre de BD); compartido entre todas las conexiones |
| DB_USERNAME | database.connections.{mysql,mariadb,pgsql,sqlsrv}.username | root | Usuario de BD |
| DB_PASSWORD | database.connections.{mysql,mariadb,pgsql,sqlsrv}.password | — | Contraseña de BD |
| DB_SOCKET | database.connections.{mysql,mariadb}.unix_socket | — | Ruta de socket Unix |
| DB_CHARSET | database.connections.{mysql,mariadb,pgsql,sqlsrv}.charset | utf8mb4 (mysql/mariadb), utf8 (pgsql/sqlsrv) | Charset de BD |
| DB_COLLATION | database.connections.{mysql,mariadb}.collation | utf8mb4_unicode_ci | Collation MySQL/MariaDB |
| DB_FOREIGN_KEYS | database.connections.sqlite.foreign_key_constraints | true | Cumplimiento de FK en SQLite |
| DB_URL | database.connections.{sqlite,mysql,mariadb,pgsql,sqlsrv}.url | — | URL de BD; compartida entre todas las conexiones |
| DB_CACHE_CONNECTION | cache.stores.database.connection | — | Conexión BD del almacén de caché (también en la sección Cache) |
| DB_CACHE_LOCK_CONNECTION | cache.stores.database.lock_connection | — | Conexión de lock del almacén de caché |
| DB_CACHE_TABLE | cache.stores.database.table | cache | Tabla del almacén de caché (también en la sección Cache) |
| DB_CACHE_LOCK_TABLE | cache.stores.database.lock_table | — | Tabla de lock del almacén de caché |
| MYSQL_ATTR_SSL_CA | database.connections.{mysql,mariadb}.options[PDO::MYSQL_ATTR_SSL_CA] | — | Ruta del certificado SSL CA de MySQL/MariaDB |
Redis
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| REDIS_CLIENT | database.redis.client | phpredis | Cliente PHP de Redis |
| REDIS_CLUSTER | database.redis.options.cluster | redis | Modo cluster de Redis |
| REDIS_PREFIX | database.redis.options.prefix | autogenerado ({app_name}_database_) | Prefijo de claves Redis |
| REDIS_PERSISTENT | database.redis.options.persistent | false | Conexiones persistentes |
| REDIS_HOST | database.redis.{default,cache}.host | 127.0.0.1 | Host de Redis (compartido entre ambas conexiones) |
| REDIS_PORT | database.redis.{default,cache}.port | 6379 | Puerto de Redis (compartido entre ambas conexiones) |
| REDIS_USERNAME | database.redis.{default,cache}.username | — | Usuario de Redis |
| REDIS_PASSWORD | database.redis.{default,cache}.password | — | Contraseña de Redis |
| REDIS_DB | database.redis.default.database | 0 | Índice de base de datos Redis |
| REDIS_CACHE_DB | database.redis.cache.database | 1 | Base de datos de caché Redis |
| REDIS_URL | database.redis.{default,cache}.url | — | URL de Redis |
Sesión
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| SESSION_DRIVER | session.driver | database | Driver de sesión |
| SESSION_LIFETIME | session.lifetime | 120 | Duración de sesión (minutos) |
| SESSION_EXPIRE_ON_CLOSE | session.expire_on_close | false | Expirar al cerrar el navegador |
| SESSION_ENCRYPT | session.encrypt | false | Cifrar datos de sesión |
| SESSION_CONNECTION | session.connection | — | Conexión BD de sesión |
| SESSION_TABLE | session.table | sessions | Nombre de la tabla de sesiones |
| SESSION_STORE | session.store | — | Almacén de caché de sesión |
| SESSION_COOKIE | session.cookie | autogenerado | Nombre de la cookie de sesión |
| SESSION_PATH | session.path | / | Ruta de la cookie |
| SESSION_DOMAIN | session.domain | — | Dominio de la cookie |
| SESSION_SECURE_COOKIE | session.secure | — | Cookie solo HTTPS |
| SESSION_HTTP_ONLY | session.http_only | true | Cookie solo HTTP |
| SESSION_SAME_SITE | session.same_site | lax | Política SameSite |
| SESSION_PARTITIONED_COOKIE | session.partitioned | false | Cookie particionada |
Caché
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| CACHE_STORE | cache.default | database | Almacén de caché por defecto |
| CACHE_PREFIX | cache.prefix | autogenerado ({app_name}_cache_) | Prefijo de claves de caché |
| CACHE_GLOBAL_TTL | app.cache_global_ttl | 3600 | TTL global de caché (segundos) |
| DB_CACHE_CONNECTION | cache.stores.database.connection | — | Conexión BD de caché |
| DB_CACHE_TABLE | cache.stores.database.table | cache | Tabla de caché |
| DB_CACHE_LOCK_CONNECTION | cache.stores.database.lock_connection | — | Conexión BD de lock de caché |
| DB_CACHE_LOCK_TABLE | cache.stores.database.lock_table | — | Tabla BD de lock de caché |
| MEMCACHED_PERSISTENT_ID | cache.stores.memcached.persistent_id | — | ID persistente de Memcached |
| MEMCACHED_USERNAME | cache.stores.memcached.sasl[0] | — | Usuario SASL de Memcached |
| MEMCACHED_PASSWORD | cache.stores.memcached.sasl[1] | — | Contraseña SASL de Memcached |
| MEMCACHED_HOST | cache.stores.memcached.servers[0].host | 127.0.0.1 | Host de Memcached |
| MEMCACHED_PORT | cache.stores.memcached.servers[0].port | 11211 | Puerto de Memcached |
| REDIS_CACHE_CONNECTION | cache.stores.redis.connection | cache | Conexión Redis de caché |
| REDIS_CACHE_LOCK_CONNECTION | cache.stores.redis.lock_connection | default | Conexión Redis de lock de caché |
| DYNAMODB_CACHE_TABLE | cache.stores.dynamodb.table | cache | Tabla DynamoDB de caché |
| DYNAMODB_ENDPOINT | cache.stores.dynamodb.endpoint | — | Endpoint de DynamoDB |
Cola
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| QUEUE_CONNECTION | queue.default | database | Driver de cola |
| DB_QUEUE_CONNECTION | queue.connections.database.connection | — | Conexión BD de cola |
| DB_QUEUE_TABLE | queue.connections.database.table | jobs | Tabla de jobs |
| DB_QUEUE | queue.connections.database.queue | default | Nombre de cola por defecto |
| DB_QUEUE_RETRY_AFTER | queue.connections.database.retry_after | 90 | Reintento tras (segundos) |
| BEANSTALKD_QUEUE_HOST | queue.connections.beanstalkd.host | localhost | Host de Beanstalkd |
| BEANSTALKD_QUEUE | queue.connections.beanstalkd.queue | default | Nombre de cola Beanstalkd |
| BEANSTALKD_QUEUE_RETRY_AFTER | queue.connections.beanstalkd.retry_after | 90 | Reintento Beanstalkd tras (segundos) |
| SQS_PREFIX | queue.connections.sqs.prefix | https://sqs.us-east-1.amazonaws.com/your-account-id | Prefijo de URL de cola SQS |
| SQS_QUEUE | queue.connections.sqs.queue | default | Nombre de cola SQS |
| SQS_SUFFIX | queue.connections.sqs.suffix | — | Sufijo de cola SQS |
| REDIS_QUEUE_CONNECTION | queue.connections.redis.connection | default | Conexión Redis de cola |
| REDIS_QUEUE | queue.connections.redis.queue | default | Nombre de cola Redis |
| REDIS_QUEUE_RETRY_AFTER | queue.connections.redis.retry_after | 90 | Reintento Redis tras (segundos) |
| QUEUE_FAILED_DRIVER | queue.failed.driver | database-uuids | Driver de jobs fallidos |
Correo
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| MAIL_MAILER | mail.default | log | Mailer por defecto |
| MAIL_SCHEME | mail.mailers.smtp.scheme | — | Esquema SMTP |
| MAIL_URL | mail.mailers.smtp.url | — | URL SMTP (formato DSN) |
| MAIL_HOST | mail.mailers.smtp.host | 127.0.0.1 | Host SMTP |
| MAIL_PORT | mail.mailers.smtp.port | 2525 | Puerto SMTP |
| MAIL_USERNAME | mail.mailers.smtp.username | — | Usuario SMTP |
| MAIL_PASSWORD | mail.mailers.smtp.password | — | Contraseña SMTP |
| MAIL_EHLO_DOMAIN | mail.mailers.smtp.local_domain | host parseado desde APP_URL | Dominio EHLO SMTP |
| MAIL_FROM_ADDRESS | mail.from.address | hello@example.com | Correo remitente por defecto |
| MAIL_FROM_NAME | mail.from.name | Example | Nombre remitente por defecto |
| MAIL_LOG_CHANNEL | mail.mailers.log.channel | — | Canal del mailer de logs |
| MAIL_SENDMAIL_PATH | mail.mailers.sendmail.path | /usr/sbin/sendmail -bs -i | Ruta de Sendmail |
| POSTMARK_TOKEN | services.postmark.token | — | Token API de Postmark |
| RESEND_KEY | services.resend.key | — | Clave API de Resend |
Logging
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| LOG_CHANNEL | logging.default | stack | Canal de log por defecto |
| LOG_STACK | logging.channels.stack.channels | single | Canales del stack (separados por coma) |
| LOG_LEVEL | logging.channels.*.level | debug (la mayoría de canales), critical (slack) | Nivel de log (usado en todos los canales) |
| LOG_DEPRECATIONS_CHANNEL | logging.deprecations.channel | null | Canal de deprecaciones |
| LOG_DEPRECATIONS_TRACE | logging.deprecations.trace | false | Incluir traza en deprecaciones |
| LOG_DAILY_DAYS | logging.channels.daily.days | 14 | Retención de log diario (días) |
| LOG_SLACK_WEBHOOK_URL | logging.channels.slack.url | — | URL del webhook de Slack |
| LOG_SLACK_USERNAME | logging.channels.slack.username | Laravel Log | Usuario de Slack |
| LOG_SLACK_EMOJI | logging.channels.slack.emoji | :boom: | Emoji de Slack |
| LOG_PAPERTRAIL_HANDLER | logging.channels.papertrail.handler | SyslogUdpHandler | Clase handler de Papertrail |
| PAPERTRAIL_URL | logging.channels.papertrail.handler_with.host | — | Host de Papertrail |
| PAPERTRAIL_PORT | logging.channels.papertrail.handler_with.port | — | Puerto de Papertrail |
| LOG_STDERR_FORMATTER | logging.channels.stderr.formatter | — | Clase formateadora del canal stderr |
| LOG_SYSLOG_FACILITY | logging.channels.syslog.facility | LOG_USER | Facility de syslog |
| LOG_VIEWER_ENABLED | log-viewer.enabled | true | Habilitar la UI del Log Viewer incluido |
| LOG_VIEWER_API_ONLY | log-viewer.api_only | false | Restringir Log Viewer a modo API |
| LOG_VIEWER_API_STATEFUL_DOMAINS | log-viewer.api_stateful_domains | — | Dominios stateful separados por coma |
| LOG_VIEWER_CACHE_DRIVER | log-viewer.cache_driver | — | Driver de caché usado para índices de logs |
| LOG_VIEWER_EXCLUDE_IP_FROM_IDENTIFIERS | log-viewer.exclude_ip_from_identifiers | false | Excluir IPs de los identificadores de log |
Sistema de Archivos y Almacenamiento
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| FILESYSTEM_DISK | filesystems.default | local | Disco de filesystem por defecto |
| AWS_ACCESS_KEY_ID | filesystems.disks.s3.key | — | Access key de AWS S3 |
| AWS_SECRET_ACCESS_KEY | filesystems.disks.s3.secret | — | Secret key de AWS S3 |
| AWS_DEFAULT_REGION | filesystems.disks.s3.region | — | Región de AWS S3 |
| AWS_BUCKET | filesystems.disks.s3.bucket | — | Bucket de AWS S3 |
| AWS_URL | filesystems.disks.s3.url | — | URL de AWS S3 |
| AWS_ENDPOINT | filesystems.disks.s3.endpoint | — | Endpoint personalizado de AWS S3 |
| AWS_USE_PATH_STYLE_ENDPOINT | filesystems.disks.s3.use_path_style_endpoint | false | Estilo de ruta de S3 |
| CLOUDFLARE_R2_ACCESS_KEY_ID | filesystems.disks.r2.key | — | Access key de Cloudflare R2 |
| CLOUDFLARE_R2_SECRET_ACCESS_KEY | filesystems.disks.r2.secret | — | Secret de Cloudflare R2 |
| CLOUDFLARE_R2_BUCKET | filesystems.disks.r2.bucket | — | Bucket de Cloudflare R2 |
| CLOUDFLARE_R2_URL | filesystems.disks.r2.url | — | URL de Cloudflare R2 |
| CLOUDFLARE_R2_ENDPOINT | filesystems.disks.r2.endpoint | — | Endpoint de Cloudflare R2 |
| CLOUDFLARE_R2_USE_PATH_STYLE_ENDPOINT | filesystems.disks.r2.use_path_style_endpoint | false | Endpoint estilo ruta de R2 |
Broadcasting
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| BROADCAST_CONNECTION | — | log | Driver de broadcasting |
Configuración del Marketplace
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| DIAS_DESFASE | app.dias_desfase | 0 | Días de desfase en cálculos de crédito |
| TASA_NOMINAL | app.tasa_nominal | null | Tasa de interés nominal (ej. 0.01914 = 1.914%) |
| SEGURO_VIDA | app.seguro_vida | null | Tasa de seguro de vida (ej. 0.01 = 1%) |
| MONTO_ESTUDIO_CREDITO | app.monto_estudio_credito | null | Monto del estudio de crédito |
| PORCENTAJE_FIANZA | app.porcentaje_fianza | null | Porcentaje de fianza/garantía |
| MAX_SEARCH_RESULTS | app.max_search_results | 10 | Máximo de resultados de búsqueda |
| MAX_STATS_USER_RESULTS | app.max_stats_user_results | 15 | Máximo de resultados de estadísticas por usuario |
| RESEND_WAIT_SECONDS | app.resend_wait_seconds | 60 | Tiempo de espera entre reenvíos de verificación |
| PORCENTAJE_MINIMO_SIMILITUD_DIRECCION | app.porcentaje_minimo_similitud_direccion | 70 | % mínimo de similitud de dirección para validación |
| CONTACT_EMAIL | app.contact_email | contacto@miplante.com | Correo de contacto |
URLs Externas (Navegación)
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| FAQ_URL | app.faq | ” | URL de la página de preguntas frecuentes |
| ABOUT_URL | app.about | ” | URL de la página “Acerca de” |
| SIC_URL | app.sic | ” | URL regulatoria de SIC |
| TERMS_CONDITIONS | app.terms | ” | URL de términos y condiciones |
| PRIVACY_POLICIES | app.privacy | ” | URL de política de privacidad |
| HELP_CENTER | app.help | ” | URL del centro de ayuda |
Integración EMCALI
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| EMCALI_MEMBRESIAS_API_URL | services.emcali.endpoints.membresias | null | URL de la API de membresías EMCALI |
Integración TransUnion
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| TRANSUNION_API_URL | services.transunion.endpoint | null | URL de la API de TransUnion |
| TRANSUNION_API_USERNAME | services.transunion.username | null | Usuario de TransUnion |
| TRANSUNION_API_PASSWORD | services.transunion.password | null | Contraseña de TransUnion |
| TRANSUNION_PORCENTAJE_NOMBRE_MINIMO | services.transunion.porcentaje_nombre_minimo | 70 | % mínimo de coincidencia de nombre |
Integración Experian CrossCore
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| EXPIRIAN_CROSS_CORE_AUTH_API_URL | services.expirian_cross_core.auth_endpoint | null | URL de autenticación Okta de Experian |
| EXPIRIAN_CROSS_CORE_AUTH | services.expirian_cross_core.auth | null | Token de autenticación de Experian |
| EXPIRIAN_CROSS_CORE_API_URL | services.expirian_cross_core.endpoint | null | URL de la API de Experian |
| EXPIRIAN_CROSS_CORE_API_CLIENT_SECRET | services.expirian_cross_core.client_secret | null | Client secret de Experian |
| EXPIRIAN_CROSS_CORE_API_CLIENT_ID | services.expirian_cross_core.client_id | null | Client ID de Experian |
| EXPIRIAN_CROSS_CORE_API_USERNAME | services.expirian_cross_core.username | null | Usuario de Experian |
| EXPIRIAN_CROSS_CORE_API_PASSWORD | services.expirian_cross_core.password | null | Contraseña de Experian |
| EXPIRIAN_CROSS_CORE_ID_USUARIO_ENTIDAD | services.expirian_cross_core.id_usuario_entidad | null | ID de usuario entidad de Experian |
| EXPIRIAN_CROSS_CORE_COD_PRODUCTO | services.expirian_cross_core.cod_producto | null | Código de producto de Experian |
| EXPIRIAN_CROSS_CORE_COD_PARAMETRO_PRODUCTO | services.expirian_cross_core.cod_parametro_producto | null | Código de parámetro de producto de Experian |
| EXPIRIAN_CROSS_CORE_NIT_ENTIDAD | services.expirian_cross_core.nit_entidad | null | NIT de la entidad de Experian |
| EXPIRIAN_CROSS_CORE_CANAL_ENTIDAD | services.expirian_cross_core.canal_entidad | null | Canal de la entidad de Experian |
| EXPIRIAN_CROSS_CORE_API_QUESTIONNAIRE_MIN_SCORE | services.expirian_cross_core.questionnaire_min_score | 100 | Puntaje mínimo del cuestionario |
Integración DataCredito
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| DATACREDITO_API_URL | services.datacredito.base_url | null | URL de la API DataCredito (por defecto UAT) |
| DATACREDITO_CLIENT_ID | services.datacredito.client_id | null | Client ID de OAuth |
| DATACREDITO_CLIENT_SECRET | services.datacredito.client_secret | null | Client secret de OAuth |
| DATACREDITO_USERNAME | services.datacredito.username | null | Usuario de API |
| DATACREDITO_PASSWORD | services.datacredito.password | null | Contraseña de API |
| DATACREDITO_USER | services.datacredito.user | null | Identificador de usuario |
| DATACREDITO_USER_PASSWORD | services.datacredito.user_password | null | Contraseña de usuario |
| DATACREDITO_SERVER_IP | services.datacredito.server_ip | null | IP del servidor |
| DATACREDITO_PRODUCT_ID | services.datacredito.product_id | null | ID del producto |
| DATACREDITO_INFO_ACCOUNT_TYPE | services.datacredito.info_account_type | null | Tipo de cuenta |
| DATACREDITO_ORIGINATOR_CHANNEL_NAME | services.datacredito.originator_channel_name | null | Nombre del canal originador |
| DATACREDITO_ORIGINATOR_CHANNEL_TYPE | services.datacredito.originator_channel_type | null | Tipo del canal originador |
Integración Certicamara (Pagarés Digitales)
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| CERTICAMARA_CREATE_URL | services.certicamara.create_url | https://services.eworkflow.co/core/ws/rest/create | Endpoint de creación |
| CERTICAMARA_SEARCH_URL | services.certicamara.search_url | https://services.epagare.co/promissoryNoteRequest/ws/rest/search | Endpoint de búsqueda |
| CERTICAMARA_TOKEN | services.certicamara.token | null | Token de la API |
| CERTICAMARA_TEMPLATE_ID | services.certicamara.template_id | Pagare_v12025.pdf | Plantilla de pagaré |
| CERTICAMARA_OWNER_EMAIL | services.certicamara.owner_email | gerenciaadministrativa@miplante.com | Correo del propietario |
Integración Core Credito (Core Bancario)
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| CORE_CREDITO_ENDPOINT | services.core_credito.endpoint | https://10.241.88.102:8443/HHOJAVASTOREDEVL/servlet/SFMobileCoreSER | Endpoint de la API del core bancario |
| CORE_CREDITO_REQ_PRC_CODE | services.core_credito.req_prc_code | 038000 | Código de procesamiento de la solicitud |
| CORE_CREDITO_LOG_CHANNEL | services.core_credito.log_channel | MP | Identificador del canal de log |
| CORE_CREDITO_REQ_USER_ID | services.core_credito.req_user_id | null | ID de usuario de la solicitud |
| CORE_CREDITO_REQ_PASSWD | services.core_credito.req_passwd | null | Contraseña de la solicitud |
| CORE_CREDITO_REQ_MSG_CODE | services.core_credito.req_msg_code | 0340 | Código de mensaje de solicitud |
| CORE_CREDITO_REQ_TYPE | services.core_credito.req_type | 038000 | Tipo de solicitud |
| CORE_CREDITO_RES_MSG_CODE | services.core_credito.res_msg_code | 0370 | Código de mensaje de respuesta |
Configuración de Pagaré
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| PAGARE_RETRY_MINUTES | pagare.retry_minutes | 20 | Minutos a esperar antes de reintentar la firma |
Integración Slack
| Variable ENV | Clave de Configuración | Por defecto | Descripción |
|---|---|---|---|
| SLACK_BOT_USER_OAUTH_TOKEN | services.slack.notifications.bot_user_oauth_token | — | Token OAuth del bot de Slack |
| SLACK_BOT_USER_DEFAULT_CHANNEL | services.slack.notifications.channel | — | Canal de Slack por defecto |
Estadísticas
| Categoría | Cantidad de Variables |
|---|---|
| Núcleo de la Aplicación | 13 |
| Autenticación | 7 |
| Base de Datos | 16 |
| Redis | 11 |
| Sesión | 14 |
| Caché | 16 |
| Cola | 15 |
| Correo | 14 |
| Logging | 19 |
| Sistema de Archivos y Almacenamiento | 14 |
| Broadcasting | 1 |
| Marketplace | 10 |
| URLs Externas | 6 |
| EMCALI | 1 |
| TransUnion | 4 |
| Experian CrossCore | 13 |
| DataCredito | 12 |
| Certicamara | 5 |
| Core Credito | 8 |
| Pagare | 1 |
| Slack | 2 |
| Total | ~202 claves env distintas leídas en .env.example + config/*.php |
El total cuenta cada clave env distinta referenciada en
config/*.phpsin importar si aparece en.env.example. Algunas claves env son leídas por múltiples archivos de configuración (ej.,DB_DATABASE,REDIS_HOST,AWS_*); cada una se cuenta una sola vez.
Advertencias y Notas
-
Discrepancia de credenciales TransUnion (bug funcional):
.env.exampleusaTRANSUNION_USERNAMEyTRANSUNION_PASSWORDperoconfig/services.phpleeTRANSUNION_API_USERNAMEyTRANSUNION_API_PASSWORD. Las credenciales establecidas vía.env.examplese ignoran silenciosamente. -
Entradas duplicadas en
.env.example:.env.exampledeclaraEMCALI_MEMBRESIAS_API_URL,DIAS_DESFASE,TASA_NOMINAL,SEGURO_VIDA, yMONTO_ESTUDIO_CREDITOdos veces (líneas 84/130 y 78-81/133-136). El cargador dotenv usa la última definición; los valores son idénticos hoy, pero la duplicación es un riesgo para futuras ediciones. -
Conflicto de defaults de locale (3 variables):
.env.exampleestableceAPP_LOCALE=en,APP_FALLBACK_LOCALE=en,APP_FAKER_LOCALE=en_US, peroconfig/app.phptiene como defaultses,es, yes_ES. Desplegar con.env.exampletal cual sobrescribe los defaults en español y entrega un stack de locale en inglés. -
Configuración de broadcasting muerta:
BROADCAST_CONNECTION=logestá presente en.env.example, pero el proyecto no tieneconfig/broadcasting.phpy no hay uso de broadcast enapp/. La variable es inerte. -
Variables env referenciadas por
config/*.phppero ausentes de.env.example:APP_PREVIOUS_KEYS,APP_MAINTENANCE_STORE,AUTH_GUARD,AUTH_PASSWORD_BROKER,AUTH_MODEL,AUTH_PASSWORD_RESET_TOKEN_TABLE, los parámetros de conexión MySQL/MariaDB/PostgreSQL/SQL Server (DB_HOST,DB_PORT,DB_DATABASE,DB_USERNAME,DB_PASSWORDexisten únicamente como líneas comentadas),DB_URL,DB_CHARSET,DB_COLLATION,DB_FOREIGN_KEYS,DB_SOCKET,MYSQL_ATTR_SSL_CA, todas las claves de Caché más allá deCACHE_STORE(CACHE_PREFIX,CACHE_GLOBAL_TTL,DB_CACHE_*,REDIS_CACHE_*,DYNAMODB_CACHE_*,MEMCACHED_PERSISTENT_ID/USERNAME/PASSWORD/PORT), todas las claves de Cola más allá deQUEUE_CONNECTION(DB_QUEUE_*,BEANSTALKD_*,SQS_*,REDIS_QUEUE_*,QUEUE_FAILED_DRIVER), el conjunto completo de claves de Sesión más allá de las cinco presentes en.env.example(SESSION_EXPIRE_ON_CLOSE,SESSION_CONNECTION,SESSION_TABLE,SESSION_STORE,SESSION_COOKIE,SESSION_SECURE_COOKIE,SESSION_HTTP_ONLY,SESSION_SAME_SITE,SESSION_PARTITIONED_COOKIE), la familia de Logging (LOG_DEPRECATIONS_TRACE,LOG_DAILY_DAYS,LOG_SLACK_*,LOG_PAPERTRAIL_HANDLER,PAPERTRAIL_*,LOG_STDERR_FORMATTER,LOG_SYSLOG_FACILITY, y todas las clavesLOG_VIEWER_*),MAIL_URL,MAIL_EHLO_DOMAIN,MAIL_LOG_CHANNEL,MAIL_SENDMAIL_PATH,POSTMARK_TOKEN,RESEND_KEY,AWS_URL,AWS_ENDPOINT, todas las clavesCLOUDFLARE_R2_*, todas las clavesCERTICAMARA_*,PAGARE_RETRY_MINUTES,CONTACT_EMAIL,MAX_SEARCH_RESULTS,MAX_STATS_USER_RESULTS,RESEND_WAIT_SECONDS,PORCENTAJE_FIANZA,PORCENTAJE_MINIMO_SIMILITUD_DIRECCION,SLACK_BOT_USER_OAUTH_TOKEN,SLACK_BOT_USER_DEFAULT_CHANNEL. El responsable del despliegue debe aceptar los defaults de configuración o agregar estas claves explícitamente. Tenga en cuenta que todas las clavesCORE_CREDITO_*están listadas en.env.examplepero llegan con valores vacíos, lo cual sobrescribe los defaults declarados enconfig/services.php. -
Constantes de lógica de negocio hardcodeadas: Core Credito tiene constantes hardcodeadas en
config/services.php(clt_src_channel,product_code,act_comments,app_rej_flag,act_user,shop_code,trxn_cmnt,vcard_prefix) que no son configurables por env, además de mapeos tipo-documento por driver de BD para TransUnion, Experian, DataCredito, Certicamara y Core Credito. -
Archivos de configuración no surfacados por esta matriz:
config/permission.php(tablas/columnas/equipos de Spatie),config/inertia.php(URL SSR hardcodeada ahttp://127.0.0.1:13714),config/ide-helper.php(solo dev).