Manual de API Empresa Drivers

Introducción

El Consorcio World Wide Web (W3C) es una comunidad internacional donde las organizaciones Miembro desarrollan estándares Webs, y han definido los Web Services como sistemas de software creados para soportar una interacción interoperable equipo a equipo sobre una red.
Los Web Services suelen ser APIs Web que pueden ser accedidos dentro de una red (principalmente Internet) y son ejecutados en el sistema donde residen.
El estilo de arquitectura que hemos utilizado es el REST (Representational State Transfer), de tal manera que los servicios web deben cumplir con los siguientes principios:

  • Un protocolo cliente/servidor sin estado: cada mensaje HTTP contiene toda la información necesaria para comprender la petición. Por lo que ni el cliente ni el servidor necesitan recordar ningún estado de las comunicaciones entre mensajes. Sin embargo, en la práctica, muchas aplicaciones basadas en HTTP utilizan cookies y otros mecanismos para mantener el estado de la sesión (algunas de estas prácticas, como la reescritura de URLs, no son permitidas por REST).
  • Un conjunto de operaciones bien definidas que se aplican a todos los recursos de información: HTTP en sí define un conjunto pequeño de operaciones, las más importantes son POST, GET, PUT y DELETE. Con frecuencia estas operaciones se equiparan a las operaciones CRUD en bases de datos (ABMC: Alta, Baja, Modificación y Consulta) que se requieren para la persistencia de datos, aunque POST no encaja exactamente en este esquema.
  • Una sintaxis universal para identificar los recursos. En un sistema REST, cada recurso es direccionable únicamente a través de su URI.
  • El uso de hipermedios, tanto para la información de la aplicación como para las transiciones de estado de la aplicación: la representación de este estado en un sistema REST son típicamente HTML o XML. Como resultado de esto, es posible navegar de un recurso REST a muchos otros, simplemente siguiendo enlaces sin requerir el uso de registros u otra infraestructura adicional.

A continuación, se ilustran estos fundamentos.

Cliente/Servidor

Como servicios web, son cliente servidor y definen una interfaz de comunicación entre ellos, separando completamente las responsabilidades entre ambas partes.

 

 

Sin estado

Son servicios web que no mantienen estado asociado al cliente. Cada petición que se realiza a ellos es completamente independiente de la siguiente. Todas las llamadas al mismo servicio serán idénticas.

 

Caché

El contenido de los servicios web REST se puede cachear de tal forma que, una vez realizada la primera petición al servicio, el resto puedan apoyarse en el caché si fuera necesario.

 

Servicios Uniformes

Todos los servicios REST compartirán una forma de invocación y métodos uniforme utilizando los métodos GET, POST, PUT y DELETE.

 

Arquitectura en capas

Todos los servicios REST están orientados hacia la escalabilidad y un cliente REST no será capaz de distinguir entre si está realizando una petición directamente al servidor, o se lo está devolviendo un sistema de cachés intermedio; o, por ejemplo, existe un balanceador que se encarga de redirigirlo a otro servidor.

 

A continuación se indican los bloques de información que se consideran dentro de nuestra API.

Puerto asignado para los servicios: 9050

Alta de Empresas

URL /empresas
Parámetros

Empresa

rfc (Requerido)
nombre (Requerido)
regimenFiscal (Requerido)
email
lugarExp (Requerido)
clavesucursal (Requerido)

idDriver

Domicilio de la empresa

calle (Requerido)
noExt
noInt
colonia
localidad
municipio (Requerido)
estado (Requerido)
pais (Requerido)
cp (Requerido)

Sucursal

nombre (Requerido)
clavesucursal (Requerido)
lugarExp (Requerido)

Domicilio de la empresa

calle (Requerido)
noExt
noInt
colonia
localidad
municipio (Requerido)
estado (Requerido)
pais (Requerido)
cp (Requerido)

Certificado

csdCer (Requerido)
csdKey (Requerido)

csdPass (Requerido)

Tipos CFDI

nombre (Requerido)
tipo (Requerido)
adaptador
conector

