Este manual está dirigido a programadores que deseen crear aplicaciones que puedan interactuar con los servicios de CostoNet. Aquí se explican conceptos básicos para utilizar la API de CostoNet.
Este manual está dirigido a programadores que deseen crear aplicaciones que puedan interactuar con los servicios de CostoNet. Aquí se explican conceptos básicos para utilizar la API de CostoNet.
El programador deberá estar familiarizado con las siguientes tecnologías:
Antes de comenzar es necesario completar los siguientes pasos:
En esta sección mostraremos los roles principales que interactuan en el proceso
Como se muestra en el diagrama, este flujo se utiliza cuando el Dueño del recurso | Usuario y el Cliente | Aplicación son los mismos, es decir el dueño de los recursos desea acceder a sus propios recursos.
curl 'https://www.costonet.com.mx/api/v1/oauth/accesstoken' --header 'Content-Type: application/x-www-form-urlencoded' --header "Accept: text/json" -d 'client_id=xxxxx&client_secret=xxxxx&grant_type=client_credentias'
HTTP/1.1 200 OK Date: Thu, 20 Sep 2018 18:19:09 GMT Server: Apache X-Frame-Options: SAMEORIGIN X-Powered-By: PHP/7.1.14 Cache-Control: no-cache, private X-RateLimit-Limit: 60 X-RateLimit-Remaining: 58 Vary: Accept-Encoding Content-Length: 1213 Content-Type: text/json; charset=UTF-8 {"issued_at":1537467551, "scope":"READ", "application_name":"http:\/\/www.costonet.com.mx", "organization_name":"CostoNet", "status":"approved", "api_product_list":"[InsumosAPI]", "expires_in":3800, "developer_email":"info@costonet.com.mx", "organization_id":"0","token_type":"BearerToken", "client_id":"xxxxx", "access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE1Mzc0Njc1NTEsImp0aSI6InVxYmtsRmZxTm5lYVB0NnJkakZFZEJXQWpwWEhOTVpTZFUxeEFWdnRDR1k9IiwiaXNzIjoiaHR0cDpcL1wvd3d3LmNvc3RvbmV0LmNvbS5teCIsIm5iZiI6MTUzNzQ2NzU2MSwiZXhwIjoxNTM3NDcxMTYxLCJkYXRhIjp7InVzZXIiOiJiZW5qYW1pbiIsImNsaWVudF9pZCI6IjEyMzQ1In19.8ACUnRwF1wF-ZaUL4gTNvfcNQENgE_7yi0Hl7rWRWaxffB-cherMO2cBsYM3uIwrAHksrhghvpey4welO394Og", "refresh_token_status":"approved", "refresh_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE1Mzc0Njc1NTEsImp0aSI6InVxYmtsRmZxTm5lYVB0NnJkakZFZEJXQWpwWEhOTVpTZFUxeEFWdnRDR1k9IiwiaXNzIjoiaHR0cDpcL1wvd3d3LmNvc3RvbmV0LmNvbS5teCIsIm5iZiI6MTUzNzQ2NzU2MSwiZXhwIjoxNTM3NDcxMTYxLCJkYXRhIjp7InVzZXIiOiJiZW5qYW1pbiIsImNsaWVudF9pZCI6IjEyMzQ1In19.8ACUnRwF1wF-ZaUL4gTNvfcNQENgE_7yi0Hl7rWRWaxffB-cherMO2cBsYM3uIwrAHksrhghvpey4welO394Og", "refresh_token_expires_in":86399, "refresh_token_issued_at":1537557560, "refresh_count":0}
Como se muestra en el diagrama, la Autorización de usuario se utiliza cuando el Cliente | Aplicación pretende tener acceso en nombre del Dueño del recurso | Usuario, es decir el dueño de los recursos delega a la aplicación el uso de sus propios recursos.
https://www.costonet.com.mx/api/v1/oauth/authorize/?response_type=code&client_id=xxxxx&redirect_uri=http%3A%2F%2Fwww.trendtacion.com%2F&scope=read
http://trendtacion.com/?code=oJ2808JQn1USgdn
Una vez que se tiene un token el Cliente | Aplicación podrá realizar peticiones al servidor de recursos a través de las funciones disponibles de CostoNet.
curl "https://www.costonet.com.mx/api.proyecto.insumos/ACEREF00265" --header "Accept: text/json" --header "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE1Mzc1MDg0MTcsImp0aSI6Im45SFk5QmNRQ0pReVd0dFFKOEZjc21JVmJJTHZQeU5uIiwiaXNzIjoiaHR0cDpcL1wvd3d3LmNvc3RvbmV0LmNvbS5teCIsIm5iZiI6MTUzNzUwODQyNywiZXhwIjoxNTM3NTEyMDI3LCJkYXRhIjp7InVzZXIiOiJiZW5qYW1pbiIsImNsaWVudF9pZCI6IjEyMzQ1In19.UVTFfFOETJqJRB5EOfAyON_Oozs02p32aWPWYZdNzEAsU2OCCvkSiWnCzwaAmbnIOj9XTQki7CDswqRJ5ebyRg"
{"producto": {"Clave":"ACEREF00265", "Familia":"ACE", "Descripcion":"VARILLA No. 3 (3\/8\")", "Unidad":"Kg.", "Fecha":null, "Accesos":"126282", "ultimo":"2018-09-21 00:21:47", "mayor":18.94, "menor":3.75, "promedio":12.90 } }