Efisco API

Este servicio realiza la solicitud de descarga masiva y genera reportes de los archivos descargados. Es necesario contar con un Token de acceso o Token Infinito para poder usar los servicios.

🧰 Url Producción : https://api.sw.com.mx

La descarga de archivos xml con estatus cancelado solo pueden ser descargados mediante Portal SAT(scraping). La descarga mediante Web Service solo obtiene los CFDI’s con estatus cancelados a través de los metadata.

Se podrá descargar información histórica de hasta 5 años y el ejercicio en curso.

Flujos de Efisco

Servicio para trabajar con certificados

Efisco FIEL

Almacenar Certificados

Almacena una nueva fiel en el sistema.

Endpoint

Método Ruta
POST /gestion/v1/api/certificates/create/fiel

Autenticación y Headers

Header Value
Authorization Bearer Token
Content-Type application/json

Parámetros JSON

Propiedad Tipo Uso Descripción
privatekey string Requerido Key en Base64
publickey string Requerido CSD en Base64
password string Requerido Contraseña del certificado

Ejemplo Request

curl --location --request POST 'https://api.sw.com.mx/gestion/v1/api/certificates/create/fiel' \
--header 'Authorization: bearer {{token}}' \
--header 'Content-Type: application/json' \
--data-raw '{
	"privatekey": "{{contentb64Key}}",
	"publickey": "{{contentb64Cer}}",
	"password" : "12345678a"
}'

Ejemplo Response

Response Ok
{
    "data": {
        "idUser": null,
        "idDealer": null,
        "taxId": {{rfc}},
        "createdDate": "0001-01-01T00:00:00",
        "serialNumber": null,
        "name": null,
        "notBefore": "0001-01-01T00:00:00",
        "notAfter": "0001-01-01T00:00:00",
        "encryptedPfx": null,
        "encryptedPK": null,
        "encryptedPassword": null
    },
    "status": "success",
    "message": "",
    "messageDetail": ""
}

Obtener Certificados

Consulta paginada de llaves Fiel pertenecientes al usuario del token.

Endpoint

Método Ruta
POST /gestion/v1/api/certificates/get/fiel?page=1&per_page=5

Parámetros Query

Propiedad Uso Descripción
page Requerido Pagina que se extrae en la consulta
per_page Requerido Numero de registros por pagina

Autenticación y Headers

Header Value
Authorization Bearer Token

Ejemplo Request

curl --location --request POST 'https://api.sw.com.mx/gestion/v1/api/certificates/get/fiel?page=1&per_page=5' \
--header 'Authorization: bearer {{token}}'

Ejemplo Response

Response Ok
{
    "data": {
        "metaData": {
            "page": 1,
            "perPage": 5,
            "pageCount": 3,
            "totalCount": 3,
            "links": {
                "current": "?page=1&per_page=5"
            }
        },
        "records": [
            {
                "taxId": "{{anyRFC}}",
                "createdDate": "2021-04-14T17:36:29",
                "serialNumber": "30001000000300022754",
                "name": "Enrique Campos",
                "notBefore": "2019-05-28T21:49:54",
                "notAfter": "2023-05-27T21:49:54"
            },
            {
                "taxId": "{{anyRFC}}",
                "createdDate": "2019-12-11T23:41:15",
                "serialNumber": "30001000000300022752",
                "name": "Enrique Campos",
                "notBefore": "2016-10-11T21:31:20",
                "notAfter": "2020-10-11T21:32:00"
            },
            {
                "taxId": "{{anyRFC}}",
                "createdDate": "2019-11-20T03:55:09",
                "serialNumber": "30001000000300022751",
                "name": "Enrique Campos",
                "notBefore": "2017-05-23T14:30:07",
                "notAfter": "2021-05-23T14:30:47"
            }
        ]
    },
    "status": "success",
    "message": "OK",
    "messageDetail": ""
}

Eliminar certificados

Borra una llave almacenada.

Endpoint

Método Ruta
DELETE /gestion/v1/api/certificates/{taxId}

Autenticación y Headers

Header Value
Authorization Bearer Token

Parámetros Path

Propiedad Uso Descripción
taxId Requerido RFC

Ejemplo Request

curl --location --request DELETE 'https://api.sw.com.mx/gestion/v1/api/certificates/{taxId}' \
--header 'Authorization: bearer {{token}}'

