Documentação oficial para consumo e envio de dados da plataforma FX Data.
A API FX Data permite integração segura e escalável para consulta e envio de dados analíticos processados pela plataforma FX Data Intelligence.
Endpoint: POST https://api.login.fxdata.com.br/api/authenticate
{
"username": "SEU_USUARIO",
"password": "SUA_SENHA"
}
{
"success": true,
"token": "JWT_TOKEN"
}
O campo de Granularity define como os dados são agregados ao longo do período selecionado.
hour – Agregação horaday – Agregação diaweek – Agregação semanamonth – Agregação mêsyear – Agregação ano{
"company": "ID_CLIENTE",
"filter": ["ID_ESTABELECIMENTO"],
"queries": [{
"alias": "entrace_flow_day",
"metric": "entrace_flow",
"by_establishment": true,
"period": {
"from": "2025-01-01 00:00:00",
"to": "2025-01-01 23:59:59"
},
"granularity": "day"
}]
}
{
"company": "ID_CLIENTE",
"filter": ["ID_ESTABELECIMENTO"],
"queries": [{
"alias": "vitrine_flow_hour",
"metric": "vitrine_flow",
"by_establishment": true,
"period": {
"from": "2025-01-01 08:00:00",
"to": "2025-01-01 22:00:00"
},
"granularity": "hour"
}]
}
{
"company": "ID_CLIENTE",
"filter": ["ID_ESTABELECIMENTO"],
"queries": [{
"alias": "conversion_month",
"metric": "conversion",
"by_establishment": true,
"period": {
"from": "2025-01-01 00:00:00",
"to": "2025-01-31 23:59:59"
},
"granularity": "month"
}]
}
{
"company": "ID_CLIENTE",
"filter": ["ID_ESTABELECIMENTO"],
"queries": [{
"alias": "purchase_day",
"metric": "purchase",
"by_establishment": true,
"period": {
"from": "2025-01-01 00:00:00",
"to": "2025-01-01 23:59:59"
},
"granularity": "day"
}]
}
{
"company": "ID_CLIENTE",
"filter": ["ID_ESTABELECIMENTO"],
"queries": [{
"alias": "movement_total",
"metric": "movement",
"aggregate": "sum",
"by_establishment": true,
"period": {
"from": "2025-01-01 00:00:00",
"to": "2025-01-31 23:59:59"
},
"granularity": "day"
}]
}
{
"company": "ID_CLIENTE",
"filter": ["ID_ESTABELECIMENTO"],
"queries": [{
"alias": "fitting_room_flow_day",
"metric": "fitting_room_flow",
"by_fitting_room_type": true,
"period": {
"from": "2025-01-01 00:00:00",
"to": "2025-01-01 23:59:59"
},
"granularity": "day"
}]
}
{
"company": "N189",
"filter": ["N1330"],
"queries": [{
"alias": "client_profile_flow",
"metric": "client_profile_flow",
"by_establishment": true,
"by_device": false,
"by_ambient": false,
"by_gender_type": true,
"aggregate": "seg",
"period": {
"from": "2025-11-14 00:00:00",
"to": "2025-12-15 16:13:05"
},
"granularity": "day"
}]
}
O exemplo abaixo demonstra como autenticar na API FX Data e consultar o fluxo de
entrantes (entrace_flow) automaticamente de X em X minutos,
possibilitando integração com ferramentas de BI.
import requests
import time
from datetime import datetime, timedelta
API_BASE_URL = "https://api.login.fxdata.com.br/api"
USERNAME = "SEU_USUARIO"
PASSWORD = "SUA_SENHA"
COMPANY_ID = "ID_CLIENTE"
ESTABLISHMENT_ID = "ID_ESTABELECIMENTO"
POLL_INTERVAL = 300 # segundos (5 minutos)
GRANULARITY = "hour"
def authenticate():
response = requests.post(
f"{API_BASE_URL}/authenticate",
json={"username": USERNAME, "password": PASSWORD},
timeout=10
)
response.raise_for_status()
return response.json()["token"]
def get_entrace_flow(token, start_time, end_time):
headers = {"Authorization": f"Token {token}"}
payload = {
"company": COMPANY_ID,
"filter": [ESTABLISHMENT_ID],
"queries": [{
"alias": "entrace_flow_bi",
"metric": "entrace_flow",
"by_establishment": True,
"period": {
"from": start_time.strftime("%Y-%m-%d %H:%M:%S"),
"to": end_time.strftime("%Y-%m-%d %H:%M:%S")
},
"granularity": GRANULARITY
}]
}
response = requests.post(
f"{API_BASE_URL}/data",
json=payload,
headers=headers,
timeout=15
)
response.raise_for_status()
return response.json()
def run():
token = authenticate()
last_time = datetime.utcnow() - timedelta(hours=1)
while True:
now = datetime.utcnow()
data = get_entrace_flow(token, last_time, now)
# Aqui o cliente pode salvar em banco, CSV ou enviar ao BI
print(data)
last_time = now
time.sleep(POLL_INTERVAL)
if __name__ == "__main__":
run()
Email: suporte@fxdata.com.br