Consulta LRFC

Servicio para identificar que los RFC (emisores y receptores) que intervienen en el proceso sean válidos, es decir que estén en la LCO (Lista de Contribuyentes con Obligación ante el SAT). Muchos de los errores en RFC se dan al momento de capturarlos de manera incorrecta, confundiendo el “6” con la letra “G” o el “0” con la letra “O”, la causa también puede ser que un contribuyente le dejó de pagar sus obligaciones al SAT y lo dieron de baja.

Este servicio recibe el token y el LRFC que se desea validar

Ruta
Operación
Descripción
/lrfc/{LRFC}
GET Ruta para consultar LRFC.

HTTP Request

 

En caso de obtener una respuesta satisfactoria nos regresará los elementos:

  • contribuyenteRFC: valor del RFC enviado a válidar para comprobar exista correspondencia entre la información solicitada y la información recibida.
  • sncf: Valor registrado como verdadero en caso de que el RFC a válidar sea de un empleado laborando ante una institución de gobierno.
  • subcontratacion: valor verdadero o falso para el caso de los empleados que fueran contratados bajo el esquema de subcontratación.

HTTP Response

En caso de que nuestro RFC sea inválido recibiremos un mensaje CS1002, indicandonos que no se encuentra entre la LRFC el RFC a válidar.

Respuesta no exitosa

Validar LRFC con las librerías


Ir al Repositorio de C# en GitHub

