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
Token de Acceso
Sección titulada «Token de Acceso»Para realizar acciones a nuestro servicio de APIS es necesario que tengas unas llaves de acceso y conocer los siguientes atributos:
| Atributo | Descripción | REQUERIDO |
|---|---|---|
| Username | RFC de su cuenta | Si |
| Password | Contraseña encriptada en MD5 | Si |
| Client_id | Clave que corresponde a su cuenta en facturador.com, para datos de prueba seguir leyendo este articulo, para información productiva Api Key producción | Si |
| Client_secret | ID secreto que corresponde a su cuenta en facturador.com, para datos de prueba seguir leyendo este articulo, para información productiva Api Key producción | Si |
| es_md5 | Específica cuando la contraseña se encuentra en formato en MD5 | Si |
| access_token | Token de acceso para consumir Api Facturador | Si |
| refresh_token | Id correspondiente a su access_token | Si |
| expires_in | Especifica el tiempo de vida de su access_token en ms | Si |
Claves de prueba
Sección titulada «Claves de prueba»Para realizar sus pruebas, se tienen definidos los siguientes valores:
Datos del contribuyente de pruebas:
RFC Emisor: GOYA780416GM0Nombre o Razón Social: EMPRESA DEMOSTRACIÓNDomicilio Fiscal(CP): 77500Regimen Fiscal: 612Datos de acceso de un usuario del contribuyente de pruebas, a la plataforma de Facturador.com:
USUARIO: GOYA780416GM0PASSWORD: Dotnet_1PASSWORDMD5: 20b03da6247eb1ba4a04c3bda7285c94Datos de acceso claves API del contribuyente de pruebas:
CLIENT_ID: webconector1CLIENT_SECRET: D2EBED43-3DAD-48E8-906A-1B2221C63062Necesitará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=trueDeberas 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:
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"}Actualizar Token
Sección titulada «Actualizar Token»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:
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"}Obtener EmisorId
Sección titulada «Obtener EmisorId»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:
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}