Este inventario describe las solicitudes y lecturas visibles en el cliente decompilado. La implementación Python y sus límites están en remote-clients.md. Las lecturas reales realizadas constan en evidence/services-live.json; las demás operaciones sólo tienen demostración de transporte con fixtures. k3.f construye POST JSON para sus ramas de monedas/proxy y añade X-Client-Key con un valor embebido en el cliente en las ramas proxy y POST genérico (líneas 181-190, 247-260, 327-345); donde un campo de respuesta no se consulta, se marca así.
| Operación del cliente | Método / URL literal | Request observado | Response leído por el cliente |
|---|---|---|---|
| Acreditar monedas | k3.e.a, POST https://api.spacehowen.com/users-coins/coins.php (k3/e.java:61-83) |
JSON action=credit, id_token, purchaseToken, sku, quantity |
ok; si verdadero, lee credited, already_credited, balance y devuelve balance. |
| Consultar saldo | k3.e.b, POST misma URL (k3/e.java:107-125) |
action=get_balance, id_token |
ok, balance; devuelve balance solo con ok=true. |
| Gastar monedas | k3.e.c, POST misma URL (k3/e.java:148-169) |
action=spend, id_token, amount |
ok, balance; devuelve balance con ok=true. |
| Verificar suscripción | k3.e.d, POST https://api.spacehowen.com/verify/verify.php (k3/e.java:195-212,223-244) |
JSON token, sku, type=sub |
Lee ok como booleano; resultado se cachea en memoria hasta 45 s para ese token. |
| Registrar token FCM | k3.f, POST https://api.spacehowen.com/fcm/tokens.php?action=<action> (k3/f.java:115-145) |
JSON action, token, app=namso |
Solo inspecciona el código HTTP; no decodifica body JSON en esta rama. |
| Marcar notificación recibida | k3.f, POST https://api.spacehowen.com/fcm/track.php?action=received (k3/f.java:146-177) |
action=received, mid, dev |
Solo inspecciona el código HTTP. |
| Comprar proxy 100 MB | k3.f, POST https://api.spacehowen.com/users-proxys/buy.php (k3/f.java:178-215) |
id_token, purchaseToken, sku=proxy_100_mb; cabecera cliente descrita arriba |
Lee ok; con éxito: mb_added, mb_total, mb_left, quota_bytes, used_bytes, expires_at, already_credited; error: error o reason. |
| Obtener proxy por país | k3.f, POST https://api.spacehowen.com/users-proxys/get_proxy.php (k3/f.java:244-295) |
id_token, country en minúsculas; cabecera cliente descrita arriba |
Lee ok, proxy.host, proxy.port, proxy.user, proxy.pass, country, mb_left; error: error, opcional message. |
| Consultar estado checker | h3.e1.t0, POST https://api.spacehowen.com/cards-checker/get_status.php (h3/e1.java:2493-2511) |
JSON gate, card |
Callback e5.a.e lee status, t (e5/a.java:45-62). El flujo usa esos valores como estado/timestamp cacheado. |
| Guardar estado checker | h3.e1.m0, POST https://api.spacehowen.com/cards-checker/save_status.php (h3/e1.java:2376-2392) |
gate, card, status |
Respuesta procesada por callback de error/éxito; campos del body no identificados en este método. |
| Consultar BIN | h3.j0/h3.r0, GET https://bins.antipublic.cc/bins/<primeros-6-dígitos> (h3/j0.java:80-88, h3/r0.java:21-30) |
Sin body; el sufijo son los primeros seis caracteres PAN | h3.e1.s0 intenta leer brand, type, bank, level, country_name, country_flag (h3/e1.java:634-651). |
| Guardar BIN extra | h3.v.c0, POST https://api.spacehowen.com/bins-extras/save_bin.php (h3/v.java:120-151) |
JSON bin_base, month, year; llamado solo con mes/año definidos y BIN no vacío de solo x |
Callback no expone un contrato JSON reconstruible en este método. |
| Cargar dataset de países | h3.z.b0, GET https://raw.githubusercontent.com/spacehowen/world-data-json/refs/heads/main/world_data.json (h3/z.java:37-80) |
Sin body | El cliente trata el body como objeto JSON: clave por país con arreglo de filas; cada fila consulta pais, estado, ciudad, direccion, codigo_postal, telefono (h3/z.java:132-149). |
cards-checker se usa aquí para endpoints de estado/cache; el fragmento también declara esa URL base (h3/e1.java:116-127). No se encontró en estos métodos un contrato del checker remoto que clasifique una tarjeta como viva o muerta: el cliente combina cache, estados locales y respuesta del lookup BIN. Por tanto, no se puede reconstruir el servicio de verificación a partir de estos contratos.