FITALAPI

IP de salida de webhooks

GET /v1/meta/egress-ips

Direcciones desde las que FITAL envía webhooks, para tu firewall. Pública, con un minuto de caché. La firma HMAC sigue siendo la protección principal.

DatoValor
Método y rutaGET /v1/meta/egress-ips
Servidorhttps://widget.fital.xyz
operationIdgetEgressIps
AccesoPúblico, sin llave
Firma de peticiónNo aplica
IdempotenciaNo aplica

Encabezados de la petición

EncabezadoObligatorioDescripción

Sin llave ni otros encabezados obligatorios.

Respuestas correctas

200 Correcto

CampoTipoObligatorioDescripción
addresseslista de objetoSíDirecciones vigentes o anunciadas.
addresses[].active_fromtexto o nullSíDesde cuándo se usa.
addresses[].iptextoSíDirección IP de salida.
addresses[].retiring_attexto o nullSíCuándo deja de usarse. null si no tiene fecha de retiro.
notetextoSíRecordatorio: autoriza por firma, no sólo por IP.
{
  "addresses": [
    {
      "active_from": "2026-11-01T00:00:00.000Z",
      "ip": "198.51.100.10",
      "retiring_at": null
    }
  ],
  "note": "La firma HMAC es la protección principal"
}

Encabezados de la respuesta

EncabezadoContenido
X-Request-IdIdentificador de la petición. Cítalo con soporte.

Errores

Todos usan la forma de Errores: error.code, message, request_id, details, retryable y docs_url. Decide por code.

HTTPCódigoCuándo saleretryable
429rate_limitedSuperaste el límite por IP. Llega con Retry-After.true
500internal_errorFallo nuestro.true

Ejemplos de error

429 rate_limited:

{
  "error": {
    "code": "rate_limited",
    "message": "Demasiadas peticiones",
    "request_id": "0123456789abcdef0123456789abcdef",
    "details": {},
    "retryable": true,
    "docs_url": "https://merchants.fital.xyz/docs/errores/#rate_limited"
  }
}

500 internal_error:

{
  "error": {
    "code": "internal_error",
    "message": "Error interno",
    "request_id": "0123456789abcdef0123456789abcdef",
    "details": {},
    "retryable": true,
    "docs_url": "https://merchants.fital.xyz/docs/errores/#internal_error"
  }
}

Reintentos

Es una lectura: repetirla no tiene efecto.

  • 429 rate_limited: Espera lo que indique Retry-After y repite.
  • 500 internal_error: Repite con espera exponencial.

Ver Reintentos y Límites.

Muestras

Variables de estas muestras: simulador público, sin cuenta

Define esto en tu terminal. Con estos valores las muestras corren tal cual contra el simulador público:

export FITAL_API="https://widget.fital.xyz/explorar/v1"
export FITAL_KEY="sk_test_sandbox_publica"

En la cuenta de prueba o en producción cambia la base, la llave y el secreto, y sustituye los id de ejemplo por los tuyos. Ver Ambientes.

op-consultar-ip-de-salida.sh
curl -sS "$FITAL_API/meta/egress-ips"

Guías

Ver esta página en Markdown

En esta página