Nagłówki odpowiedzi

Każda odpowiedź z FourA API zawiera krótki zestaw niestandardowych nagłówków. Są one przydatne do śledzenia, wsparcia technicznego i analizy post-hoc.

Nagłówki ustawiane przez FourA

Nagłówek Ustawiany dla Opis
X-Foura-Request-Id Każda odpowiedź /api/*, w tym błędy i 401 UUID identyfikujący ten request. Zapisz go w logach po swojej stronie.
Content-Type Każda odpowiedź Zawsze application/json dla koperty. Content-type celu jest zwracany wewnątrz pola headers koperty.

X-Foura-Request-Id

Każde wywołanie POST /api/single/, POST /api/proxy/ lub POST /api/browser/ jest oznaczane identyfikatorem UUID. Nagłówek jest ustawiany nawet wtedy, gdy uwierzytelnianie się nie powiedzie, dzięki czemu możesz powiązać również błędnie skonfigurowane wywołania.

curl -i -X POST https://eu.api.foura.ai/api/single/ \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"method": "GET", "url": "https://example.com"}'
HTTP/1.1 200 OK
X-Foura-Request-Id: 9f1c4e6c-7b2a-4d3e-8a1f-2c9d8e4a3b15
Content-Type: application/json
...

Kiedy go używać

  • Zgłoszenia do wsparcia: dołącz request ID, a będziemy mogli znaleźć dokładne wywołanie w naszych logach.
  • Własne logi: zapisuj go obok linii logu aplikacji. Jeśli klient zgłosi, że „dane były błędne o 14:32”, możesz odtworzyć dokładnie ten request.
  • Śledzenie w Dashboard: ten sam ID pojawia się w sekcji Activity feed dla zarządzanych przez Ciebie kluczy, więc możesz otworzyć pasujący wiersz i sprawdzić przechwycony request i response.

Przykład: logowanie po Twojej stronie

import logging
import requests

log = logging.getLogger(__name__)

def fetch(url, api_key):
    resp = requests.post(
        "https://eu.api.foura.ai/api/single/",
        headers={"X-API-Key": api_key, "Content-Type": "application/json"},
        json={"method": "GET", "url": url},
    )
    request_id = resp.headers.get("X-Foura-Request-Id", "no-id")
    log.info("foura request_id=%s url=%s status=%s", request_id, url, resp.status_code)
    resp.raise_for_status()
    return resp.json()
async function fetchPage(url, apiKey) {
  const resp = await fetch('https://eu.api.foura.ai/api/single/', {
    method: 'POST',
    headers: { 'X-API-Key': apiKey, 'Content-Type': 'application/json' },
    body: JSON.stringify({ method: 'GET', url })
  });

  const requestId = resp.headers.get('X-Foura-Request-Id') || 'no-id';
  console.log(`foura request_id=${requestId} url=${url} status=${resp.status}`);

  return resp.json();
}

Zachowanie cache

API nie ustawia nagłówków Cache-Control ani ETag w odpowiedziach. Każde wywołanie trafia bezpośrednio do backendu. Jeśli potrzebujesz cache'owania, dodaj je po swojej stronie.

Nagłówki odpowiedzi witryny docelowej

Nagłówki zwrócone przez docelową witrynę nie znajdują się w odpowiedzi FourA API. Są one zwracane wewnątrz koperty JSON w polu headers. Dla endpointów Single i Proxy jest to tablica obiektów nagłówków dla każdego przeskoku (jeden wpis na każdy krok przekierowania). Dla endpointu Browser jest to płaski obiekt nagłówków ostatecznej odpowiedzi.

{
  "status": 200,
  "headers": [
    { "Content-Type": "text/html; charset=utf-8", "Server": "..." }
  ],
  "data": "<!doctype html>...",
  "total_time": 0.42
}

Jeśli potrzebujesz konkretnego nagłówka docelowego, odczytaj go z pola headers koperty, a nie z samej odpowiedzi HTTP wywołania API.

Powiązane

  • API Endpoints: Struktura koperty requestu i response
  • API Errors: Jak strukturyzowane są odpowiedzi o błędach
  • Activity Log: Historia dla każdego requestu powiązana z request ID
Aktualizacja: 30 czerwca 2026