Crea tu aplicación

Si decides escribir tu propia integración, hay algunas cosas que debes tener en cuenta:

  1. Para interactuar correctamente con la API de Akismet, tu aplicación debe tener una forma de que los usuarios envíen spam no detectado y falsos positivos, además de realizar comprobaciones de comentarios.
  2. Cuanta más información envíes con cada comprobación de comentario, más posibilidades tendrá Akismet de que no se le pase spam no detectado y falsos positivos.

Estructurando tus llamadas a la API

Todas las llamadas a Akismet son solicitudes POST, al igual que un formulario web. Las variables de las solicitudes deben construirse como una cadena de consulta: key=value y múltiples variables separadas por et (&). No olvides codificar las URL de los valores.

Tipos de llamadas a la API

Existen tres tipos diferentes de llamadas a Akismet:

  1. La verificación de clave verifica si se está utilizando una clave de API válida. Esto es especialmente útil si vas a tener múltiples usuarios con sus propias suscripciones de Akismet utilizando tu aplicación.
  2. La comprobación de comentarios se utiliza para preguntar a Akismet si una publicación, comentario, perfil, etc. es spam o no.
  3. Enviar spam y falsos positivos sirve de seguimiento para informar a Akismet cuando algo ha salido mal (spam no detectado y falsos positivos). Estos son muy importantes y no deberías programar utilizando la API de Akismet sin incluir una forma de informar sobre el spam no detectado y los falsos positivos.

Probando las llamadas a la API

Akismet funciona examinando toda la información disponible en conjunto. No es suficiente proporcionar solo el contenido de un mensaje; debes proporcionar tantas piezas independientes de información como sea posible en cada llamada. Por lo tanto, antes de poder probar la precisión de Akismet, debes asegurarte de enviar la información completa y correcta.

Para simular un resultado positivo (spam), realiza una llamada a la API de comprobación de comentarios con el campo comment_author establecido como akismet‑guaranteed‑spam o el campo comment_author_email establecido como akismet-guaranteed-spam@example.com. Rellena todos los demás campos requeridos con valores típicos. La API de Akismet siempre devolverá una respuesta true a una solicitud válida con alguno de esos valores. Si recibes cualquier otra cosa, hay algo que está mal en tu cliente, datos o comunicaciones.

Para simular un resultado negativo (no spam), realiza una llamada a la API de comprobación de comentarios con el campo user_role establecido como administrator y todos los demás campos requeridos rellenados con valores típicos. La API de Akismet siempre devolverá una respuesta false. Cualquier otra respuesta indica que hay un problema de datos o de comunicación.

Asegúrate también de que tu cliente pueda controlar una respuesta inesperada. No asumas que la API de comprobación de comentarios siempre vaya a devolver true o false. Una solicitud no válida puede resultar en una respuesta de error; suele haber más información en las cabeceras HTTP. Y, por supuesto, un problema de conectividad puede resultar en ninguna respuesta en absoluto. Es importante no interpretar una respuesta no válida como spam o falso positivo.

Para pruebas automatizadas, incluye el parámetro is_test=1 en tus pruebas. Esto le dirá a Akismet que no cambie su comportamiento en función de esas llamadas a la API para que no tengan ningún efecto en su aprendizaje. Esto significa que tus pruebas serán de alguna manera repetibles, en el sentido de que una prueba no influirá en las llamadas posteriores.

Configurando tu agente de usuario

Si es posible, la cadena de agente de usuario debe tener siempre el siguiente formato:

Nombre de la aplicación/Versión | Nombre del plugin/Versión

Por ejemplo, la cadena de agente de usuario del plugin de Akismet para WordPress sería así:

WordPress/4.4.1 | Akismet/3.1.7