Captcha de Facebook
Descripción General
El Captcha de Facebook es un sistema de seguridad utilizado por Facebook para prevenir spam, bots y actividades automatizadas no deseadas. Este es un captcha de texto con la fuente distintiva de Facebook.
📘
El Captcha de Facebook generalmente aparece al iniciar sesión, registrar nuevas cuentas o cuando Facebook detecta actividad inusual desde tu cuenta.

1. Crear Solicitud
Solicitud
POST https://api.achicaptcha.com/createTask
Parámetros
| Nombre del parámetro | Tipo de dato | ¿Requerido? | Descripción |
|---|---|---|---|
clientKey | string | sí | Clave API |
task.type | string | sí | ImageToTextTask |
task.image | string | sí | base64 de la imagen del captcha de Facebook |
task.subType | string | sí |
Ejemplo de Solicitud
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "TU_CLAVE_API",
"task": {
"type": "ImageToTextTask",
"image": "imagen del captcha de Facebook codificada en base64",
"subType": "facebook"
}
}Respuesta
En caso de éxito, el servidor devuelve errorId = 0 y taskId
{
"errorId": 0,
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}2. Obtener Resultado
Solicitud
POST https://api.achicaptcha.com/getTaskResult
Parámetros
| Nombre del parámetro | Tipo de dato | ¿Requerido? | Descripción |
|---|---|---|---|
clientKey | string | sí | Clave API |
taskId | string | sí | TaskId de (1) |
Ejemplo de Solicitud
POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "TU_CLAVE_API",
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}Respuesta
{
"errorId": 0,
"status": "ready",
"solution": "2m7k8x"
}Explicación del Estado
errorId = 0ystatus = ready: Resuelto exitosamente, lee el resultado ensolutionerrorId = 0ystatus = processing: Resolviendo captcha, espera 2 segundos e intenta de nuevoerrorId > 0: Error del sistema, devuelve código de error y descripción
Ejemplos de Integración
import requests
import time
import base64
def solve_facebook_captcha(image_path, api_key='TU_CLAVE_API'):
# Leer y codificar imagen
with open(image_path, 'rb') as image_file:
image_base64 = base64.b64encode(image_file.read()).decode('utf-8')
# Paso 1: Crear tarea
create_task_url = 'https://api.achicaptcha.com/createTask'
create_task_payload = {
'clientKey': api_key,
'task': {
'type': 'ImageToTextTask',
'image': image_base64,
'subType': 'facebook'
}
}
response = requests.post(create_task_url, json=create_task_payload)
result = response.json()
if result['errorId'] != 0:
raise Exception(result['errorDescription'])
task_id = result['taskId']
# Paso 2: Obtener resultado
get_result_url = 'https://api.achicaptcha.com/getTaskResult'
while True:
time.sleep(2) # Esperar 2 segundos
get_result_payload = {
'clientKey': api_key,
'taskId': task_id
}
response = requests.post(get_result_url, json=get_result_payload)
result = response.json()
if result['errorId'] != 0:
raise Exception(result['errorDescription'])
if result['status'] == 'ready':
return result['solution']
# Si status == 'processing', continuar el bucle
# Uso
solution = solve_facebook_captcha('facebook_captcha.png', 'TU_CLAVE_API')
print('Resultado del captcha de Facebook:', solution)Códigos de Error Comunes
| Código de Error | Descripción | Notas |
|---|---|---|
| 0 | éxito | Éxito |
| 1 | procesando | Procesando |
| 2 | faltan campos requeridos | Falta campo requerido, verifica los parámetros nuevamente |
| 3 | tarea no compatible | Tipo de tarea no compatible |
| 4 | creación de tarea fallida | Creación de tarea fallida |
| 5 | la clave del cliente no existe | La clave API no existe, verifica la clave API nuevamente |
| 6 | saldo de cuenta insuficiente | Saldo de cuenta insuficiente, recarga créditos |
| 7 | tarea fallida, por favor crea una nueva tarea | Tarea fallida, por favor crea una nueva tarea |
| 8 | el ID de tarea no existe | El ID de tarea no existe |
Mejores Prácticas
Para lograr los mejores resultados al usar la API de Achicaptcha, sigue estos principios:
1. Calidad de Imagen
- Usa imágenes de alta resolución
- Asegúrate de que las imágenes no estén excesivamente borrosas o con ruido
- Captura o recorta el área correcta del captcha de Facebook
2. Intervalo de Sondeo
- Espera al menos 2 segundos entre verificaciones de resultado
- No envíes spam a la API con demasiadas solicitudes consecutivas
- Ten un tiempo de espera para evitar bucles infinitos
3. Lógica de Reintento
- Implementa reintento para errores temporales como
ERROR_NO_SLOT_AVAILABLE - Usa retroceso exponencial al reintentar
- Limita el número máximo de reintentos
4. Seguridad de la Clave API
- No codifiques la clave API en el código
- Usa variables de entorno
- No expongas la clave API en el lado del cliente
Enlaces Útiles: