Skip to main content

Buscar Etiqueta

Buscar una etiqueta en cualquier nombre de dominio soportado (Zelf, Avax, BDAG, u otros dominios licenciados).

Endpoint

GET /api/tags/search

Descripción

Este endpoint te permite buscar una etiqueta a través de múltiples dominios y sistemas de almacenamiento (IPFS y Arweave). El sistema soporta múltiples dominios incluyendo Zelf, Avax, BDAG, y otros dominios licenciados para empresas y startups.

Tipos de Respuesta:

  1. Etiqueta Encontrada: Retorna el objeto de etiqueta con todos los datos asociados
  2. Etiqueta No Encontrada: Retorna información de precios para alquilar la etiqueta

Nota: Los términos "ZelfProof", "ZK Face Proof", y "ZelfProofQRCode" están registrados como marca y deben usarse apropiadamente.

Autenticación

Este endpoint requiere autenticación mediante token JWT. Primero debes crear una sesión usando el endpoint /api/sessions para obtener un token JWT.

Parámetros

ParámetroTipoRequeridoDescripción
tagNamestringEl nombre de la etiqueta a buscar (ej., "username.zelf")
domainstringNoEl tipo de dominio (ej., "zelf", "avax", "bdag", u otros dominios licenciados)
keystringNoClave de búsqueda para búsqueda avanzada
valuestringNoValor de búsqueda para búsqueda avanzada
osstringNoSistema operativo ("DESKTOP", "ANDROID", "IOS")
captchaTokenstringNoToken CAPTCHA para protección contra bots (opcional)
durationstringNoDuración para precios ("1", "2", "3", "4", "5", "lifetime")

Respuesta

{
"data": {
"ipfs": [
{
"id": "0ee38476-9465-4431-9448-af82ab8156a9",
"url": "https://blush-selective-earwig-920.mypinata.cloud/ipfs/bafkreibv4c2j5covzbbzlldetlua7iubupz62sypgryel63xwyoua4qjte",
"ipfs_pin_hash": "bafkreibv4c2j5covzbbzlldetlua7iubupz62sypgryel63xwyoua4qjte",
"ipfsHash": "bafkreibv4c2j5covzbbzlldetlua7iubupz62sypgryel63xwyoua4qjte",
"cid": "bafkreibv4c2j5covzbbzlldetlua7iubupz62sypgryel63xwyoua4qjte",
"size": 20443,
"date_pinned": "2025-04-11T15:25:31.984Z",
"publicData": {
"btcAddress": "18gM3C84vAeAYvy5KweUdaJtmhD86dLAN2",
"ethAddress": "0x2DDcA84eF860085053A0008471BF27D73658f261",
"hasPassword": "true",
"solanaAddress": "5nKCBsij6qPYLMqVMQUXikgnAvnUSYCKEi8uS91Rg1dr",
"type": "mainnet",
"zelfName": "migueltrevino.zelf",
"zelfProof": "A54jeNyfJFD+x9WOpXQL+s8VYa2PFtlS...[truncated for brevity]",
"price": 0.8,
"duration": 1,
"registeredAt": "2025-01-15 01:31:07",
"expiresAt": "2026-01-15 01:31:07"
}
}
],
"arweave": [
{
"id": "fL2-FBVD0GFddYIfbD8wrjE7kKSMFtSgTxKJGHXYKgk",
"owner": "vzrsUNMg17WFPmh73xZguPbn_cZzqnef3btvmn6-YDk",
"url": "https://arweave.zelf.world/fL2-FBVD0GFddYIfbD8wrjE7kKSMFtSgTxKJGHXYKgk",
"explorerUrl": "https://viewblock.io/arweave/tx/fL2-FBVD0GFddYIfbD8wrjE7kKSMFtSgTxKJGHXYKgk",
"publicData": {
"Content-Type": "image/png",
"zelfProof": "A54jeNyfJFD+x9WOpXQL+s8VYa2PFtlS...[truncated for brevity]",
"hasPassword": "true",
"ethAddress": "0x2DDcA84eF860085053A0008471BF27D73658f261",
"evm": "ETH,BNB,MATIC,AVAX,FTM,ARB,OP,CRO,ONE,KLAY,xDAI,GLMR,CELO,OKT,AURORA",
"solanaAddress": "5nKCBsij6qPYLMqVMQUXikgnAvnUSYCKEi8uS91Rg1dr",
"btcAddress": "18gM3C84vAeAYvy5KweUdaJtmhD86dLAN2",
"zelfName": "migueltrevino.zelf",
"leaseExpiresAt": "2026-01-15 01:31:07"
},
"size": "20443",
"zelfProofQRCode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOt...[truncated for brevity]",
"zelfProof": "Avgl3a9BDAg1LhTQnmszezf/Xm0bePHAs4JikXQFusp...[truncated for brevity]"
}
],
"available": false,
"tagName": "migueltrevino.zelf",
"tagObject": {
"id": "fL2-FBVD0GFddYIfbD8wrjE7kKSMFtSgTxKJGHXYKgk",
"owner": "vzrsUNMg17WFPmh73xZguPbn_cZzqnef3btvmn6-YDk",
"url": "https://arweave.zelf.world/fL2-FBVD0GFddYIfbD8wrjE7kKSMFtSgTxKJGHXYKgk",
"explorerUrl": "https://viewblock.io/arweave/tx/fL2-FBVD0GFddYIfbD8wrjE7kKSMFtSgTxKJGHXYKgk",
"publicData": {
"Content-Type": "image/png",
"zelfProof": "A54jeNyfJFD+x9WOpXQL+s8VYa2PFtlS...[truncated for brevity]",
"hasPassword": "true",
"ethAddress": "0x2DDcA84eF860085053A0008471BF27D73658f261",
"evm": "ETH,BNB,MATIC,AVAX,FTM,ARB,OP,CRO,ONE,KLAY,xDAI,GLMR,CELO,OKT,AURORA",
"solanaAddress": "5nKCBsij6qPYLMqVMQUXikgnAvnUSYCKEi8uS91Rg1dr",
"btcAddress": "18gM3C84vAeAYvy5KweUdaJtmhD86dLAN2",
"zelfName": "migueltrevino.zelf",
"leaseExpiresAt": "2026-01-15 01:31:07"
},
"size": "20443",
"zelfProofQRCode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOt...[truncated for brevity]",
"zelfProof": "Avgl3a9BDAg1LhTQnmszezf/Xm0bePHAs4JikXQFusp...[truncated for brevity]"
}
}
}