Ejemplo Response

Response Ok
{
    "data": "Certificado 30001000000400002423 eliminado exitosamente.",
    "status": "success",
    "message": "OK",
    "messageDetail": ""
}

 

Creación Solicitudes descarga masiva

Efisco solicitud de descarga

Documentación

Documentación

RequestType

  • WebService = 0
  • WebPortal = 1
  • Metadata = 2

DocumentType

  • Emision = 0
  • Recepcion = 1

ProcessType

  • XmlReport = 0
  • PDF = 1
  • MetadataReport = 2

statusRequest

  • InProgress= 1
  • Ready = 2
  • Error = 3
  • Expired = 4
  • NotFound = 5
  • Completed = 6

Solicitud Scraping

Crea una nueva solicitud de descarga masiva usando el servicio de scraping.
Esta forma de descarga tiene una limitante de 2,000 documentos Por día y podrás descargar los comprobantes de inmediato.

Endpoint

Método Ruta
POST /gestion/v1/api/massiveservicemanager/request/create/webportal

Autenticación y Headers

Header Value
Authorization Bearer Token
Content-Type application/json

Parámetros JSON

Propiedad Tipo Uso Descripción
documentType string Requerido Tipo de documento (Emision, Recepcion)
startDate string Requerido Fecha de inicio (“aaaa-mm-dd”)
endDate string Requerido Fecha de fin (“aaaa-mm-dd”)
taxId string Requerido RFC del usuario
generatePDF bool Requerido (Default = false) Especificar si se generaran facturas PDF

Ejemplo Request

curl --location --request POST 'https://api.sw.com.mx/gestion/v1/api/massiveservicemanager/request/create/webportal' \
--header 'Content-Type: application/json' \
--header 'Authorization: bearer {{token}}' \
--data-raw '{
    "documentType":"Emision",
    "startDate":"2021-07-28",
    "endDate":"2021-07-28",
    "taxId":"{{rfc}}",
    "generatePDF" : "false"
}'

Ejemplo Response

Response Ok
{
    "data": {
        "idDealer": "ce8ec187-73a6-49f1-b956-6521bf673edd",
        "idUser": "ce8ec187-73a6-49f1-b956-6521bf673edd",
        "requestId": "f326848a-f560-4a66-b858-27a29fe4bbc0",
        "taxId": "{{rfc}}",
        "createdDate": "2021-05-06T11:46:44.0829232",
        "dateFrom": "2021-05-20T00:00:00",
        "dateTo": "2021-05-20T00:00:00",
        "requestType": 1,
        "documentType": 0,
        "statusRequest": 1,
        "message": "La solicitud de descarga de xml se encuentra en progreso",
        "totalFiles": 0,
        "rfcEmisor": null,
        "rfcReceptor": null,
        "efosIndicator": 0,
        "processes": [
            {
                "requestId": "f326848a-f560-4a66-b858-27a29fe4bbc0",
                "idDealer": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                "idUser": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                "processType": 0,
                "statusProcess": 1,
                "message": "",
                "url": null,
                "createdDate": "2021-05-06T11:46:44.0829232"
            }
        ]
    },
    "status": "success",
    "message": "OK",
    "messageDetail": ""
}

Solicitud WebService

Crea una nueva solicitud de descarga masiva usando el WebService del SAT.
Esta forma de descarga tiene una limitante de hasta 200,000 registros por vez y el SAT puede demorar hasta 6 días naturales en regresar los registros.

Endpoint

Método Ruta
POST /gestion/v1/api/massiveservicemanager/request/create/webservice

Autenticación y Headers

Header Value
Authorization Bearer Token
Content-Type application/json

Parámetros JSON

Propiedad Tipo Uso Descripción
documentType string Requerido Tipo de documento (Emision, Recepcion)
startDate string Requerido Fecha de inicio (“aaaa-mm-dd”)
endDate string Requerido Fecha de fin (“aaaa-mm-dd”)
taxId string Requerido RFC del usuario
generatePDF bool Requerido (Default = false) Especificar si se generaran facturas PDF

Ejemplo Request

curl --location --request POST 'https://api.sw.com.mx/gestion/v1/api/massiveservicemanager/request/create/webservice' \
--header 'Authorization: Bearer {{token}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "documentType":"Emision",
    "startdate":"2021-04-02",
    "enddate":"2021-04-09",
    "taxId":"{{rfc}}",
    "generatePDF":"false"
}'

Ejemplo Response

Response Ok
{
    "data": {
        "idDealer": "ce8ec187-73a6-49f1-b956-6521bf673edd",
        "idUser": "ce8ec187-73a6-49f1-b956-6521bf673edd",
        "requestId": "f326848a-f560-4a66-b858-27a29fe4bbc0",
        "taxId": "{{rfc}}",
        "createdDate": "2021-05-06T11:46:44.0829232",
        "dateFrom": "2021-05-20T00:00:00",
        "dateTo": "2021-05-20T00:00:00",
        "requestType": 0,
        "documentType": 0,
        "statusRequest": 1,
        "message": "La solicitud de descarga de xml se encuentra en progreso",
        "totalFiles": 0,
        "rfcEmisor": null,
        "rfcReceptor": null,
        "efosIndicator": 0,
        "processes": [
            {
                "requestId": "f326848a-f560-4a66-b858-27a29fe4bbc0",
                "idDealer": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                "idUser": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                "processType": 0,
                "statusProcess": 1,
                "message": "",
                "url": null,
                "createdDate": "2021-05-06T11:46:44.0829232"
            }
        ]
    },
    "status": "success",
    "message": "OK",
    "messageDetail": ""
}

Solicitud Metadata

Genera una solicitud de descarga de la metadata de los CFDI.
Esta forma de descarga puede obtener hasta 1 millon registros por vez y puede demorar hasta 6 días naturales, incluye CFDI’s cancelados.

Endpoint

Método Ruta
POST /gestion/v1/api/MassiveServiceManager/request/create/webservice/metadata

Autenticación y Headers

Header Value
Authorization Bearer Token
Content-Type application/json

Parámetros JSON

Propiedad Tipo Uso Descripción
documentType string Requerido Tipo de documento (Emision, Recepcion)
startDate string Requerido Fecha de inicio (“aaaa-mm-dd”)
endDate string Requerido Fecha de fin (“aaaa-mm-dd”)
taxId string Requerido RFC del usuario
generatePDF bool Requerido (Default = false) Especificar si se generaran facturas PDF

Ejemplo Request

curl --location --request POST 'https://api.sw.com.mx/gestion/v1/api/MassiveServiceManager/request/create/webservice/metadata' \
--header 'Authorization: bearer {{token}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "documentType":"Emision",
    "startdate":"2021-04-02",
    "enddate":"2021-04-09",
    "taxId":"{{rfc}}",
    "generatePDF":"false"
}'

Ejemplo Response

Response Ok
{
    "data": {
        "idDealer": "ce8ec187-73a6-49f1-b956-6521bf673edd",
        "idUser": "ce8ec187-73a6-49f1-b956-6521bf673edd",
        "requestId": "f326848a-f560-4a66-b858-27a29fe4bbc0",
        "taxId": "{{rfc}}",
        "createdDate": "2021-05-06T11:46:44.0829232",
        "dateFrom": "2021-05-20T00:00:00",
        "dateTo": "2021-05-20T00:00:00",
        "requestType": 0,
        "documentType": 0,
        "statusRequest": 1,
        "message": "La solicitud de descarga de xml se encuentra en progreso",
        "totalFiles": 0,
        "rfcEmisor": null,
        "rfcReceptor": null,
        "efosIndicator": 0,
        "processes": [
            {
                "requestId": "f326848a-f560-4a66-b858-27a29fe4bbc0",
                "idDealer": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                "idUser": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                "processType": 0,
                "statusProcess": 1,
                "message": "",
                "url": null,
                "createdDate": "2021-05-06T11:46:44.0829232"
            }
        ]
    },
    "status": "success",
    "message": "OK",
    "messageDetail": ""
}

Descarga Programada

Se crea tarea programada de descarga de CFDI periódicamente.

Endpoint

Método Ruta
POST /gestion/v1/api/GestionXml/scheduler/create

Autenticación y Headers

Header Value
Authorization Bearer Token
Content-Type application/json

Parámetros JSON

Propiedad Tipo Uso Descripción
Active int Requerido Estatus de la descarga
Schedule string Requerido Horario de la descarga (“hh/mm/ss”)
DocumentType string Requerido Tipo de documento
TaxId string Requerido RFC del usuario
LapseDays int Requerido Rango de días de la información a descargar
ProcessType int Requerido Tipo de proceso
FrecuencyInDays int Requerido Frecuencia en dias con la que se hará la descarga

Ejemplo Request

curl --location --request POST 'https://api.sw.com.mx/gestion/v1/api/GestionXml/scheduler/create' \
--header 'Authorization: bearer {{token}}' \
--header 'Content-Type: application/json' \
--data-raw '[{
"Active":0,
"Schedule":"00:00:00",
"DocumentType":1,
"TaxId":"{{rfc}}",
"LapseDays":1,
"ProcessType":2,
"FrecuencyInDays":1
}]'

Ejemplo Response

Response Ok
{
    "data": "Datos insertados.",
    "status": "success",
    "message": "OK",
    "messageDetail": ""
}

Consulta Solicitudes descarga masiva

Efisco Consulta de solicitud

Consulta Paginada

Consulta paginada de solicitudes creadas pertenecientes al usuario del token.

Endpoint

Método Ruta
GET /gestion/v1/api/gestionxml/request?page=1&per_page=1

Parámetros Query

Propiedad Uso Descripción
page Requerido Pagina que se extrae en la consulta
per_page Requerido Numero de registros por pagina

Autenticación y Headers

Header Value
Authorization Bearer Token

Ejemplo Request

curl --location --request GET 'https://api.sw.com.mx/gestion/v1/api/gestionxml/request?page=1&per_page=1' \
--header 'Authorization: bearer {{token}}'

Ejemplo Response

Response Ok
{
    "data": {
        "metaData": {
            "page": 1,
            "perPage": 1,
            "pageCount": 1,
            "totalCount": 129,
            "links": {
                "current": "?page=1&per_page=1",
                "next": "?page=2&per_page=1"
            }
        },
        "records": [
            {
                "idDealer": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                "idUser": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                "requestId": "5c369ec2-1606-4ebd-9527-aa3838836d80",
                "taxId": "{{rfc}}",
                "createdDate": "2021-05-06T12:28:04",
                "dateFrom": "2021-05-20T00:00:00",
                "dateTo": "2021-05-20T00:00:00",
                "requestType": 1,
                "documentType": 0,
                "statusRequest": 6,
                "message": "OK",
                "totalFiles": 0,
                "rfcEmisor": null,
                "rfcReceptor": null,
                "efosIndicator": 0,
                "processes": [
                    {
                        "requestId": "5c369ec2-1606-4ebd-9527-aa3838836d80",
                        "idDealer": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                        "idUser": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                        "processType": 0,
                        "statusProcess": 6,
                        "message": "OK",
                        "url": "ce8ec187-73a6-49f1-b956-6521bf673edd/20-04-2021/Report_5c369ec2-1606-4ebd-9527-aa3838836d80.zip",
                        "createdDate": "2021-05-06T12:28:04"
                    }
                ]
            }
        ]
    },
    "status": "success",
    "message": "OK",
    "messageDetail": ""
}

Consulta por ID

Consulta por ID de solicitud creada perteneciente al usuario del token.

Endpoint

Método Ruta
GET /gestion/v1/api/gestionxml/{idRequest}

Autenticación y Headers

Header Value
Authorization Bearer Token

Parámetros Path

Propiedad Uso Descripción
idRequest Requerido ID de la solicitud

Ejemplo Request

curl --location -g --request GET 'https://api.sw.com.mx/gestion/v1/api/gestionxml/{idRequest}' \
--header 'Authorization: bearer {{token}}'

Ejemplo Response

Response Ok
{
    "data": {
        "idDealer": "ce8ec187-73a6-49f1-b956-6521bf673edd",
        "idUser": "ce8ec187-73a6-49f1-b956-6521bf673edd",
        "requestId": "f326848a-f560-4a66-b858-27a29fe4bbc0",
        "taxId": "{{rfc}}",
        "createdDate": "2021-05-06T11:46:44",
        "dateFrom": "2021-05-20T00:00:00",
        "dateTo": "2021-05-20T00:00:00",
        "requestType": 1,
        "documentType": 0,
        "statusRequest": 3,
        "message": "OK",
        "totalFiles": 0,
        "rfcEmisor": null,
        "rfcReceptor": null,
        "efosIndicator": 0,
        "processes": [
            {
                "requestId": "f326848a-f560-4a66-b858-27a29fe4bbc0",
                "idDealer": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                "idUser": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                "processType": 0,
                "statusProcess": 6,
                "message": "OK",
                "url": "ce8ec187-73a6-49f1-b956-6521bf673edd/20-04-2021/Report_f326848a-f560-4a66-b858-27a29fe4bbc0.zip",
                "createdDate": "2021-05-06T11:46:44"
            }
        ]
    },
    "status": "success",
    "message": "OK",
    "messageDetail": ""
}

