API de Detalles del anuncio de Xianyu

POST

Salud de la API

Salud 24 h
Normal
Tiempo medio 24 h
—
  • Saludable / normal
  • Disponible
  • Limitada
  • Casi sin servicio
Normal

Pasa en urls entre 1 y 20 anuncios, como ID numéricos o enlaces https://www.goofish.com/item?id=. Cada anuncio se consulta y se cobra por separado: condition_level usa una escala de diez puntos, sold_count vale null cuando Xianyu no lo muestra y los anuncios que no se pueden leer aparecen en missed y se reembolsan.

Precio $5.56 por 1.000 solicitudes ($0.005556 por llamada). Las llamadas fallidas y los resultados vacíos no se cobran. Solo síncrona: todo lo que devuelve (cada elemento de un lote o cada SKU de un producto) se lee en esta llamada y "mode": "async" devuelve un 422 antes de cobrar nada.

Prompt para IA

Pégalo en tu asistente de IA. Ya incluye los parámetros, los campos de respuesta y una solicitud de ejemplo de este endpoint, así que el asistente puede preguntarte qué necesitas y luego escribir el script.

Ayúdame a escribir un script de recopilación de datos con el endpoint de EveryInfra Xianyu: Detalles del anuncio (xianyu/item_detail).

Contrato del endpoint:
- Solicitud: POST https://api.everyinfra.com/api/v1/social con la cabecera Authorization: Bearer <clave API>. Lee la clave de la variable de entorno EVERYINFRA_API_KEY y no la escribas en el código.
- En el cuerpo de la solicitud, pon platform en xianyu y action en item_detail, y los parámetros dentro de params.
- Parámetros obligatorios:
  - urls: Para item_detail, una lista de 1 a 20 anuncios de Xianyu: cada elemento es un ID numérico (el item_id que devuelve search) o un enlace https://www.goofish.com/item?id=<dígitos>, y cada anuncio puede aparecer una sola vez…
- Parámetros opcionales:
  - limit: Número máximo de filas que devuelve esta llamada, un entero de 1 o más. Si no lo envías, se usa el valor predeterminado, y una llamada puede devolver menos filas.
- Devuelve una lista de registros. Campos principales de cada registro: item_id (ID numérico del anuncio en Xianyu (cade…), url, title, text, price, original_price (Precio original indicado por el vendedo…), currency, shipping_fee (Gastos de envío en yuanes), condition_level (Estado en una escala de diez puntos: 10…), status (Estado del anuncio con el texto origina…), quantity (Cantidad disponible indicada por el ven…), want_count (Número de usuarios que marcaron que qui…); 45 campos en total, lista completa en https://api.everyinfra.com/api/v1/social/catalog?platform=xianyu.
- Cuerpo de solicitud de ejemplo:
{
  "platform": "xianyu",
  "action": "item_detail",
  "params": {
    "urls": [
      "https://www.goofish.com/item?id=<ITEM_ID>"
    ]
  }
}
- Precio: $5.56 por 1.000 solicitudes; los resultados fallidos y vacíos no se cobran.
- Este endpoint solo funciona en modo síncrono; no añadas "mode": "async" al cuerpo.
- Ante un 422, corrige la solicitud con los nombres de parámetros y los valores admitidos que sugiere el error; ante un 429 o un 503, espera lo que indique Retry-After y vuelve a intentarlo.

Antes de escribir código, pregúntame qué objetivos necesito, cuántos, qué campos y en qué formato quiero el resultado; luego confirma conmigo el plan y el coste aproximado.

Parámetros de la solicitud

NombreUbicaciónTipoObligatorioPor defectoDescripción
AuthorizationheaderstringSí-Bearer seguido de tu clave de API. Créala en la consola; nunca la pongas en una URL ni en un repositorio de código.
platformbodystringSíxianyuIdentificador de la plataforma, valor fijo.
actionbodystringSíitem_detailIdentificador de la capacidad, valor fijo.
urlsbody.paramsNo declaradoSí-Para item_detail, una lista de 1 a 20 anuncios de Xianyu: cada elemento es un ID numérico (el item_id que devuelve search) o un enlace https://www.goofish.com/item?id=<dígitos>, y cada anuncio puede aparecer una sola vez. Se cobra por anuncio y se reembolsan los que no se pueden leer. No se aceptan los enlaces cortos para compartir de la app.
limitbody.paramsinteger (1–)No-Número máximo de filas que devuelve esta llamada, un entero de 1 o más. Si no lo envías, se usa el valor predeterminado, y una llamada puede devolver menos filas.

Ejemplos de código

bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "xianyu",
  "action": "item_detail",
  "params": {
    "urls": [
      "https://www.goofish.com/item?id=<ITEM_ID>"
    ]
  }
}'

