Navegación: Aspectos técnicos > Uso de WebService API >

Introducción

 

 

 

 

Para facilitar la interconexión entre sistemas de forma automática, es posible utilizar los servicios web que usan el estándar REST.

 

URLs de acceso

La URL que debemos utilizar está compuesta por la URL host + Ruta del servicio

 

Ejemplo:

 

URL Host:

https://apps.eglobalprojects.com/Titano/APIQA/

 

Ruta del Servicio:

/Auth/AuthTokens/TokenCreate

 

URL Final:

https://apps.eglobalprojects.com/Titano/APIQA/Auth/AuthTokens/TokenCreate

 

La URL Host cambia si deseamos usar el ambiente productivo o el de pruebas (QA)

 

Para ambiente PROD

https://apps.eglobalprojects.com/Titano/APIQA/

 

Para ambiente QA

https://apps.eglobalprojects.com/Titano/API/

 

Llamados (Request) con estructura JSON

Los servicio REST pueden hacer llamados GET o POST

Los cuerpos a los llamados de los servicios POST deben estar estructurados mediante JSON

 

Obtener TOKEN de seguridad

El uso de los servicios requiere autenticación mediante un encabezado BEARER con un TOKEN, por lo que el primer paso es generar un token, el cual tiene un tiempo de vida medio, por lo que un mismo token puede ser utilizado durante toda su vida en múltiples llamadas a los servicios y no es necesario crear un nuevo token para cada llamada en tanto el tiempo de vida del token no haya vencido.

 

El servicio TokenCreate es el único que no requiere enviar la autenticación bearer ya que este servicio es el responsable de crear el primer token.

 

Ejemplo para crear el Token:

 

Servicio: Auth/AuthTokens/TokenCreate

Ruta del Servicio: *url_host*/Auth/AuthTokens/TokenCreate

Metodo: POST

URL: https://apps.eglobalprojects.com/Titano/APIQA/Auth/AuthTokens/TokenCreate

Body:

{
    "TokenType": "UserAPI",
    "MasterPIN": "",
    "User": "APIKey",
    "Password": "*valor de la api key*",
    "EntityId": "*valor de Entity Id*",
    "CompanyId": "*valor de Company Id*"
}

 

Los valores de "TokenType": "UserAPI" y "User": "APIKey" son valores fijos para solicitar un Token para uso de los webservices.

 

Los valores de Password, EntityId, CompanyId podrán ser consultados en TitanoERP en el módulo de seguridad de grupos para cada una de las empresas.

 

El servicio responderá en caso de error :

{
    "error": {
        "code": "Exception",
        "message": "XML del CFDI mal formado"
    }
}

 

El servicio responderá en caso correcto:

{
    "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NTc2ODk5NjQsIlRva2VuVHlwZSI6IlNFUlZFUiIsIlVzZXIiOiIiLCJVc2VySWQiOiIiLCJVc2VyRW1haWwiOiIiLCJVc2VyTmFtZSI6IiIsIlVzZXJMYW5ndWFnZSI6IiIsIlVzZXJBZG1pbiI6ZmFsc2UsIlVzZXJTdXBlclVzZXIiOmZhbHNlLCJFbnRpdHlJZCI6IiIsIkVudGl0eURhdGFiYXNlIjoiIiwiQ29tcGFueUlkIjoiIiwiQ29tcGFueU5hbWUiOiIiLCJCdXNpbmVzc1VuaXRJZCI6IiIsIlRlc3QiOmZhbHNlLCJBUElTZXJ2aWNlRW1haWwiOnRydWUsIkFQSVNlcnZpY2VGaWxlIjp0cnVlLCJBUElTZXJ2aWNlVGVzdC5EQkNvbm5lY3Rpb24iOnRydWUsIkFQSVNlcnZpY2VMb2dpbiI6dHJ1ZSwiQVBJU2VydmljZURlYnVnIjp0cnVlLCJBUElTZXJ2aWNlU2VjdXJpdHkiOnRydWUsIkFQSVNlcnZpY2VDZmRpLkJvdmVkYSI6dHJ1ZSwiQVBJU2VydmljZVBTIjp0cnVlfQ.gOnYc1EWBPtbEn7YcJaP9O8jYr0tSDa28CnHKZQfnvg"
}

 

Usando el TOKEN en todos los servicios

 

Para consumir cualquier servicio será necesario agregar el valor "Bearer " + TOKEN en los parámetros/Authentication de los encabezados de la solicitud

 

name= authorization

