Rotación de llaves de API

Es común cambiar las llaves privadas de tu compañía por política de seguridad, o porque posiblemente han sido expuestas fuera de tu infra-estructura segura. El proceso para renovar las llaves es intuitivo, requiere que primero creas una nueva llave, luego que desactivas la previa.

Crear una Nueva Llave

Puedes ejecutar la siguiente llamada por curl para obtener una nueva llave

curl --request POST \
  --url https://api.conekta.io/api_keys \
  --header 'accept: application/vnd.conekta-v2.1.0+json' \
  -u key_eYvWV7gSDkNYXsmr: \
  --header 'content-type: application/json' \
  -d '{"active": true, "description": "Backend 1", "role":"private"}'

Lo cuál te va regresar

{
  "active":true,
  "livemode":false,
  "description": "Backend 1",
  "prefix":"key_rm",
  "id":"627a5f11fb7dfd3c625f4448",
  "object":"api_key",
  "created_at":1652186897,
  "authentication_token":"key_rm********************",
  "role":"private"
}

Deberías de actualizar tu aplicación con esta nueva llave antes de proceder.

Identifica tu Api Key existente

Antes de desactivar una llave existente, primero tienes que identificarlo, lo cuál puedes hacer con la siguiente llamada.

curl --request GET \
  --url https://api.conekta.io/api_keys \
  --header 'accept: application/vnd.conekta-v2.1.0+json' \
  -u key_eYvWV7gSDkNYXsmr: \
  --header 'content-type: application/json'

Puedes identificar tu llave existente con el prefijo de la llave, su tipo y fecha de creación.

{
  "has_more":false,
  "object":"list",
  "data":[{
    "active":true,
    "livemode":false,
    "description": "Backend 1",
    "prefix":"key_rm",
    "id":"627a5f11fb7dfd3c625f4448",
    "object":"api_key",
    "created_at":1652186897,
    "role":"private"
  },{
  	"active":true,
    "livemode":false,
    "prefix":"key_eY",
    "id":"53349b95aef8788517000003",
    "object":"api_key",
    "created_at": 1652103137,
    "role":"private"
  }]
}

Desactivar una Llave

En vez de borrar una llave directamente, sugerimos desactivarla primero, de esta forma puedes regresar el cambio en caso que tengas alguna afectación en tu sistema. Conekta luego va a borrar la llave desactivada después de 3 días para asegurar que no sea activada de forma maliciosa después. Puedes desactivar tu llave así

curl --request PUT \
  --url https://api.conekta.io/api_keys/53349b95aef8788517000003 \
  --header 'accept: application/vnd.conekta-v2.1.0+json' \
  -u key_eYvWV7gSDkNYXsmr: \
  --header 'content-type: application/json' \
  -d '{"active": false}'

Lo cual te va regresar

{
  "active":false,
  "livemode":false,
  "prefix":"key_eY",
  "id":"53349b95aef8788517000003",
  "object":"api_key",
  "created_at": 1652103137,
  "role":"private"
}

Reactivación de Llave

En caso de querer reactivar tu llave, tienes hasta 3 días para hacerlo con la siguiente llamada:

curl --request PUT \
  --url https://api.conekta.io/api_keys/53349b95aef8788517000003 \
  --header 'accept: application/vnd.conekta-v2.1.0+json' \
  -u key_eYvWV7gSDkNYXsmr: \
  --header 'content-type: application/json' \
  -d '{"active": false}'

Lo cual te va contestar:

{
  "active":true,
  "livemode":false,
  "prefix":"key_eY",
  "id":"53349b95aef8788517000003",
  "object":"api_key",
  "created_at": 1652103137,
  "role":"private"
}