[Definición OpenAPI (JSON)]Los ejemplos leen la clave de la variable de entorno EVERYINFRA_API_KEY; el código copiado nunca contiene tu clave.

Ejemplo de respuesta

Vista previa de campos

Todavía no hay una muestra real para estos parámetros de ejemplo: se muestra la estructura de la respuesta y sus campos según el contrato, con … como marcadores. No es el resultado de una llamada real.

json
{
  "id": "req_…",
  "platform": "xianyu",
  "action": "item_detail",
  "results": [
    {
      "item_id": …,
      "url": …,
      "title": …,
      "text": …,
      "price": …,
      "original_price": …,
      "currency": …,
      "shipping_fee": …,
      "condition_level": …,
      "status": …,
      "quantity": …,
      "want_count": …,
      "view_count": …,
      "collect_count": …,
      "sold_count": …,
      "province": …,
      "city": …,
      "category_id": …,
      "image_url": …,
      "images": …,
      "posted_at": …,
      "seller_id": …,
      "seller_name": …,
      "seller_url": …,
      "seller_item_count": …,
      "seller_sold_count": …,
      "seller_good_review_rate": …,
      "seller_reply_rate_24h": …,
      "district": …,
      "division_id": …,
      "lat": …,
      "lng": …,
      "poi_name": …,
      "poi_id": …,
      "seller_avatar_url": …,
      "seller_city": …,
      "seller_bio": …,
      "seller_joined_at": …,
      "seller_last_seen": …,
      "seller_zhima_verified": …,
      "seller_zhima_level": …,
      "seller_zhima_level_code": …,
      "seller_credit_level": …,
      "seller_identity_tags": …,
      "seller_other_items": …,
      "platform": …
    }
  ],
  "count": …,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

Campos de la respuesta

Los datos están en results. La tabla lista los campos que puede tener cada registro; los valores que la plataforma no muestra nunca se inventan.

CampoSignificado
item_idID numérico del anuncio en Xianyu (cadena); se puede pasar tal cual en urls de item_detail.
urlEnlace al registro en la plataforma.
titleTítulo. null cuando la plataforma no usa títulos (por ejemplo publicaciones solo de texto).
textTexto del contenido sin HTML, completo y sin recortes (en algunas plataformas los resultados de listado solo traen un extracto; lo indican las notas de campos de la plataforma).
pricePrecio como número, sin símbolo de moneda; ver currency.
original_pricePrecio original indicado por el vendedor, en yuanes; null si no lo indicó.
currencyCódigo de moneda del precio (por ejemplo CNY, USD). Si hay price pero currency es null, no supongas una moneda.
shipping_feeGastos de envío en yuanes; 0 significa envío gratuito.
condition_levelEstado en una escala de diez puntos: 10 es nuevo y 9,5 equivale a «al 95 %»; null si el vendedor no lo indicó.
statusEstado del anuncio con el texto original que muestra Xianyu.
quantityCantidad disponible indicada por el vendedor; en artículos de segunda mano suele ser 1.
want_countNúmero de usuarios que marcaron que quieren el artículo. En la búsqueda sale de la etiqueta de la tarjeta y vale null cuando la tarjeta no la muestra; null no equivale a 0.
view_countVisualizaciones o reproducciones. null significa no publicado, no 0.
collect_countGuardados o favoritos. null significa no publicado, no 0.
sold_countUnidades vendidas de este anuncio. Xianyu no muestra este contador en la mayoría de los anuncios, así que 0 y la ausencia se devuelven como null; no significa que no se haya vendido.
provinceProvincia del anuncio.
cityUbicación del anuncio a nivel de ciudad, tal como la muestra Xianyu; algunos anuncios solo muestran la provincia. La ubicación más precisa, si el anuncio la tiene, va en district, lat, lng y poi_name.
category_idIdentificador de la categoría de Xianyu (cadena).
image_urlEnlace de imagen. Las capacidades con varias imágenes pueden devolver una lista image_urls.
imagesEnlaces de todas las fotos del anuncio, tantas como tenga; la primera suele ser la principal.
posted_atFecha de publicación en ISO 8601, UTC (por ejemplo 2026-08-07T12:34:56+00:00). Las cadenas no estándar de la plataforma se transmiten tal cual, así que conviene analizarlas con tolerancia. null significa que la plataforma no la publica.
seller_idID numérico del vendedor (cadena).
seller_nameApodo del vendedor. Xianyu lo enmascara en parte para las visitas sin sesión y se devuelve tal como aparece en la página.
seller_urlEnlace al perfil del vendedor en Xianyu.
seller_item_countAnuncios activos que muestra el perfil del vendedor.
seller_sold_countUnidades vendidas en total según el perfil del vendedor.
seller_good_review_ratePorcentaje de valoraciones positivas del vendedor (98 equivale a 98 %); null si el perfil no lo muestra.
seller_reply_rate_24hPorcentaje de mensajes que el vendedor responde en 24 horas; null si el perfil no lo muestra.
districtDistrito del anuncio con el texto original; el campo no aparece si no se indica.
division_idCódigo de división administrativa de la ubicación del anuncio (cadena, por ejemplo 360100); el campo no aparece si no se indica.
latLatitud de la ubicación del anuncio, con el valor original y sin conversión de sistema de coordenadas (en China los mapas suelen usar GCJ-02); el campo no aparece si no hay ubicación.
lngLongitud de la ubicación del anuncio; aparece junto con lat.
poi_nameNombre del lugar (POI) que marcó el vendedor, como un centro comercial o un barrio; el campo no aparece si no lo marcó.
poi_idID de ese lugar en el mapa de Xianyu (cadena).
seller_avatar_urlEnlace a la foto de perfil del vendedor.
seller_cityCiudad que muestra el perfil del vendedor; puede no coincidir con la del anuncio.
seller_bioFirma personal del perfil del vendedor, con su texto original.
seller_joined_atFecha de registro del vendedor en Xianyu, en ISO 8601 y UTC.
seller_last_seenÚltima visita del vendedor a Xianyu, con el texto original de la página, por ejemplo «hace 5 horas».
seller_zhima_verifiedIndica si el vendedor tiene activado y visible el crédito Zhima.
seller_zhima_levelNombre del nivel de crédito Zhima del vendedor, con el texto original, por ejemplo «crédito excelente».
seller_zhima_level_codeCódigo del nivel de crédito Zhima, por ejemplo A.
seller_credit_levelNivel de crédito del vendedor en Xianyu (número).
seller_identity_tagsEtiquetas de verificación del perfil del vendedor, con su texto original, por ejemplo «verificación de identidad superada».
seller_other_itemsOtros anuncios activos del mismo vendedor; cada uno lleva item_id y url, y a veces title, price e image_url.
platformIdentificador de la plataforma, igual que platform en la solicitud (por ejemplo xiaohongshu, tiktok).

Errores y facturación

401
Falta la clave o no es válida. La autenticación se comprueba antes que los parámetros, así que las solicitudes sin autenticar no ven el esquema de parámetros.
422
Nombre o valor de parámetro incorrecto. El error enumera los parámetros y valores permitidos de esta capacidad y la opción más cercana; ocurre antes de cualquier cobro.
402
Saldo insuficiente. Recarga primero.
429
Se alcanzó el límite de solicitudes por minuto de la cuenta (todas sus claves API cuentan juntas; antes se aplica el límite propio de una clave si es menor). Espera lo que indique Retry-After y vuelve a intentarlo; un paquete de velocidad en la consola sube el límite.
503
No se pudo completar ahora. Cualquier cargo de la llamada vuelve automáticamente a tu saldo, y el recibo de facturación de la respuesta indica el resultado real, también cuando aún no se conoce. No reenvíes a ciegas.
200 vacío
La solicitud terminó sin datos y no se cobra (billing.reason = empty_result_refunded).

Referencias oficiales

Solo sirven para contrastar objetos y términos. No implican autorización ni respaldo de la plataforma a EveryInfra.

  • Alibaba Open Platform: ID de artículo y grado de conservación en Xianyu ↗

    La API de consulta de artículos de Alibaba para socios ISV autorizados de Xianyu identifica un anuncio por su ID numérico y gradúa el estado con stuff_status: 100 es nuevo, 95 es al 95 % y -1 es casi nuevo. Las llamadas requieren autorización dentro del entorno de socios de Alibaba; la fuente solo confirma la terminología del identificador y del estado, y no implica que EveryInfra use esa API ni que pueda leer todos los campos de cualquier anuncio.

    Comprobado el 2026-09-29