Value = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NTc2ODk5NjQsIlRva2VuVHlwZSI6IlNFUlZFUiIsIlVzZXIiOiIiLCJVc2VySWQiOiIiLCJVc2VyRW1haWwiOiIiLCJVc2VyTmFtZSI6IiIsIlVzZXJMYW5ndWFnZSI6IiIsIlVzZXJBZG1pbiI6ZmFsc2UsIlVzZXJTdXBlclVzZXIiOmZhbHNlLCJFbnRpdHlJZCI6IiIsIkVudGl0eURhdGFiYXNlIjoiIiwiQ29tcGFueUlkIjoiIiwiQ29tcGFueU5hbWUiOiIiLCJCdXNpbmVzc1VuaXRJZCI6IiIsIlRlc3QiOmZhbHNlLCJBUElTZXJ2aWNlRW1haWwiOnRydWUsIkFQSVNlcnZpY2VGaWxlIjp0cnVlLCJBUElTZXJ2aWNlVGVzdC5EQkNvbm5lY3Rpb24iOnRydWUsIkFQSVNlcnZpY2VMb2dpbiI6dHJ1ZSwiQVBJU2VydmljZURlYnVnIjp0cnVlLCJBUElTZXJ2aWNlU2VjdXJpdHkiOnRydWUsIkFQSVNlcnZpY2VDZmRpLkJvdmVkYSI6dHJ1ZSwiQVBJU2VydmljZVBTIjp0cnVlfQ.gOnYc1EWBPtbEn7YcJaP9O8jYr0tSDa28CnHKZQfnvg"

Style: HEADER

Level: METHOD

 

Ejemplo, consumiendo el primer servicio

 

Podemos verificar que estamos listos para consumir los servicios enviando una consulta para verificar el token y verificar que el token de seguridad funciona de forma correcta en la configuración de nuestro cliente que consume los servicios del web service.

 

Servicio: Auth/AuthTokens/TokenCheck

Ruta del Servicio: *url_host*/Auth/AuthTokens/TokenCheck

Metodo: GET

URL: https://apps.eglobalprojects.com/Titano/APIQA/Auth/AuthTokens/TokenCheck

name= authorization

Value = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NTc2ODk5NjQsIlRva2VuVHlwZSI6IlNFUlZFUiIsIlVzZXIiOiIiLCJVc2VySWQiOiIiLCJVc2VyRW1haWwiOiIiLCJVc2VyTmFtZSI6IiIsIlVzZXJMYW5ndWFnZSI6IiIsIlVzZXJBZG1pbiI6ZmFsc2UsIlVzZXJTdXBlclVzZXIiOmZhbHNlLCJFbnRpdHlJZCI6IiIsIkVudGl0eURhdGFiYXNlIjoiIiwiQ29tcGFueUlkIjoiIiwiQ29tcGFueU5hbWUiOiIiLCJCdXNpbmVzc1VuaXRJZCI6IiIsIlRlc3QiOmZhbHNlLCJBUElTZXJ2aWNlRW1haWwiOnRydWUsIkFQSVNlcnZpY2VGaWxlIjp0cnVlLCJBUElTZXJ2aWNlVGVzdC5EQkNvbm5lY3Rpb24iOnRydWUsIkFQSVNlcnZpY2VMb2dpbiI6dHJ1ZSwiQVBJU2VydmljZURlYnVnIjp0cnVlLCJBUElTZXJ2aWNlU2VjdXJpdHkiOnRydWUsIkFQSVNlcnZpY2VDZmRpLkJvdmVkYSI6dHJ1ZSwiQVBJU2VydmljZVBTIjp0cnVlfQ.gOnYc1EWBPtbEn7YcJaP9O8jYr0tSDa28CnHKZQfnvg"

Style: HEADER

Level: METHOD

 

El servicio responderá en caso de error :

 

{
    "error": {
        "code": "Unauthorized",
        "message": "Auth Bearer Token (JWT)"
    }
}

 

El servicio responderá en caso correcto:

 

{
    "value": "OK Bearer Token (JWT)  eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NTc2ODk5NjQsIlRva2VuVHlwZSI6IlNFUlZFUiIsIlVzZXIiOiIiLCJVc2VySWQiOiIiLCJVc2VyRW1haWwiOiIiLCJVc2VyTmFtZSI6IiIsIlVzZXJMYW5ndWFnZSI6IiIsIlVzZXJBZG1pbiI6ZmFsc2UsIlVzZXJTdXBlclVzZXIiOmZhbHNlLCJFbnRpdHlJZCI6IiIsIkVudGl0eURhdGFiYXNlIjoiIiwiQ29tcGFueUlkIjoiIiwiQ29tcGFueU5hbWUiOiIiLCJCdXNpbmVzc1VuaXRJZCI6IiIsIlRlc3QiOmZhbHNlLCJBUElTZXJ2aWNlRW1haWwiOnRydWUsIkFQSVNlcnZpY2VGaWxlIjp0cnVlLCJBUElTZXJ2aWNlVGVzdC5EQkNvbm5lY3Rpb24iOnRydWUsIkFQSVNlcnZpY2VMb2dpbiI6dHJ1ZSwiQVBJU2VydmljZURlYnVnIjp0cnVlLCJBUElTZXJ2aWNlU2VjdXJpdHkiOnRydWUsIkFQSVNlcnZpY2VDZmRpLkJvdmVkYSI6dHJ1ZSwiQVBJU2VydmljZVBTIjp0cnVlfQ.gOnYc1EWBPtbEn7YcJaP9O8jYr0tSDa28CnHKZQfnvg"
}

 

El servicio responderá en caso correcto si el Token expiró:

 

Token expired
The JWT is no longer valid

 

 

 

Derechos Reservados © 2023 Administración Informática Empresarial SA de CV