Plantilla

plantilla (Requerido)

Logo

nombre (Requerido)
content (Requerido)

Método http

POST

Descripción detallada

 

Método para dar de alta una nueva empresa mediante el API de integración en formato json.

Header

keyServidor

Códigos respuesta/errores

200 - Ok
401 - keyServidor not found

Ejemplo

https://localhost:9050/empresas
{
"empresa": {
"rfc": "DAL050601L35",
"nombre": "Empresa prueba S de RL de CV",
"regimenFiscal": "607",
"email": "correo@tralix.com",
"lugarExp": "76090",
"claveSucursal": "88888882",

"idDriver":"Driver-1235999",
"domicilio": {
"calle": "Centro Sur",
"noExt": "98",
"noInt": "201",
"colonia": "Colinas del Cimatario",
"localidad": "Querétaro",
"municipio": "Querétaro",
"estado": "Querétaro",
"pais": "México",
"cp": "76090"
},
"sucursales": [
{

https://localhost:9050/empresas
{
"empresa": {
"rfc": "DAL050601L35",
"nombre": "Empresa prueba S de RL de CV",
"regimenFiscal": "607",
"email": "correo@tralix.com",
"lugarExp": "76090",
"claveSucursal": "88888882",
"domicilio": {
"calle": "Centro Sur",
"noExt": "98",
"noInt": "201",
"colonia": "Colinas del Cimatario",
"localidad": "Querétaro",
"municipio": "Querétaro",
"estado": "Querétaro",
"pais": "México",
"cp": "76090"
},
"sucursales": [
{
"nombre": "Sucursal 1",
"claveSucursal": "5656565",
"lugarExp": "76090",
"domicilio": {
"calle": "Centro Sur",
"noExt": "98",
"noInt": "201",
"colonia": "Colinas del Cimatario",
"localidad": "Querétaro",
"municipio": "Querétaro",
"estado": "Querétaro",
"pais": "México",
"cp": "76090"
}
}
]
},
"certificado":{
"csdCer": " CSD.CER en base64",
"csdKey": "CSD.key en base64",
"csdPass": "contraseña base64"
},
"tipoCfd": [
{
"nombre": "Prueba Api",
"tipo": "I",
"adaptador": "b64",
"conector": "b64",
"plantilla": {
"plantilla": " Plantilla en base64",
"logo": [
{
"nombre": "nombreImagen",
"content": "Imagen del logotipo en base64" }
]
}
}
]
}

Ejemplo respuesta

(código 200)

{

  "rfc": "rfc",

  "lugarExpedicion": "lugarExpedicion",

  "correo": "correo",

  "razonSocial": "razonSocial",

  "regimenFiscal": "regimenFiscal",

  "keyEmpresa": "keyEmpresa",

  "dominio": "dominio",

  "sucursales":

  [

         {

              "idSucursal": "600076",

              "claveSucursal": "", "tipo": "MATRIZ"

           }

  ],

  "tipoCfd":

  [

            {

                 "idTipoCfd": "598255",

                 "nombre": "Factura"

             },

             {

                 "idTipoCfd": "598256",

                 "nombre": "Pagos"

               },

               {

                  "idTipoCfd": "598257",

                  "nombre": "CartaPorteDemo"

               }

  ]

}

Modificación Empresa

URL /empresas
Parámetros

Empresa

nombre
regimenFiscal
email

idDriver

Domicilio de la empresa

calle
noExt
noInt
colonia
localidad
municipio
estado
pais
cp

Certificado (Opcional)

csdCer (Requerido)
csdKey (Requerido)
csdPass (Requerido)

Método http PUT
Descripción detallada Método para modificar una nueva empresa mediante el API de integración en formato json.
Header keyEmpresa
Códigos respuesta/errores 200 - Ok
401 - keyServidor not found
Ejemplo

https://localhost:9050/empresas
{
"empresa": {
"rfc": "DAL050601L35",

"nombre": "Empresa prueba S de RL de CV",
"regimenFiscal": "607",
"email": "correo@tralix.com",

"idDriver":"Driver-1235999",
"lugarExp": "76090",
"claveSucursal": "88888882",
"domicilio": {
"calle": "Centro Sur",
"noExt": "98",
"noInt": "201",
"colonia": "Colinas del Cimatario",
"localidad": "Querétaro",
"municipio": "Querétaro",
"estado": "Querétaro",
"pais": "México",
"cp": "76090"
}
}

Ejemplo respuesta (código 200)

{

  "rfc": "rfc",

  "lugarExpedicion": "lugarExpedicion",

  "correo": "correo",

  "razonSocial": "razonSocial",

  "regimenFiscal": "regimenFiscal",

  "keyEmpresa": "keyEmpresa",

  "dominio": "dominio",

  "sucursales":

  [

         {

              "idSucursal": "600076",

              "claveSucursal": "", "tipo": "MATRIZ"

           }

  ],

  "tipoCfd":

  [

            {

                 "idTipoCfd": "598255",

                 "nombre": "Factura"

             },

             {

                 "idTipoCfd": "598256",

                 "nombre": "Pagos"

               },

               {

                  "idTipoCfd": "598257",

                  "nombre": "CartaPorteDemo"

               }

  ]

}

Modificación de tipoCFDIS

URL /tiposCfds/< IdtipoCFD >
 

Tipos CFDI

nombre
tipo
adaptador
conector

Plantilla (Opcional)

plantilla (Requerido)

Logo

nombre (Requerido)
content (Requerido)

Método http PUT
Descripción detallada Método para eliminar empresas mediante el API de integración en formato json.
Header keyEmpresa
Códigos respuesta/errores 200 - Ok
401 - Not Found - No existe la keyEmpresa
Ejemplo https://localhost:9050/tiposCfds/2bbab7f32f54a817fffbb3965ec0fb20
{
"nombre": "tipo cfd 1",
"tipo": "I",
"adaptador": "adaptadorb64",
"conector": "conectorb64",
"plantilla": {
"plantilla": "plantillab64",
"logo": [
{
"nombre": "nombreImagen",
"content": "b64"
}
]
}
}
Ejemplo respuesta (código 200) N/A

Alta de sucursales

URL /empresas/sucursales
Parámetros

Sucursal

nombre (Requerido)
clavesucursal (Requerido)
lugarExp (Requerido)

Domicilio de la sucursal

calle (Requerido)
noExt
noInt
colonia
localidad
municipio (Requerido)
estado (Requerido)
pais (Requerido)
cp (Requerido

Método http

POST

Descripción detallada Metodo para dar de alta nuevas sucursales mediante el API de integración en formato json.
Header keyEmpresa
Códigos respuesta/errores 200 - Ok
401 - Not Found - No existe la keyEmpresa
Ejemplo https://localhost:9050/empresas/sucursales
{
"nombre": "Nueva Sucursal",
"claveSucursal": "346554",
"lugarExp": "Mexico",
"domicilio": {
"calle": "empedrada",
"municipio": "atita",
"estado": "hidalgo",
"pais": "mexico",
"cp": "46555"
}
}
Ejemplo respuesta (Código 200) {"idSucursal":"518086312de4e2ee1fc0e9d195b9d355","claveSucursal":"346554","tipo":"SUCURSAL"}

Modificación de sucursales

URL /empresas/<Idsucursal>
Parámetros

Sucursal

nombre
lugarExp

Domicilio de la sucursal

calle
noExt
noInt
colonia
localidad
municipio
estado
pais
cp

Método http PUT
Descripción detallada Metodo para dar de alta nuevas sucursales mediante el API de integraión en formato json
Header keyEmpresa
Códigos respuesta/errores 200 - Ok
401 - Not Found - No existe la keyEmpresa
Ejemplo https://localhost:9050/empresas/d7e860ee4a641b51ae422cc91d7868a4
{
"nombre": "Nueva Sucursal 12"
}
Ejemplo respuesta (código 200) N/A

 

No Comments
Back to top