Crear establecimiento
Registra los establecimientos (casa matriz o sucursales) de una empresa ya creada en Lumen.
Debes registrar los establecimientos de tu empresa emisora según la información que tienes en factura.gob.sv. Un establecimiento puede ser la casa matriz únicamente o también una o más sucursales.
En la plataforma factura.gob.sv puedes obtener la información de la empresa emisora y sus establecimientos en la sección de Consultar establecimientos:

Tras registrar el establecimiento, crea sus puntos de venta para poder emitir documentos tributarios electrónicos.
Método: POST
Nota
Es necesario el envío del token de acceso <access_token> para hacer uso de este endpoint. Para ver cómo generar el token, vea Cómo generar un token de acceso.
Recuerde: El token de acceso caduca cada hora.
Endpoint
https://api-sandbox.lumendte.com/v1/companies/{taxRegistrationNumber}/establishmentstaxRegistrationNumber es el NRC de la empresa. Puedes enviarlo con o sin guiones.
Payload
| Campo | Tipo | Descripción |
|---|---|---|
establishmentType | string | Tipo: HEADQUARTERS (casa matriz), BRANCH (sucursal), WAREHOUSE (bodega) o PATIO |
officialEstablishmentCode | string | Código otorgado por la plataforma factura.gob.sv (ej. M001 para casa matriz) |
internalEstablishmentCode | string | (Opcional) Código interno definido por la empresa o tu sistema (máx. 10) |
email | string | Correo de contacto del establecimiento |
dialCode | string | Código de marcado (ej. +503) del teléfono del establecimiento |
phone | string | Teléfono (puedes enviar guiones) |
address | string | Dirección física del establecimiento |
departmentCode | string | Código de departamento (exactamente 2 caracteres). Ver Departamentos |
districtCode | string | Código de distrito (máx. 3 caracteres). Ver Distritos. Con él, Lumen obtiene el municipalityCode interno |
departmentCode y districtCode deben coincidir con un code de los catálogos y ser coherentes entre sí (el distrito debe pertenecer al departamento).
Ejemplo de Solicitud
curl -X POST https://api-sandbox.lumendte.com/v1/companies/123456-7/establishments \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer tu_access_token" \
-d '{
"establishmentType": "BRANCH",
"officialEstablishmentCode": "M001",
"email": "sucursal.centro@elsol.com",
"dialCode": "+503",
"phone": "2222-1111",
"address": "Av. Roosevelt 123, San Salvador",
"departmentCode": "06",
"districtCode": "01"
}'Response Success
Status: 201 Created
{
"establishmentType": "BRANCH",
"officialEstablishmentCode": "M001",
"email": "sucursal.centro@elsol.com",
"dialCode": "503",
"phone": "22221111",
"address": "Av. Roosevelt 123, San Salvador",
"departmentCode": "06",
"districtCode": "01",
"taxRegistrationNumber": "123456-7"
}Ejemplo de errores
400 — Payload inválido
establishmentType fuera de los valores permitidos, email inválido o códigos geográficos con longitud incorrecta.
{
"errorCode": "INVALID_PARAMETERS",
"statusCode": 400,
"message": [
"establishmentType must be one of: HEADQUARTERS, BRANCH, WAREHOUSE, PATIO",
"email must be a valid email address",
"departmentCode must be exactly 2 characters long"
],
"error": "Bad Request"
}Fix: Corrige el valor de establishmentType, el email y las longitudes de los códigos; luego vuelve a enviar el JSON completo.
409 — Establecimiento duplicado
Ya existe un establecimiento con el mismo officialEstablishmentCode para una misma empresa.
{
"errorCode": "ESTABLISHMENT_ALREADY_EXISTS",
"statusCode": 409,
"message": "An establishment with officialEstablishmentCode M001 already exists for company 123456-7",
"error": "Conflict"
}Fix: Revisa que no estes intentando registrar un establecimiento con el mismo officialEstablishmentCode para una misma empresa.