Campos de Respuesta

Cuando la Etiqueta es Encontrada (available: false)

CampoTipoDescripción
ipfsarrayResultados IPFS que contienen los datos de la etiqueta
arweavearrayResultados Arweave que contienen los datos de la etiqueta
availablebooleanSi la etiqueta está disponible (false = encontrada/ocupada)
tagNamestringEl nombre de la etiqueta buscada
tagObjectobjectObjeto de etiqueta completo con todos los datos asociados
tagObject.idstringIdentificador único en el sistema de almacenamiento
tagObject.ownerstringIdentificador del propietario
tagObject.urlstringURL directa para acceder a los datos de la etiqueta
tagObject.explorerUrlstringURL del explorador de blockchain
tagObject.publicDataobjectMetadatos públicos y direcciones de wallet
tagObject.publicData.zelfProofstringFirma ZelfProof (término registrado)
tagObject.publicData.hasPasswordstringSi la etiqueta tiene protección por contraseña
tagObject.publicData.ethAddressstringDirección de wallet Ethereum
tagObject.publicData.evmstringRedes EVM soportadas
tagObject.publicData.solanaAddressstringDirección de wallet Solana
tagObject.publicData.btcAddressstringDirección de wallet Bitcoin
tagObject.publicData.zelfNamestringNombre completo de la etiqueta
tagObject.publicData.leaseExpiresAtstringFecha de expiración del alquiler de la etiqueta
tagObject.sizestringTamaño de los datos almacenados
tagObject.zelfProofQRCodestringImagen QR código base64 (término registrado)
tagObject.zelfProofstringDatos adicionales ZelfProof (término registrado)

Cuando la Etiqueta No es Encontrada (available: true)

CampoTipoDescripción
ipfsarrayResultados de búsqueda IPFS (vacío)
arweavearrayResultados de búsqueda Arweave (vacío)
availablebooleanSi la etiqueta está disponible (true = no encontrada)
tagNamestringEl nombre de la etiqueta buscada
priceobjectInformación de precios para alquilar la etiqueta
price.pricenumberPrecio de alquiler en USD
price.currencystringMoneda (USD)
price.rewardnumberCantidad de recompensa en USD
price.discountnumberCantidad de descuento aplicado
price.priceWithoutDiscountnumberPrecio original antes del descuento
price.discountTypestringTipo de descuento (ej., "percentage")

Ejemplos

# Primero, crear una sesión para obtener el token JWT
curl -X POST "https://api.zelf.world/api/sessions" \
-H "Content-Type: application/json" \
-H "Origin: https://test.example.com" \
-d '{
"identifier": "test_session_123",
"type": "createWallet",
"isWebExtension": false
}'

# Luego buscar una etiqueta
curl -X GET "https://api.zelf.world/api/tags/search?tagName=username.zelf&domain=zelf&os=DESKTOP" \
-H "Origin: https://test.example.com" \
-H "Authorization: Bearer YOUR_JWT_TOKEN_HERE"

# Buscar con duración de por vida para precios
curl -X GET "https://api.zelf.world/api/tags/search?tagName=username.zelf&domain=zelf&os=DESKTOP&duration=lifetime" \
-H "Origin: https://test.example.com" \
-H "Authorization: Bearer YOUR_JWT_TOKEN_HERE"

Precios Específicos por Dominio

Diferentes dominios tienen diferentes estructuras de precios:

  • Zelf: $24 USD (1 año), $210 USD (por vida)
  • Avax: $18 USD (1 año)
  • BDAG: Precios variables basados en la configuración del dominio

Opciones de Duración

DuraciónDescripciónMultiplicador de Precio Típico
11 año1x precio base
22 años~1.8x precio base
33 años~2.5x precio base
44 años~3.2x precio base
55 años~3.8x precio base
lifetimePor vida~8.75x precio base

Respuestas de Error

Las respuestas de error están documentadas en las pestañas de respuesta arriba, incluyendo errores de validación, errores de autenticación y errores del servidor.