Consulta Programada

Consulta registros de solicitudes programadas creadas pertenecientes al usuario del token.

Endpoint

Método Ruta
GET /gestion/v1/api/GestionXml/scheduler

Autenticación y Headers

Header Value
Authorization Bearer Token

Ejemplo Request

curl --location --request GET 'https://api.sw.com.mx/gestion/v1/api/GestionXml/scheduler' \
--header 'Authorization: bearer {{token}}'

Ejemplo Response

Response Ok
{
    "data": {
        "metaData": {
            "page": 1,
            "perPage": 10,
            "pageCount": 3,
            "totalCount": 3,
            "links": {
                "current": "?page=1&per_page=10"
            }
        },
        "records": [
            {
                "idDealer": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                "idUser": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                "active": 0,
                "lapseDays": 2,
                "schedule": "00:00:00",
                "documentType": 0,
                "taxId": "{{rfc}}",
                "token": "{{token}}",
                "visited": "2021-05-06T14:30:38",
                "processType": 1,
                "nextSchedule": "2020-11-09T00:00:00",
                "frequencyInDays": 90,
                "generatePdf": 0,
                "googleDrive": 0
            },
            {
                "idDealer": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                "idUser": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                "active": 1,
                "lapseDays": 2,
                "schedule": "00:00:00",
                "documentType": 0,
                "taxId": "{{rfc}}",
                "token": "{{token}}",
                "visited": "2021-05-06T11:30:39",
                "processType": 1,
                "nextSchedule": "0001-01-01T00:00:00",
                "frequencyInDays": 7,
                "generatePdf": 0,
                "googleDrive": 0
            },
            {
                "idDealer": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                "idUser": "ce8ec187-73a6-49f1-b956-6521bf673edd",
                "active": 0,
                "lapseDays": 1,
                "schedule": "00:00:00",
                "documentType": 1,
                "taxId": "{{rfc}}",
                "token": "{{token}}",
                "visited": "2021-05-06T12:30:38",
                "processType": 2,
                "nextSchedule": "0001-01-01T00:00:00",
                "frequencyInDays": 1,
                "generatePdf": 0,
                "googleDrive": 0
            }
        ]
    },
    "status": "success",
    "message": "OK",
    "messageDetail": ""
}

Descarga de archivos descarga masiva

Efisco Descarga

Obtener URL

Genera path público de descarga de documentos mediante el path privado de S3.

Endpoint

Método Ruta
POST /gestion/v1/api/file

Autenticación y Headers

Header Value
Authorization Bearer Token
Content-Type application/json

Parámetros JSON

Propiedad Tipo Uso Descripción
pathFile string Requerido Path privado de S3

Ejemplo Request

curl --location --request POST 'https://api.sw.com.mx/gestion/v1/api/file' \
--header 'Authorization: bearer {{token}}' \
--data-raw '{
    "pathFile":"ce8ec187-73a6-49f1-b956-6521bf673edd/20-04-2021/Report_f326848a-f560-4a66-b858-27a29fe4bbc0.zip"
}'

Ejemplo Response

Response Ok
{
    "data": "https://smarter-gestion-xml-s3-prod.s3.amazonaws.com/ce8ec187-73a6-49f1-b956-6521bf673edd/20-04-2021/Report_f326848a-f560-4a66-b858-27a29fe4bbc0.zip?AWSAccessKeyId=AKIAVRP5AMYOYVPEJ3XV&Expires=1620414369&Signature=2ZJWNVyyC8LwJcXHCelGcIAcnQ4%3D",
    "status": "success",
    "message": "OK",
    "messageDetail": ""
}


En SW® somos mejores para TI, es por ello que tu opinión es muy importante, por favor ayúdanos calificando este articulo y dejando tus comentarios.

How useful was this post?

Click on a star to rate it!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Updated on enero 15, 2024

Related Articles