Guiasmx Public API REST
Conecta tu aplicación con la mejor plataforma de envíos en México
Contáctanos y accede a la documentación completa de nuestro servicio.Autenticación
Esta API utiliza el protocolo OAuth 2.0 con el tipo de concesión Client Credentials para la autenticación. La autenticación es requerida para acceder a los endpoints protegidos.
1. Proceso de Autenticación
Para obtener acceso a la API, necesitarás un Bearer Token
que se puede generar utilizando las credenciales del cliente y el servidor de identidad (Identity Server).
URL del Token Endpoint
Utiliza la siguiente URL para obtener el token de autenticación:
POST https://identity.guiasmx.com/connect/token
Parámetros de la Solicitud
Deberás enviar una solicitud POST
con los siguientes parámetros:
- grant_type:
client_credentials
- client_id:
tu_client_id
- client_secret:
tu_client_secret
- scope:
scopes
Ejemplo en Postman
Para autenticarte usando Postman, sigue los siguientes pasos:
- Abre Postman y crea una nueva solicitud
POST
. - En la pestaña Authorization, selecciona
OAuth 2.0
. - Configura los siguientes valores:
- Grant Type:
client_credentials
- Access Token URL:
https://identity.guiasmx.com/connect/token
- Client ID:
client_id
- Client Secret:
client_secret
- Scope:
scopes
- Grant Type:
- Haz clic en Obtain Token para generar tu token.
- Finalmente, envía la solicitud utilizando el token generado.
Ejemplo en curl
También puedes obtener el token de autenticación utilizando curl
con el siguiente comando:
curl -X POST https://identity.guiasmx.com/connect/token \
-d "client_id=tu_client_id" \
-d "client_secret=tu_client_secret" \
-d "grant_type=client_credentials" \
-d "scope=tu_scope"
La respuesta será un token de acceso que deberás usar en tus solicitudes a la API.
2. Uso del Token
Una vez que hayas obtenido el token, deberás incluirlo en el encabezado Authorization
de tus solicitudes a la API.
Ejemplo:
Authorization: Bearer token
3. Errores Comunes
A continuación, se describen algunos errores comunes que puedes encontrar al autenticarte:
Error: invalid_client
Este error ocurre cuando el client_id
o el client_secret
son incorrectos. Verifica que ambos valores sean correctos.
Error: invalid_scope
Este error se produce cuando el scope
proporcionado no es válido o no está configurado correctamente en el servidor de identidad. Asegúrate de que el scope sea correcto.
Error: unauthorized_client
Este error indica que el cliente no está autorizado para utilizar el flujo de concesión de client_credentials
. Revisa las configuraciones de tu cliente en el servidor de identidad.
4. Ejemplo en C#
Recuperar el documento de descubrimiento
var client = new HttpClient();
var disco = await client.GetDiscoveryDocumentAsync("https://identity.guiasmx.com");
if (disco.IsError)
{
Console.WriteLine("Error: " + disco.Error);
return;
}
Obtener el token
var client = new HttpClient();
var disco = await client.GetDiscoveryDocumentAsync("https://identity.guiasmx.com");
if (disco.IsError)
{
Console.WriteLine("Error: " + disco.Error);
return;
}
Una vez obtenido el documento de descubrimiento, el cliente puede solicitar un token de acceso utilizando las credenciales de cliente.
var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
{
Address = disco.TokenEndpoint,
ClientId = "client",
ClientSecret = "secret",
Scope = "api1"
});
if (tokenResponse.IsError)
{
Console.WriteLine("Error: " + tokenResponse.Error);
return;
}
Console.WriteLine(tokenResponse.Json);
Llamada a la API
Con el token de acceso, el cliente puede realizar solicitudes a la API agregando el token en el encabezado de autorización.
client.SetBearerToken(tokenResponse.AccessToken);
var response = await client.GetAsync("https://api.guiasmx.com/method");
if (!response.IsSuccessStatusCode)
{
Console.WriteLine("Error: " + response.StatusCode);
}
else
{
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
¿Listo para simplificar tus envíos?
Regístrate GRATIS en la Plataforma de Guiasmx, genera tu primer envío en minutos y descubre cómo podemos transformar tu negocio con nuestras soluciones de envío!
Comienza a disfrutar de un servicio de envío más sencillo, más eficiente y más rentable hoy mismo.