API para consulta del listado 69-B

Cuando la autoridad fiscal detecte que un contribuyente ha estado emitiendo comprobantes sin contar con los activos, personal, infraestructura o capacidad material, directa o indirectamente, para prestar los servicios o producir, comercializar o entregar los bienes que amparan tales comprobantes, o bien, que dichos contribuyentes se encuentren no localizados, se presumirá la inexistencia de las operaciones amparadas en tales comprobantes.

Reachcore pone a su disposición un API REST para llevar a cabo consultas al listado de contribuyentes publicado por el SAT y que se encuentran en los supuestos contenidos en el artículo 69-B del Código Fiscal de la Federación.

Esta API muestra información de la lista publicada por el SAT para el artículo 69-B del CFF únicamente. No muestra información de la lista para el artículo 69-A del CFF.

Contenido

Características generales

El API para consultas al listado de contribuyentes incumplidos permite consultar un RFC para conocer si el RFC consultado se encuentra o no en el listado completo de contribuyentes (para el artículo 69-B). Si se encuentra, se regresa el siguiente detalle:

  • Nombre o razón social del Contribuyente
  • Situación del Contribuyente
  • Número y fecha de oficio global de presuncion
  • Publicación en página del SAT de presuntos
  • Publicación en DOF de presuntos
  • Publicación en página del SAT de desvirtuados
  • Número y fecha de oficio global de contribuyentes que desvirtuaron
  • Publicación en DOF de contribuyentes que desvirtuaron
  • Número y fecha de oficio global de definitivos
  • Fecha de publicación en DOF Definitivos
  • Número y fecha de Oficio global de Sentencia Favorable
  • Publicación en página del SAT de sentencia favorable
  • Publicación en DOF de sentencia favorable

¿Qué necesito?

  • Tener activo el servicio de API para Consulta del listado 69-B en tu cuenta Reachcore.
  • Generar un API Key en tu cuenta Reachcore, ya que se usa para autenticar la solicitud en el API Rest. El API Key debe corresponder al ambiente en el que se realiza la solicitud. Para referencia de como generar el API Key, consulta el siguiente artículo: Generar API Key para Web Services.

Consulta de un RFC en lista 69-B

Para consultar un RFC en la lista 69-B, se debe enviar al API REST lo siguiente:

Ambiente URL
Piloto https://oat.reachcore.com/api/rest/listas/l69b
Producción https://go.reachcore.com/api/rest/listas/l69b


Todas las solicitudes se deberán hacer por httpS. Las conexiones realizadas por http serán rechazadas

Verbo HTTP: POST

Encabezado HTTP

Parámetro Valor Uso Descripción
RCApiKey API Key Requerido Autenticación al servicio por medio del API Key generado en la plataforma de Reachcore.
Content-Type application/json; charset=utf-8 Requerido El API REST sólo procesa estructuras JSON, motivo por el cual se debe declarar.
No incluir el valor de charset=utf-8 dentro del parámetro Content-Type puede ocasionar problemas con caracteres especiales como son & y Ñ.

Cuerpo

Solo se acepta la estructura de un JSON en el cuerpo del la petición. Los atributos soportados son los siguientes:

Atributo Uso Descripción
rfc Requerido Indica el valor del RFC que se desea consultar. Debe cumplir con la siguiente expresión regular: [A-Z,Ñ,&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z,0-9]?[A-Z,0-9]?[0-9,A-Z]?
Se puede indicar más de un RFC, sin embargo la consulta no debe exceder de 100 RFC por petición. Para indicar más de un RFC: separar por el caracter de coma ,


Cuerpo de la Petición

Un ejemplo de petición es el siguiente:

{
  "rfcs": [
    "ASE0201179X0",
    "ase0201179x0",
    "TEST010101000"
  ]
}
Se deben observar las siguientes consideraciones para las peticiones a esta API:
  • La cantidad máxima de RFC que se pueden consultar por petición es de 100
  • Los RFC que se consulten pueden estar en mayúsculas o minúsculas (siempre y cuando sigan el formato que define la expresión regular)
  • Si se envía 2 veces a validar el mismo RFC: sólo se recibirá el resultado de uno (es decir: no se regresará el mismo resultado dos veces)

Cuerpo de la Respuesta

Los elementos en la respuesta son los siguientes:

Elemento Descripción
queryDate Timestamp del momento de la consulta. Se expresa en formato yyyy-mm-ddThh:MM:ss
results Arreglo de resultados a la consulta de RFC solicitados
errors Arreglo de errores encontrados en la petición


Para el caso de peticiones cuya respuesta genera resultados, estos son los elementos que se regresan como parte del arreglo results:

Elemento Descripción
rfcConsultado RFC que se consultó
encontrado Indica si el RFC consultado se encontró en la lista para el artículo 69-B del SAT. Únicos valores manejados son Si para cuando el RFC consultado sí se encuentra en la lista, o No para cuando el RFC consultado no se encuentra en la lista.
nombre Nombre del Contribuyente en la lista
oficios Listado de oficios asociados al contribuyente en la lista para el artículo 69-B
Sólo los elementos rfcConsultado y encontrado se regresan por cada RFC consultado.
Los demás elementos sólo se regresan cuando el RFC es encontrado en el listado

Dentro de los oficios se pueden tener los siguientes elementos:

Elemento Descripción
situacion Situación del contribuyente
noOficioPresuncion Número y fecha de oficio global de presunción
fechaSATPresuncion Publicación página SAT presuntos
fechaDOFPresencion Publicación DOF presuntos
noOficioDesvirtuaron Número y fecha de oficio global de contribuyentes que desvirtuaron
fechaSATDesvirtuaron Publicación página SAT desvirtuados
fechaDOFDesvirtuaron Publicación DOF desvirtuados
noGlobalDefinitivos Número y fecha de oficio global de definitivos
fechaSATDefinitivos Publicación página SAT definitivos
fechaDOFDefinitivos Publicación DOF definitivos
noOficioSentenciaFavorable Número y fecha de oficio global de sentencia favorable
fechaSATSentenciaFavorable Publicación página SAT sentencia favorable
fechaDOFSentenciaFavorable Publicación DOF sentencia favorable
Si un RFC no tiene información de número de oficio, o fecha de algún estado: este elemento no se incluirá

Ejemplo de respuesta

{
    "queryDate": "2020-02-26T18:08:31",
    "results": [
        {
            "rfcConsultado": "ASE0201179X0",
            "encontrado": "No"
        },
        {
            "rfcConsultado": "TEST010101000",
            "nombre": "ESTA ES UNA PRUEBA, S.A. DE C.V.",
            "encontrado": "Si",
            "oficios": [
                {
                    "situacion": "Sentencia Favorable",
                    "noOficioPresuncion": "XXX-XX-20XX-XX710 de fecha XX de xxx de 20XX",
                    "fechaSATPresuncion": "20XX-XX-XXT00:00:00",
                    "fechaDOFPresencion": "20XX-XX-XXT00:00:00",
                    "noGlobalDefinitivos": "XXX-XX-20XX-XX004 de fecha XX de xxx de 20XX",
                    "fechaDOFDefinitivos": "20XX-XX-24T00:00:00",
                    "noOficioSentenciaFavorable": "XXX-XX-20XX-XX141 de fecha XX de xxx de 20XX"
                },
                {
                    "situacion": "Definitivo",
                    "noOficioPresuncion": "XXX-XX-20XX-XX219 de fecha XX de xxx de 20XX",
                    "fechaSATPresuncion": "20XX-XX-XXT00:00:00",
                    "fechaDOFPresencion": "20XX-XX-XXT00:00:00",
                    "noGlobalDefinitivos": "XXX-XX-20XX-XX910 de fecha XX de xxx de 20XX",
                    "fechaDOFDefinitivos": "20XX-XX-XXT00:00:00"
                }
            ]
        }
    ]
}

Cuando hay errores, el elemento errors tiene la siguiente información:

Elemento Descripción
Code Código del error
Message Mensaje o descripción asociada al código de error


Ejemplo de una respuesta con errores

{
    "errors": [
        {
            "Code": "400-001",
            "Message": "Los siguientes RFCs no cumplen con la expresión regular que define a un RFC: 'PRUEBAS010101000'"
        }
    ]
}

Códigos de respuesta

Como respuesta del API REST, obtendrá un código indicando el resultado de la operación. Todas las repuestas son en formato JSON (application/json)

Código HTTP Código error Significado Descripción
200 -- OK La consulta a la lista 69-B del SAT se completó de manera exitosa.
400 400-001 Bad Request Los siguientes RFCs no cumplen con la expresión regular que define a un RFC: {}
400 400-002 Bad Request El número total de RFCs {} rebasa el límite permitido: 100.
400 400-401 Bad Request No se encontró ningún criterio de búsqueda.
401 -- Unauthorized El API Key no es válido.
403 403-001 Forbidden La cuenta no tiene los permisos para usar el servicio de 'consulta de listado 69-B'.
404 -- Not Found La URL no existe
500 -- Internal Server Error Lo sentimos ha ocurrido un error, id de seguimiento: {}


Para mayor información o aclaración de dudas relacionadas con esta guía, por favor envía un correo a MEX-soporte@sovos.com


Regresar