using System;
using System.IO;
using System.Text;
using SW.Helpers;
using SW.Services.Validate;
namespace ExampleSDK
{
    class Program
    {
        static void Main()
        {
            try
            {
                //Creamos una instancia de tipo Validate
                //A esta le pasamos la Url, Usuario y Contraseña para obtener el token
                //Automaticamente despues de obtenerlo se procedera a validar el XML
                Validate validate = new Validate ("http://services.test.sw.com.mx", "demo", "123456789");
                ValidateLrfcResponse response = validate.ValidateLrfc("LAN7008173R5");
                //Para obtener el status
                Console.Write(response.status);
                //Para obtener el contribuyente
                Console.Write(response.data.contribuyenteRFC);
                //Para obtener el campo sncf
                Console.Write(response.data.sncf);
                //Para obtener si es subcontratado
                Console.Write(response.data.subcontratacion);
                //En caso de error se pueden consultar los siguientes campos
                Console.WriteLine(response.message);
                Console.WriteLine(response.messageDetail);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}


Ir al Repositorio de Java en GitHub

package sample_test;
import Services.Validate.SWValidateService;
import Utils.Responses.Validate.ValidateLrfcResponse;

public class Sample_test {

    public static void main(String args) {

        String token = "T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbXB3YVZxTHdOdHAwVXY2NTdJb1hkREtXTzE3dk9pMmdMdkFDR2xFWFVPUXpTUm9mTG1ySXdZbFNja3FRa0RlYURqbzdzdlI2UUx1WGJiKzViUWY2dnZGbFloUDJ6RjhFTGF4M1BySnJ4cHF0YjUvbmRyWWpjTkVLN3ppd3RxL0dJPQ.T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbFlVcU92YUJTZWlHU3pER1kySnlXRTF4alNUS0ZWcUlVS0NhelhqaXdnWTRncklVSWVvZlFZMWNyUjVxYUFxMWFxcStUL1IzdGpHRTJqdS9Zakw2UGRiMTFPRlV3a2kyOWI5WUZHWk85ODJtU0M2UlJEUkFTVXhYTDNKZVdhOXIySE1tUVlFdm1jN3kvRStBQlpLRi9NeWJrd0R3clhpYWJrVUMwV0Mwd3FhUXdpUFF5NW5PN3J5cklMb0FETHlxVFRtRW16UW5ZVjAwUjdCa2g0Yk1iTExCeXJkVDRhMGMxOUZ1YWlIUWRRVC8yalFTNUczZXdvWlF0cSt2UW0waFZKY2gyaW5jeElydXN3clNPUDNvU1J2dm9weHBTSlZYNU9aaGsvalpQMUxrUndzK0dHS2dpTittY1JmR3o2M3NqNkh4MW9KVXMvUHhZYzVLQS9UK2E1SVhEZFJKYWx4ZmlEWDFuSXlqc2ZRYXlUQk1ldlZkU2tEdU10NFVMdHZKUURLblBxakw0SDl5bUxabDFLNmNPbEp6b3Jtd2Q1V2htRHlTdDZ6eTFRdUNnYnVvK2tuVUdhMmwrVWRCZi9rQkU9.7k2gVCGSZKLzJK5Ky3Nr5tKxvGSJhL13Q8W-YhT0uIo";
        try {
            //Ejemplo de Validar LRFC utilizando la librería sw-java
            //Es preferible inicializar el objeto con el usuario y password de nuestra cuenta, en caso contrario se puede incluir solamente el token de acceso
            //Se especifica el base path, esto para consumir el api de pruebas o productivo
            SWValidateService api = new SWValidateService("demo", "123456789", "http://services.test.sw.com.mx");
            //Se inicializa un objeto response, que obtendra la respuesta del api
            ValidateLrfcResponse response = null;
            //Se ejecuta el metodo "ValidateLrfc", que generará los datos requeridos
            response = (ValidateLrfcResponse) api.ValidateLrfc("LAN7008173R5");
            //El objeto response tendra así los atributos:
            //Status: estado de la petición procesada, puede ser : "success", "fail", "error"
            //HttpStatusCode: Codigo de respuesta HTTP del servidor: eg. 200, 400, 500
            System.out.println(response.Status);
            System.out.println(response.HttpStatusCode);
            System.out.println(response.contribuyenteRFC);
            System.out.println(response.sncf);
            System.out.println(response.subcontratacion);
            // En caso de error, se pueden visualizar los campos message y/o messageDetail
            System.out.println(response.message);
            System.out.println(response.messageDetail);

        } catch (Exception e) {
            //En caso de obtener estatus "fail", "error"
            //Se generara una excepción
            System.out.println(e.getMessage());
        }
    }
}


Ir al Repositorio de PHP en GitHub

<?php require_once "vendor/autoload.php";

use SWServicesValidationValidaLrfc as validaLrfc; 

$params = array( "url"=> "services.test.sw.com.mx",
		"token"=> "T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbXB3YVZxTHdOdHAwVXY2NTdJb1hkREtXTzE3dk9pMmdMdkFDR2xFWFVPUXpTUm9mTG1ySXdZbFNja3FRa0RlYURqbzdzdlI2UUx1WGJiKzViUWY2dnZGbFloUDJ6RjhFTGF4M1BySnJ4cHF0YjUvbmRyWWpjTkVLN3ppd3RxL0dJPQ.T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbFlVcU92YUJTZWlHU3pER1kySnlXRTF4alNUS0ZWcUlVS0NhelhqaXdnWTRncklVSWVvZlFZMWNyUjVxYUFxMWFxcStUL1IzdGpHRTJqdS9Zakw2UGRiMTFPRlV3a2kyOWI5WUZHWk85ODJtU0M2UlJEUkFTVXhYTDNKZVdhOXIySE1tUVlFdm1jN3kvRStBQlpLRi9NeWJrd0R3clhpYWJrVUMwV0Mwd3FhUXdpUFF5NW5PN3J5cklMb0FETHlxVFRtRW16UW5ZVjAwUjdCa2g0Yk1iTExCeXJkVDRhMGMxOUZ1YWlIUWRRVC8yalFTNUczZXdvWlF0cSt2UW0waFZKY2gyaW5jeElydXN3clNPUDNvU1J2dm9weHBTSlZYNU9aaGsvalpQMUxrUndzK0dHS2dpTittY1JmR3o2M3NqNkh4MW9KVXMvUHhZYzVLQS9UK2E1SVhEZFJKYWx4ZmlEWDFuSXlqc2ZRYXlUQk1ldlZkU2tEdU10NFVMdHZKUURLblBxakw0SDl5bUxabDFLNmNPbEp6b3Jtd2Q1V2htRHlTdDZ6eTFRdUNnYnVvK2tuVUdhMmwrVWRCZi9rQkU9.7k2gVCGSZKLzJK5Ky3Nr5tKxvGSJhL13Q8W-YhT0uIo",
	);

	try {
		$validateLCRFC = validaLrfc::Set($params);
		$resultadoLRFC= $validateLCRFC::ValidaLrfc("LSO1306189R5");

		//Para Obtener el contribuyenteRFC
        	$result->data->contribuyenteRFC;
	        //Para saber si cuenta con sncf
	        $result->data->sncf;
	        //Para saber si es subcontratacion
	        $result->data->subcontratacion;
        
       		 //En caso de error, se pueden visualizar los campos message y/o messageDetail
	        $result->message;
	        $result->messageDetail;
	} catch(Exception $e) { //en caso de obtener una excepción
		echo "Caught exception: ",  $e->getMessage(), "
";
	}
?>

 

 

Para realizar la integración con nuestros servicios recomendamos utilizar POSTMAN , facilita las pruebas previas a la codificación.
Puedes importar el archivo POSTMAN-collection que proporcionamos al final del articulo para su descarga en POSTMAN para que puedas realizar pruebas funcionales de nuestro servicio.

Updated on junio 9, 2021

Article Attachments

Was this article helpful?

Related Articles