Búsqueda de RFC en Listas Negras del SAT
Esta
transacción permite la búsqueda de un RFC particular en las Listas Negras
del SAT. La respuesta es una, o dos listas (en dependencia del parámetro de
búsqueda especificado), con el detalle de cada registro encontrado.
OBTENER_INFO_LN_SAT
Los parámetros de la solicitud se especificarán todos en Data1 (Data2 y Data3 vacíos). Los parámetros serán indicados en formato string (el ya conocido NamedStringDictionary), y codificado Base64.
Ejemplo
de valor para el parámetro Data1 (se
muestra en varias líneas y plano para que se entienda mejor, debe especificarse
en una sola y codificado Base64):
- <Dictionary name="Params">
<Entry k="SearchType" v="ALL"/>
<Entry k="TaxID" v="RFC A BUSCAR"/>
</Dictionary>
Definición de etiquetas Key:
SearchType: Indica en cuáles de las listas disponibles se
realizará la búsqueda (valores posibles: BL69B, BL69 y ALL);
obligatorio.
TaxID: Indica el RFC a buscar; obligatorio.
A continuación se muestra la manera en que debe realizarse la solicitud:
- <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ws="http://www.fact.com.mx/schema/ws">
<soap:Header/>
<soap:Body>
<ws:RequestTransaction>
<ws:Requestor>0c320b03-d4f1-47bc-9fb4-77995f9bf33e</ws:Requestor>
<ws:Transaction>OBTENER_INFO_LN_SAT</ws:Transaction>
<ws:Country>MX</ws:Country>
<ws:Entity>JES900109Q90</ws:Entity>
<ws:User>0c320b03-d4f1-47bc-9fb4-77995f9bf33e</ws:User>
<ws:UserName>Jan_Test</ws:UserName>
<ws:Data1>XML Dictionary en Base64</ws:Data1>
<ws:Data2></ws:Data2>
<ws:Data3></ws:Data3>
</ws:RequestTransaction>
</soap:Body>
</soap:Envelope>
RESPUESTA
- <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<RequestTransactionResponse xmlns="http://www.fact.com.mx/schema/ws">
<RequestTransactionResult>
<Request>
<Requestor>00000000-0000-0000-0000-000000000000</Requestor>
<RequestorActive>true</RequestorActive>
<Transaction>OBTENER_INFO_LN_SAT</Transaction>
<Country>MX</Country>
<Entity>JES900109Q90</Entity>
<User>00000000-0000-0000-0000-000000000000</User>
<UserName>Jan_Test</UserName>
<Id>30d4c057-f744-428c-b097-4df230d10f1f</Id>
<TimeStamp>2020-05-21T12:45:33.5547096-05:00</TimeStamp>
</Request>
<Response>
<Result>true</Result>
<TimeStamp>2020-05-21T12:45:34.6484305-05:00</TimeStamp>
<LastResult/>
<Code>1</Code>
<Description/>
<Hint/>
<Data>903 30d4c057-f744-428c-b097-4df230d10f1f</Data>
<Processor>TEST-BACK02</Processor>
</Response>
<ResponseData>
<ResponseData1>XML de respuesta codificado en Base64</ResponseData1>
<ResponseData2/>
<ResponseData3/>
</ResponseData>
</RequestTransactionResult>
</RequestTransactionResponse>
</soap:Body>
</soap:Envelope>
La
respuesta, en caso de que los datos sean válidos, siempre será exitosa (Result con valor true). Esto no indica que el RFC haya sido encontrado o no, lo cual
tendrá que ser confirmado en lo que se devuelve en ResponseData1.
Ejemplo
de valor devuelto en ResponseData1, formato XML (aunque se muestra plano, y en varias líneas, el valor de ResponseData1 viene codificado en Base64):
- <?xml version="1.0" encoding="utf-8"?>
<SatBLInfoRetrieverResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<TaxID>RFC</TaxID>
<Ds69b>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table1">
<xs:complexType>
<xs:sequence>
<xs:element name="No" type="xs:unsignedInt" minOccurs="0" />
<xs:element name="RFC" type="xs:string" minOccurs="0" />
<xs:element name="Name" type="xs:string" minOccurs="0" />
<xs:element name="SituacionContribuyente" type="xs:string" minOccurs="0" />
<xs:element name="NumeroFechaOficioGlobalPresuncion" type="xs:string" minOccurs="0" />
<xs:element name="PublicacionPaginaSatPresuntos" type="xs:string" minOccurs="0" />
<xs:element name="NumeroFechaOficioGlobalPresuncion1" type="xs:string" minOccurs="0" />
<xs:element name="PublicacionDofPresuntos" type="xs:string" minOccurs="0" />
<xs:element name="PublicacionPaginaSatDesvirtuados" type="xs:string" minOccurs="0" />
<xs:element name="NumeroFechaOficioGlobalContribuyenteDesvirtuado" type="xs:string" minOccurs="0" />
<xs:element name="PublicacionDofDesvirtuados" type="xs:string" minOccurs="0" />
<xs:element name="NumeroFechaOficioGlobalDefinitivos" type="xs:string" minOccurs="0" />
<xs:element name="PublicacionPaginaSatDefinitivos" type="xs:string" minOccurs="0" />
<xs:element name="PublicacionDofDefinitivos" type="xs:string" minOccurs="0" />
<xs:element name="NumeroFechaOficioGlobalSentenciaFavorable" type="xs:string" minOccurs="0" />
<xs:element name="PublicacionPaginaSatSentenciaFavorable" type="xs:string" minOccurs="0" />
<xs:element name="NumeroFechaOficioGlobalSentenciaFavorable1" type="xs:string" minOccurs="0" />
<xs:element name="PublicacionDofSentenciaFavorable" type="xs:string" minOccurs="0" />
<xs:element name="Source1" type="xs:int" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet>
<Table1 diffgr:id="Table11" msdata:rowOrder="0">
<No>5</No>
<RFC>RFC</RFC>
<Name>RAZÓN SOCIAL, S.A. DE CV.</Name>
<SituacionContribuyente>Presunto</SituacionContribuyente>
<NumeroFechaOficioGlobalPresuncion>500-05-2019-7349 de fecha 1 de abril de 2019</NumeroFechaOficioGlobalPresuncion>
<PublicacionPaginaSatPresuntos>01/04/2019</PublicacionPaginaSatPresuntos>
<NumeroFechaOficioGlobalPresuncion1>500-05-2019-7349 de fecha 1 de abril de 2019</NumeroFechaOficioGlobalPresuncion1>
<PublicacionDofPresuntos>26/04/2019</PublicacionDofPresuntos>
<PublicacionPaginaSatDesvirtuados />
<NumeroFechaOficioGlobalContribuyenteDesvirtuado />
<PublicacionDofDesvirtuados />
<NumeroFechaOficioGlobalDefinitivos />
<PublicacionPaginaSatDefinitivos />
<PublicacionDofDefinitivos />
<NumeroFechaOficioGlobalSentenciaFavorable />
<PublicacionPaginaSatSentenciaFavorable />
<NumeroFechaOficioGlobalSentenciaFavorable1 />
<PublicacionDofSentenciaFavorable />
<Source1>1000</Source1>
</Table1>
</NewDataSet>
</diffgr:diffgram>
</Ds69b>
<Ds69>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table1">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:unsignedInt" minOccurs="0" />
<xs:element name="RFC" type="xs:string" minOccurs="0" />
<xs:element name="Name" type="xs:string" minOccurs="0" />
<xs:element name="TipoPersona" type="xs:string" minOccurs="0" />
<xs:element name="Supuesto" type="xs:string" minOccurs="0" />
<xs:element name="FechasPrimeraPublicacion" type="xs:string" minOccurs="0" />
<xs:element name="Monto" type="xs:string" minOccurs="0" />
<xs:element name="FechaPublicacionConMonto" type="xs:string" minOccurs="0" />
<xs:element name="SinNombre1" type="xs:string" minOccurs="0" />
<xs:element name="SinNombre2" type="xs:string" minOccurs="0" />
<xs:element name="Source1" type="xs:int" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet>
<Table1 diffgr:id="Table11" msdata:rowOrder="0">
<Id>228634</Id>
<RFC>RFC</RFC>
<Name>RAZÓN SOCIAL, S.A. DE CV.</Name>
<TipoPersona>M</TipoPersona>
<Supuesto>FIRMES</Supuesto>
<FechasPrimeraPublicacion>16/02/2016</FechasPrimeraPublicacion>
<Source1>10</Source1>
</Table1>
<Table1 diffgr:id="Table12" msdata:rowOrder="1">
<Id>532708</Id>
<RFC>RFC</RFC>
<Name>RAZÓN SOCIAL, S.A. DE CV.</Name>
<TipoPersona>M</TipoPersona>
<Supuesto>NO LOCALIZADOS</Supuesto>
<FechasPrimeraPublicacion>01/10/2018</FechasPrimeraPublicacion>
<Monto xml:space="preserve"></Monto>
<Source1>11</Source1>
</Table1>
</NewDataSet>
</diffgr:diffgram>
</Ds69>
</SatBLInfoRetrieverResult>
Noten
en la respuesta del ejemplo anterior que el RFC indicado existe una vez en la
lista 69B y dos veces en la 69.
En ResponseData1 se devuelve una clase
serializada, que contiene el elemento TaxID (su valor coincide con el RFC indicado como
parámetro en TaxID), y dos NewDataSet serializados de la manera que siempre se ha entregado al
front para transacciones de este tipo.
El primer NewDataSet, de nombre Ds69b, devuelve todos los registros encontrados en la
Lista Negra del SAT 69B; por
supuesto, eso en caso de que haya sido tenida en cuenta de acuerdo al valor
indicado para el parámetro SearchType (BL69B y ALL).
El segundo NewDataSet,
de nombre Ds69,
devuelve todos los registros encontrados en la Lista Negra del SAT 69; por supuesto, eso en caso de que
haya sido tenida en cuenta de acuerdo al valor indicado para el parámetro SearchType (BL69 y ALL).
Todos
los parámetros que se especifican en el Dictionary
son obligatorios; cualquiera que no sea indicado (o que su valor sea incorrecto
contra lo especificado en este documento), generará un error cuyo mensaje indica
el motivo.
A continuación encontrará
ejemplos adjuntos utilizando esta transacción que le servirán de guía
para llevar su integración de manera eficiente.
Related Articles
Búsqueda de RFC en Listas Negras del SAT
Esta transacción permite la búsqueda de un RFC particular en las Listas Negras del SAT. La respuesta es una, o dos listas (en dependencia del parámetro de búsqueda especificado), con el detalle de cada registro encontrado. OBTENER_INFO_LN_SAT_HTML El ...
Búsqueda por RFC en Listas Negras
SERVICIO API LISTAS NEGRAS SAT Documentación Técnica 1.- ALTA COMO DESARROLLADOR Para darse de alta y solicitar el enrolamiento como desarrollador debe ingresar a la siguiente URL: https://mysuiteapi.developer.azure-api.net/ Llenar la información ...
Recuperación de Lista de Alertas por Listas Negras del SAT
Esta transacción permite recuperar la lista (paginada y que cumplan criterios de filtrado establecidos, así como un ordenamiento indicado), con los metadatos asociados a Alertas por operaciones con empresas publicadas en las Listas Negras del SAT. La ...
Recuperación de Lista de Alertas por Listas Negras del SAT
Esta transacción permite recuperar la lista (paginada y que cumplan criterios de filtrado establecidos, así como un ordenamiento indicado), con los metadatos asociados a Alertas por operaciones con empresas publicadas en las Listas Negras del SAT. La ...
Cambio de Estado (Leída/No Leída), de Alerta en Listas Negras del SAT.
Esta transacción permite cambiar el estado de Leída / No Leída a una alerta por operaciones con empresas publicadas en las Listas Negras del SAT. CAMBIAR_ESTADO_LEIDA_ALERTA_LN_HTML El valor suministrado en el parámetro jsonData es la serialización ...