Ir al contenido

Autenticación

Para realizar acciones a nuestro servicio de APIS tanto en ambiente de pruebas como de producción, es importante tener un conjunto de llaves que te permitan identificarte y autenticar todas tus llamadas al servidor de Facturador.com

Las llaves de pruebas se te proporcionarán en el presente articulo y para las llaves de producción deberas revisar el siguiente apartado Api Key producción

Para realizar acciones a nuestro servicio de APIS es necesario que tengas unas llaves de acceso y conocer los siguientes atributos:

AtributoDescripciónREQUERIDO
UsernameRFC de su cuentaSi
PasswordContraseña encriptada en MD5Si
Client_idClave que corresponde a su cuenta en facturador.com, para datos de prueba seguir leyendo este articulo, para información productiva Api Key producciónSi
Client_secretID secreto que corresponde a su cuenta en facturador.com, para datos de prueba seguir leyendo este articulo, para información productiva Api Key producciónSi
es_md5Específica cuando la contraseña se encuentra en formato en MD5Si
access_tokenToken de acceso para consumir Api FacturadorSi
refresh_tokenId correspondiente a su access_tokenSi
expires_inEspecifica el tiempo de vida de su access_token en msSi

Para realizar sus pruebas, se tienen definidos los siguientes valores:

Datos del contribuyente de pruebas:

RFC Emisor: GOYA780416GM0
Nombre o Razón Social: EMPRESA DEMOSTRACIÓN
Domicilio Fiscal(CP): 77500
Regimen Fiscal: 612

Datos de acceso de un usuario del contribuyente de pruebas, a la plataforma de Facturador.com:

USUARIO: GOYA780416GM0
PASSWORD: Dotnet_1
PASSWORDMD5: 20b03da6247eb1ba4a04c3bda7285c94

Datos de acceso claves API del contribuyente de pruebas:

CLIENT_ID: webconector1
CLIENT_SECRET: D2EBED43-3DAD-48E8-906A-1B2221C63062

Necesitarás el siguiente Body:

grant_type=password&scope=offline_access+openid+APINegocios+&username=USUARIO&
password=PASSWORDMD5&client_id=CLIENT_ID&client_secret
=CLIENT_SECRET&es_md5=true

Deberas substituir USUARIO PASSWORDMD5 CLIENT_ID CLIENT_SECRET , por los datos de pruebas proporcionados anteriormente y autenticar tu identidad en el siguiente endpoint mediante un metodo POST: https://authcli.stagefacturador.com/connect/token:

Ventana de terminal
curl -X POST 'https://authcli.stagefacturador.com/connect/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=password&scope=offline_access+openid+APINegocios+&username=USUARIO&password=PASSWORDMD5&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&es_md5=true'

Si realizaste la petición correctamente, deberás obtener un estatus 200 OK con la siguiente respuesta:

{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImEzck1VZ01Gdjl0UGNsTGE2eUYzekFrZnF1RSIsImtpZCI6ImEzck1VZ01Gdjl0UGNsTGE2eUYzekFrZnF1RSJ9.eyJjbGllbnRfaWQiOiJ3ZWJjb25lY3RvcjEiLCJjbGllbnRfbmFtZSI6IkNsaWVudGUgRW1pc2lvbiBVc3VhcmlvIEFBQjAxMDEwMTAwMCIsInNjb3BlIjpbIkFQSU5lZ29jaW9zIiwib2ZmbGluZV9hY2Nlc3MiLCJvcGVuaWQiXSwic3ViIjoiR09ZQTc4MDQxNkdNMCIsImFtciI6InBhc3N3b3JkIiwiYXV0aF90aW1lIjoxNjU5MDE4NzI1LCJpZHAiOiJpZHNydiIsImVtaXNvcmlkIjoiMjA4IiwicmZjIjoiR09ZQTc4MDQxNkdNMCIsInVzdWFyaW9pZCI6IjE5OSIsImVtaXNvcmVzaWRzIjoiWzIwOF0iLCJpc3MiOiJodHRwczovL2F1dGhjbGkuc3RhZ2VmYWN0dXJhZG9yLmNvbSIsImF1ZCI6Imh0dHBzOi8vYXV0aGNsaS5zdGFnZWZhY3R1cmFkb3IuY29tL3Jlc291cmNlcyIsImV4cCI6MTY1OTAyMjMyNiwibmJmIjoxNjU5MDE4NzI2fQ.CrKlYA5cA9oYILWy1qD3OcyAhdKn1m_n8s9HkJFfYFJzIiEARA0rAQ9isk8A4uOta5XLKo86fY3SOzCm1HETV11vVKReQA2OZjsl9TyaFItso6Mc0nKYAG7q2jBWux6XG130h37DkitIKRpc0W479uIGxOmlrKwxVAp1EBVkhuTlexM61TSA1CbkCNlvRAXn6mK0_0hW9LIbYFiOIHWjXVR4g1ZKXHZGYFXOJahjRm8iQfFx41u2foz0kJOdSSoyGub4SylYr0yEqzxW2RR1OGWnnAzC-BPEQzwpSrySKvpvNUV-g51gSs_9lw_vxn0Nwc9Ho8_l4_HCxO1xhyCLzg",
"expires_in": 3600,
"token_type": "Bearer",
"refresh_token": "4a234081f87eaec81552b951291767a8"
}

El token tiene un tiempo de vida y una vez que ha expirado debes actualizarlo, para hacerlo puedes volver a ejecutar el método anterior, o bien, usar el método Refresh Token sin necesidad de un usuario y contraseña. Para actualizar su token por medio del método Refresh Token debe enviar un request a la siguiente al siguiente endpoint https://authcli.stagefacturador.com/connect/token:

Ventana de terminal
curl -X POST 'https://authcli.stagefacturador.com/connect/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=refresh_token&refresh_token=SUREFRESHTOKEN&client_id=CLIENTE_ID&client_secret=CLIENTE_SECRET'

Donde deberas substituir CLIENT_ID CLIENT_SECRET , por los datos de pruebas proporcionados anteriormente y el refresh token que en el momento de la prueba se tenga SUREFRESHTOKEN

Si realizaste la petición correctamente, deberás obtener un estatus 200 OK con la siguiente respuesta:

{
"access_token": "eyJ0eXAiOiJkIjoiMjA4IiwicmZjIjKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImEzck1VZ01Gdjl0UGNsTGE2eUYzekFrZnF1RSIsImtpZCI6ImEzck1VZ01Gdjl0UGNsTGE2eUYzekFrZnF1RSJ9.eyJjbGllbnRfaWQiOiJ3ZWJjb25lY3RvcjEiLCJjbGllbnRfbmFtZSI6IkNsaWVudGUgRW1pc2lvbiBVc3VhcmlvIEFBQjAxMDEwMTAwMCIsInNjb3BlIjpbIkFQSU5lZ29jaW9zIiwib2ZmbGluZk8A4uOta5XLKo86fY3SOzCm1HETV11vVKReQA2V9hY2Nlc3MiLCJvcGVuaWQiXSwic3ViIjoiR09ZQTc4MDQxNkdNBhc3N3b3JkIiwiYXV0aF90aW1lIjoxNjU5MDE4NzI1LCJpZHAiOiGkuc3RhZ2VmYWN0dXJhZG9yLmNvbSIsImF1ZCI6Imh0dHBzOi8vYXV0aGNsaS5zdGFnZWZhY3R1cmFkb3IuY29tL3Jlc291cmNlcyIsImV4cCI6MTY1OTAyMjMyNiwibmJmIjoxNjU5MDE4NzI2fQ.CrKlYA5cA9oYILWyJpZHNydiIsImVtaXNvcmloiR09ZQTc4MDQxNkdNMCIsInVzdWFyaW9pZCI6IjE5OSMCIsImFtciI6InIsImVtaXNvcmVzaWRzIjoiWzIwOF0iLCJpc3MiOiJodHRwczovL2F1dGhjb1qD3OcYFJzIiEARA0rAQ9isOZjsl9TyaFItso6Mc0nKYAG7q2jBWux6XG130h37DkitIKRpc0W479uIGxOmlrKwxVAp1EBVkhuTlexM61TSA1CbkCNlvRAXn6mK0_0hW9LIbYFiOIHWjXVR4g1ZKXHZGYFXOJahjRm8iQfFx41u2foz0kJOdSyAhdKn1m_n8s9HkJFfSoyGub4SylYr0yEqzxW2RR1OGWnnAzC-BPEQzwpSrySKvpvNUV-g51gSs_9lw_vxn0Nwc9Ho8_l4_HCxO1xhyCLzg",
"expires_in": 3600,
"token_type": "Bearer",
"refresh_token": "1B234081f86eaex81555b95109h767ab"
}

Para obtener el emisorId del RFC y usuario de tu cuenta en Facturador.com debes hacer una solicitud GET al siguiente endpoint https://authcli.stagefacturador.com/connect/userinfo:

Ventana de terminal
curl -X GET 'https://authcli.stagefacturador.com/connect/userinfo' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer '

Si realizaste la petición correctamente, deberás obtener un estatus 200 OK con la siguiente respuesta:

{
"sub": "GOYA780416GM0",
"emisorid": 123,
"rfc": "GOYA780416GM0",
"usuarioid": 123
}