QannasAPI

Crea una lista de contactos verificada en una sola llamada

Lo que vas a construir: una lista verificada de personas en empresas que encajan con tus filtros, mediante el flujo lead-list del lado del servidor — primero cotizado, luego ejecutado y después exportado como CSV.

SecciónFlujos del lado del servidor
Acciones usadasPOST /v1/data/workflows/lead-list:estimatePOST /v1/data/workflows/lead-list
Créditos7 por persona encontrada (peor caso)
Compatible con clave de pruebaNo — necesita una clave real
Tiempo estimado~15 min
Requisitos previosUna clave qk_live_ con saldo de créditos. Esta receta toca fuentes de pago, así que una clave de prueba devuelve datos fijos en lugar de resultados reales.

Qué encadena el flujo

Por cada persona corren tres pasos de nuestro lado: encontrar candidatos que encajen con tus filtros, encontrar la dirección de correo y verificar esa dirección. Envías una petición en vez de orquestar tres, y cada paso solo se cobra cuando produce algo.

list-workflows.sh
# Discover what is available to your key rather than
# trusting a list copied from a page.
curl https://api.qannasapi.com/v1/data/workflows \
  -H "Authorization: Bearer $QANNAS_API_KEY"

Cotízalo con dry_run

Envía el cuerpo del flujo con dry_run: true y obtienes el desglose de créditos por paso sin ejecutar nada. Este es el número contra el que presupuestar — asume que cada paso tiene éxito para cada persona.

quote.sh
curl -X POST https://api.qannasapi.com/v1/data/workflows/lead-list \
  -H "Authorization: Bearer $QANNAS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "inputs": {"industry": "logistics", "country": "AE"},
        "limit": 25,
        "dry_run": true
      }'

# < X-Credits-Charged: 0   # the quote is free

Ejecútalo

Quita dry_run y envía el mismo cuerpo. Pon format en csv si quieres un fichero en vez de JSON; markdown también está disponible. La respuesta lleva las mismas cabeceras de créditos que cualquier otra llamada, así que puedes conciliar la ejecución con la cotización de inmediato.

run.sh
# Same body, without dry_run. format: json | csv | markdown
curl -X POST https://api.qannasapi.com/v1/data/workflows/lead-list \
  -H "Authorization: Bearer $QANNAS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "inputs": {"industry": "logistics", "country": "AE"},
        "limit": 25,
        "format": "csv"
      }'

# < X-Credits-Charged: 138  # reconcile this against the quote

Refresca por delta

Activa track_delta en la primera ejecución y pasa el cursor devuelto como since_cursor en la siguiente para recibir solo lo que cambió. Ten en cuenta que el delta es un filtro sobre lo que recibes, no un descuento sobre lo que pagas.

delta.sh
# Run one: ask for a cursor.
curl -X POST https://api.qannasapi.com/v1/data/search/people \
  -H "Authorization: Bearer $QANNAS_API_KEY" \
  -d '{"query": "logistics AE", "track_delta": true}'

# Run two: receive only what changed.
# NOTE: delta filters what you RECEIVE. It is not a discount.
curl -X POST https://api.qannasapi.com/v1/data/search/people \
  -H "Authorization: Bearer $QANNAS_API_KEY" \
  -d '{"query": "logistics AE", "since_cursor": "cur_..."}'

Resumen

PatrónCómo
CotizarPOST /v1/data/workflows/lead-list con dry_run: true
EjecutarEl mismo cuerpo, sin dry_run
Pasos encadenadosbúsqueda → buscar correo → verificar, facturado por paso
Formato de salidaformat: json | csv | markdown
Refresco incrementaltrack_delta en la primera ejecución, since_cursor después
Forma del costePor persona encontrada, no por persona solicitada

Lista para producción

  • Cotiza con dry_run antes de cada ejecución programada, no solo la primera.
  • Presupuesta contra el techo; concilia contra X-Credits-Charged.
  • Guarda el cursor de delta con la lista, no en memoria de la aplicación.
  • Revierifica las direcciones periódicamente — la entregabilidad se degrada.

Siguientes pasos

Ejecuta primero la estimación. No cuesta nada y aplica exactamente la misma aritmética que el contador.