Ir al contenido
AstroWay/api v2.325.2 · es
todos los sistemas funcionando con normalidad

Clave del sitio para WordPress

Last updated Ver como Markdown Configuración del agente

El plugin AstroWay para WordPress obtiene la clave por sí mismo, sin registro: el sitio muestra una prueba en su ruta REST, la verificamos y emitimos una clave vinculada a ese sitio.

  1. El plugin genera un proof_id (UUID v4) y un proof (32 bytes aleatorios en base64url, 43 caracteres) y los mantiene durante 10 minutos.
  2. El sitio devuelve un GET <home_url>/wp-json/astroway/v1/verify?nonce=<proof_id> con Content-Type: application/json y el cuerpo {"proof":"<proof>"}.
  3. El plugin envía un POST /v1/site-keys:
{ "site_url": "https://example.com", "proof_id": "3f1c2a9e-8b7d-4c1e-9f3a-2b6d5e4c1a07", "proof": "<43 characters>" }

site_url es exactamente home_url(), sin ? ni #. Para enlaces permanentes simples, pasa verify_url con ?rest_route=/astroway/v1/verify: solo se acepta en el mismo sitio y solo como esta ruta.

  • para el servidor del sitio: una solicitud desde el navegador (con el encabezado Origin) recibe un 403, y cada llamada debe nombrar el sitio en X-AstroWay-Site-URL. La vinculación se mantiene en este encabezado, así que guarda la clave como un secreto, y si se filtra, obtén una nueva: la anterior será revocada;
  • un conjunto de lecturas gratuitas, 300 llamadas por hora por sitio, sin créditos; los horóscopos con fecha solo se aceptan cerca de la fecha actual;
  • una clave por instalación (host y ruta de inicio), hasta 5 instalaciones por host con una hora compartida.

Errores: 400 INVALID_SITE_URL, 422 SITE_VERIFICATION_FAILED con details.reason, 429 SITE_KEY_RATE_LIMIT con retry_after.

Cuando el propietario del sitio quiere trabajar con su propio plan, el plugin cambia el sitio a la clave de la cuenta con un solo clic.

  1. El plugin abre en el navegador del administrador https://api.astroway.info/dashboard/connect?site=<home_url>&return=<admin_url>&state=<16-128 caracteres>&source=wp_plugin. return debe estar en el mismo host que site y usar https.
  2. El administrador inicia sesión o se registra y elige una clave para el sitio o crea una nueva. Una clave ya vinculada a otro dominio solo se transfiere después de una confirmación separada.
  3. El navegador regresa a return con code y el mismo state. La cancelación devuelve error=access_denied.
  4. El servidor del sitio intercambia el código, enviando su clave de sitio en X-Api-Key:
POST /v1/site-keys/connect/exchange
{ "code": "<43 characters>", "site_url": "https://example.com" }

Respuesta: { "key": "aw_live_…", "plan": "free", "domain": "example.com", "account": "j***@example.com" }. El código vive 5 minutos. Un intercambio repetido del mismo código con la misma clave de sitio dentro de 10 minutos devuelve la misma respuesta. La clave del sitio deja de ser válida 24 horas después del intercambio.

Errores: 400 INVALID_CODE, 410 CODE_EXPIRED, 403 SITE_MISMATCH.