Skip to content

Instantly share code, notes, and snippets.

@cdiaz
Last active June 6, 2024 02:28
Show Gist options
  • Save cdiaz/a48dc7cbb4fb3dbfa555e016a5aae1dd to your computer and use it in GitHub Desktop.
Save cdiaz/a48dc7cbb4fb3dbfa555e016a5aae1dd to your computer and use it in GitHub Desktop.
Consulta NIT en el Registro Único Empresarial y Social (RUES)
var request = require('request');
// Digite el NIT sin puntos ni guiones, el dígito de Verificación no es requerido.
request.post(
'http://www.rues.org.co/RUES_Web/Consultas/ConsultaNIT_json',
{ form: {strNIT: '891190346' } },
function (error, response, result) {
if (!error && response.statusCode == 200) {
console.log(result)
}
}
);
@miguelgarces123
Copy link

Hola @alexramdesigner , segun veo el error el conflicto es con illuminate/support el cual es el que utilizo para determinar la versión compatible de Laravel.

Que versión de Laravel estas usando ?

@aldairbarahona
Copy link

Ya no funciona no se encuentra la ruta http://www.rues.org.co/RUES_Web/Consultas/ConsultaNIT_json :(

@cdiaz
Copy link
Author

cdiaz commented Jun 6, 2024

Update:
@aldairbarahona la url para consulta para el portal antiguo ahora está disponible aquí: https://www.rues.org.co/Home/ConsultaNIT_json

Y para el portal nuevo, primero se debe solicitar un token enviando una petición POST a la siguiente url: https://ruesapi.rues.org.co/WEB2/api/Token/ObtenerToken

Ejemplo con CURL

curl -i -X POST -H "Content-Type: application/json" -H "Content-Length: 0" https://ruesapi.rues.org.co/WEB2/api/Token/ObtenerToken

Tras ejecutar dicha petición se recibirá una respuesta tipo:

{
	"registros": [],
	"cantidad_registros": 0,
	"fecha_respuesta": "6/6/2024",
	"hora_respuesta": "2:6:29",
	"error": {
		"codigo": "200",
		"mensaje": "¡Ok!"
	}
}

Pero el token que se necesita no está en el body sino en el Header Response:

date: Thu, 06 Jun 2024 02:04:43 GMT
content-type: application/json; charset=utf-8
server: Microsoft-IIS/10.0
tokenruesapi: gAWiyDwC7sc0L3WWAJ88yCnZseKzMnIrSzUZPHD3iaH9XOGjB6D1dHS3IQMTPnH6Ddomksqy2F4DKKmjtH2glvkJbZUVGh5HYFv0V_iYqvls2Y8A2FPyeIrgbAKQyLMoiRRMGt6Ijgb93sNFpGusEH602uYWCWkzr3cVZPBCkCrgUqg3C1FdnTZqiTmJ5AKUAqzdP6kZFNn7qDefzsUBwQWD1Qq2fF7GfIc1_l7OgyemxGCOw0i_fF1iX6ZEfLT7qLnDDsnAsDHxGudWwTm3Vzv8XlnjpzF4rQuiG7my5WrUZ6qtIyvQCuY0xrBI0IW3TXOyVQuPaP3D3p2kBrlRWpN3CvYiTVxJseoKodXY6WE5AvHnKJmxcKUp394tceTmVy15422ODIyMVS5hFAi8uJRlxFvA0cycRh_2z3QXmhltiJM-2acFtZRNfB3iDowGQFUMBMIwrh150GOJIs3ipLlzfO4ECKh9pXdyo3KyYS9U2-ChD4pc5SnArn_eUtgV3nRmW7VcxIqSnrt1Oqu7nbPkY3eK0yTy-hL3yUyOlnO3iEdMTwplLPMQYGUww9bP
x-powered-by: ASP.NET

De allí se obtiene el valor de tokenruesapi y se utilizará en otra petición Post a la siguiente url: https://ruesapi.rues.org.co/api/ConsultasRUES/BusquedaAvanzadaRM

El cuerpo de la petición deberá contener este JSON:

{
	"Razon": null,
	"Nit": null,
	"Dpto": null,
	"Cod_Camara": null,
	"Matricula": null
} 

y el encabezado de autenticación debe llevar la palabra Bearer seguido del token obtenido en el paso anterior:

Ejemplo con CURL:

curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer gAWiyDwC7sc0L3WWAJ88yCnZseKzMnIrSzUZPHD3iaH9XOGjB6D1dHS3IQMTPnH6Ddomksqy2F4DKKmjtH2glvkJbZUVGh5HYFv0V_iYqvls2Y8A2FPyeIrgbAKQyLMoiRRMGt6Ijgb93sNFpGusEH602uYWCWkzr3cVZPBCkCrgUqg3C1FdnTZqiTmJ5AKUAqzdP6kZFNn7qDefzsUBwQWD1Qq2fF7GfIc1_l7OgyemxGCOw0i_fF1iX6ZEfLT7qLnDDsnAsDHxGudWwTm3Vzv8XlnjpzF4rQuiG7my5WrUZ6qtIyvQCuY0xrBI0IW3TXOyVQuPaP3D3p2kBrlRWpN3CvYiTVxJseoKodXY6WE5AvHnKJmxcKUp394tceTmVy15422ODIyMVS5hFAi8uJRlxFvA0cycRh_2z3QXmhltiJM-2acFtZRNfB3iDowGQFUMBMIwrh150GOJIs3ipLlzfO4ECKh9pXdyo3KyYS9U2-ChD4pc5SnArn_eUtgV3nRmW7VcxIqSnrt1Oqu7nbPkY3eK0yTy-hL3yUyOlnO3iEdMTwplLPMQYGUww9bP" -d '{"Razon": null, "Nit": 901332568, "Dpto": null, "Cod_Camara": null, "Matricula": null}' https://ruesapi.rues.org.co/api/ConsultasRUES/BusquedaAvanzadaRM

La respuesta obtenida es:

{
	"registros": [
		{
			"tipo_documento": "NIT",
			"nit": "901332568",
			"dv": "4",
			"id_rm": "410000112236",
			"razon_social": "QUANTUX S.A.S",
			"cod_camara": "41",
			"nom_camara": "FLORENCIA PARA EL CAQUETA",
			"matricula": "112236",
			"organizacion_juridica": "SOCIEDADES POR ACCIONES SIMPLIFICADAS SAS",
			"estado_matricula": "ACTIVA",
			"ultimo_ano_renovado": "2024",
			"categoria": "SOCIEDAD ó PERSONA JURIDICA PRINCIPAL ó ESAL"
		}
	],
	"cant_registros": 1,
	"fecha_respuesta": "6/5/2024",
	"hora_respuesta": "9:20 PM",
	"error": {
		"code": "0000",
		"message": "OK"
	}
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment