Przejdź do treści

Dokumentacja referencyjna API

Adres bazowy to https://api.talismanleads.io/v1. Żądania i odpowiedzi są w formacie JSON, z wyjątkiem linków do przesyłania i pobierania. Dostępne także jako plik OpenAPI.

Twoje saldo

GET/account

Twoje saldo i obowiązujące limity.

Wymagany klucz API: Tylko do odczytu lub może składać zamówienia

Przykładowe żądanie

curl "https://api.talismanleads.io/v1/account" \
  -H "Authorization: Bearer tl_live_your_key_here"

Przykładowa odpowiedź (200)

{
  "balance": "100.00",
  "currency": "USD",
  "key": {
    "id": "11111111-1111-4111-8111-111111111111",
    "scopes": [
      "read",
      "orders"
    ]
  },
  "limits": {
    "reads_per_minute": 60,
    "result_downloads_per_minute": 30,
    "uploads_per_minute": 10,
    "estimates_per_minute": 10,
    "orders_per_minute": 10,
    "open_task_parts": 20
  }
}

Lista weryfikatorów

GET/checkers

Co to konto może teraz zamówić, według jego cen. Wstrzymany lub zablokowany weryfikator nie jest na liście.

Wymagany klucz API: Tylko do odczytu lub może składać zamówienia

Przykładowe żądanie

curl "https://api.talismanleads.io/v1/checkers" \
  -H "Authorization: Bearer tl_live_your_key_here"

Przykładowa odpowiedź (200)

{
  "checkers": [
    {
      "id": "whatsapp_status_detection",
      "name": "WhatsApp Status Detection",
      "input": "phone",
      "price": {
        "amount": "3.00",
        "per_entries": 10000,
        "currency": "USD"
      },
      "minimum_entries": 0,
      "minimum_billed_entries": 2000,
      "calling_code": null
    }
  ]
}

Prześlij dużą listę

POST/uploads

Link, na który wysyłasz plik, bezpośrednio do magazynu. Wyślij go metodą PUT z podanymi nagłówkami. Link jest ważny 2 godziny.

Wymagany klucz API: Może składać zamówienia

Treść

size_bytesinteger · wymagany
Rozmiar pliku w bajtach.
file_namestring · opcjonalny
Nazwa listy, zakończona na .txt.

Przykładowe żądanie

curl -X POST "https://api.talismanleads.io/v1/uploads" \
  -H "Authorization: Bearer tl_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"file_name":"list.txt","size_bytes":1048576}'

Przykładowa odpowiedź (201)

{
  "upload_id": "upl_2b7d9f10-6c3e-4a1f-8d2b-9e8f7a6b5c4d",
  "upload_url": "https://storage.example.com/upload/sign/list.txt?token=...",
  "method": "PUT",
  "headers": {
    "Content-Type": "text/plain"
  },
  "expires_at": "2026-11-05T11:00:00.000Z"
}

Zobacz, ile kosztowałoby zamówienie

POST/estimates

Liczy wpisy, oblicza cenę i zgłasza ewentualne problemy z listą. Nie pobiera żadnej opłaty. Na odpowiedź przewidź do 5 minut.

Wymagany klucz API: Może składać zamówienia

Treść

checkerstring · wymagany
id weryfikatora z GET /checkers.
entriesstring[] · opcjonalny
Lista, jeden ciąg znaków na wpis, do 100 000 wpisów i 4 MB. Wyślij to albo upload_id.
upload_idstring · opcjonalny
upload_id z POST /uploads. Wyślij to albo entries.
countrystring · opcjonalny
Dwuliterowy kod kraju, jeśli chcesz wskazać, z którego kraju są numery.
file_namestring · opcjonalny
Nazwa listy, zakończona na .txt.

Przykładowe żądanie

curl -X POST "https://api.talismanleads.io/v1/estimates" \
  -H "Authorization: Bearer tl_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"checker":"whatsapp_status_detection","entries":["+14155550142","+12125550187"]}'

Przykładowa odpowiedź (200)

{
  "checker": "whatsapp_status_detection",
  "entries": 2,
  "billed_entries": 2000,
  "charge": "0.60",
  "currency": "USD",
  "parts": 1,
  "country": {
    "code": "US",
    "share": 1
  }
}

Złóż zamówienie

POST/orders

Obciąża Twoje saldo i ustawia pracę w kolejce. Odpowiada 201 dla nowego zamówienia oraz 200 z Idempotent-Replay: true dla powtórzenia; powtórzenie w tej samej chwili może też odpowiedzieć 201, więc rozróżniaj zamówienia po id. Na odpowiedź przewidź do 5 minut.

Wymagany klucz API: Może składać zamówienia

Nagłówki

Idempotency-Keystring · wymagany
Do 200 znaków ASCII bez spacji. Przez 7 dni ten sam klucz Idempotency-Key oznacza to samo zamówienie.

Treść

checkerstring · wymagany
id weryfikatora z GET /checkers.
entriesstring[] · opcjonalny
Lista, jeden ciąg znaków na wpis, do 100 000 wpisów i 4 MB. Wyślij to albo upload_id.
upload_idstring · opcjonalny
upload_id z POST /uploads. Wyślij to albo entries.
countrystring · opcjonalny
Dwuliterowy kod kraju, jeśli chcesz wskazać, z którego kraju są numery.
file_namestring · opcjonalny
Nazwa listy, zakończona na .txt.
expected_chargestring · opcjonalny
Cena w dolarach, na przykład "18.00". Zamówienie jest odrzucane z kodem price_changed, jeśli kosztuje cokolwiek innego.

Przykładowe żądanie

curl -X POST "https://api.talismanleads.io/v1/orders" \
  -H "Authorization: Bearer tl_live_your_key_here" \
  -H "Idempotency-Key: crm-export-2026-11-05" \
  -H "Content-Type: application/json" \
  -d '{"checker":"whatsapp_status_detection","entries":["+14155550142","+12125550187"]}'

Przykładowa odpowiedź (201)

{
  "id": "ord_8f2c1e7a-3b4d-4c5e-9f60-1a2b3c4d5e6f",
  "checker": "whatsapp_status_detection",
  "status": "queued",
  "entries": 2,
  "charge": "0.60",
  "refunded": "0.00",
  "currency": "USD",
  "parts": {
    "total": 1,
    "completed": 0,
    "failed": 0
  },
  "results": null,
  "error": null,
  "source": "api",
  "created_at": "2026-11-05T09:00:00.000Z",
  "completed_at": null
}

Lista Twoich zamówień

GET/orders

Od najnowszych. Przekaż next_cursor z powrotem jako cursor, aby otrzymać następną stronę.

Wymagany klucz API: Tylko do odczytu lub może składać zamówienia

Parametry zapytania

limitinteger · opcjonalny
Ile zwrócić, od 1 do 100. Domyślnie 20.
cursorstring · opcjonalny
next_cursor z poprzedniej strony.

Przykładowe żądanie

curl "https://api.talismanleads.io/v1/orders?limit=20" \
  -H "Authorization: Bearer tl_live_your_key_here"

Przykładowa odpowiedź (200)

{
  "orders": [
    {
      "id": "ord_8f2c1e7a-3b4d-4c5e-9f60-1a2b3c4d5e6f",
      "checker": "whatsapp_status_detection",
      "status": "completed",
      "entries": 2,
      "charge": "0.60",
      "refunded": "0.00",
      "currency": "USD",
      "parts": {
        "total": 1,
        "completed": 1,
        "failed": 0
      },
      "results": {
        "registered": 1,
        "not_registered": 1
      },
      "error": null,
      "source": "api",
      "created_at": "2026-11-05T09:00:00.000Z",
      "completed_at": "2026-11-05T09:02:10.000Z"
    }
  ],
  "next_cursor": null
}

Jedno zamówienie

GET/orders/{id}

Jego stan, wpisy, opłata, zwrot, części i liczby. results ma wartość null, dopóki żadna część się nie zakończy, a liczba ma wartość null tam, gdzie weryfikator jej nie podaje.

Wymagany klucz API: Tylko do odczytu lub może składać zamówienia

Parametry ścieżki

idstring · wymagany
id zamówienia.

Przykładowe żądanie

curl "https://api.talismanleads.io/v1/orders/ord_8f2c1e7a-3b4d-4c5e-9f60-1a2b3c4d5e6f" \
  -H "Authorization: Bearer tl_live_your_key_here"

Przykładowa odpowiedź (200)

{
  "id": "ord_8f2c1e7a-3b4d-4c5e-9f60-1a2b3c4d5e6f",
  "checker": "whatsapp_status_detection",
  "status": "completed",
  "entries": 2,
  "charge": "0.60",
  "refunded": "0.00",
  "currency": "USD",
  "parts": {
    "total": 1,
    "completed": 1,
    "failed": 0
  },
  "results": {
    "registered": 1,
    "not_registered": 1
  },
  "error": null,
  "source": "api",
  "created_at": "2026-11-05T09:00:00.000Z",
  "completed_at": "2026-11-05T09:02:10.000Z"
}

Pliki wynikowe

GET/orders/{id}/results

Link do pobrania dla każdej części, ważny 15 minut. Część, która wciąż trwa, nie ma linku. Skontaktuj się z pomocą techniczną, jeśli ukończona część go nie ma.

Wymagany klucz API: Tylko do odczytu lub może składać zamówienia

Parametry ścieżki

idstring · wymagany
id zamówienia.

Przykładowe żądanie

curl "https://api.talismanleads.io/v1/orders/ord_8f2c1e7a-3b4d-4c5e-9f60-1a2b3c4d5e6f/results" \
  -H "Authorization: Bearer tl_live_your_key_here"

Przykładowa odpowiedź (200)

{
  "order_id": "ord_8f2c1e7a-3b4d-4c5e-9f60-1a2b3c4d5e6f",
  "status": "completed",
  "parts": [
    {
      "part": 1,
      "status": "completed",
      "file_name": "result.csv",
      "url": "https://storage.example.com/sign/result.csv?token=...",
      "expires_at": "2026-11-05T09:17:10.000Z"
    }
  ]
}

Na tej stronie