Business Events (aperturas, cierres, traslados, cambio de titular)¶
Estas rutas exponen eventos de negocio derivados del delta contra el estado anterior.
Listado¶
GET /v1/farmacias/business-events
Query params:
from(optional): datetime ISO UTCdays(optional): ventana en días si no envíasfromto(optional): datetime ISO UTCterritories(optional): CSVES-XX,ES-YYevent_types(optional): CSV de tiposprovince(optional)city(optional)limit(default500, max5000)cursor(optional)
Tipos soportados:
opened: alta (external_id nueva)closed_hard: baja por desaparicion del dataset oficial (delete)closed_soft: la fuente mantiene el registro pero marcais_active=falsereopened:is_activepasa defalseatruerelocated: cambiaaddress_line/postal_code/city/provinceownership_change: cambiaowner_name(titular)
curl -sS "$FARMAAPI_BASE_URL/v1/farmacias/business-events?from=2026-01-01T00:00:00Z&event_types=relocated,ownership_change" \
-H "X-API-Key: $FARMAAPI_API_KEY"
curl -sS "$FARMAAPI_BASE_URL/v1/farmacias/business-events?days=30&event_types=opened,relocated" \
-H "X-API-Key: $FARMAAPI_API_KEY"
Summary (agregados)¶
GET /v1/farmacias/business-events/summary
Agrupa por:
group_by=event_type(default)group_by=territoryfromodaysfuncionan igual que en el listado
curl -sS "$FARMAAPI_BASE_URL/v1/farmacias/business-events/summary?from=2026-01-01T00:00:00Z&group_by=territory" \
-H "X-API-Key: $FARMAAPI_API_KEY"
curl -sS "$FARMAAPI_BASE_URL/v1/farmacias/business-events/summary?days=30&group_by=territory" \
-H "X-API-Key: $FARMAAPI_API_KEY"
Payload¶
Cada item incluye:
event_typeoccurred_atterritory_code,external_idoldynewcon los campos relevantes
Traslados: local anterior y nueva ubicacion¶
GET /v1/farmacias/relocations
Endpoint especifico para informes de traslados. Devuelve solo eventos relocated y separa claramente:
old: direccion y coordenadas del local anterior.new: direccion y coordenadas de la nueva ubicacion.
Esto permite responder casos como: "farmacias trasladadas desde Sevilla en los ultimos 6 meses" o "locales anteriores cerca de una coordenada".
Query params:
from(optional): datetime ISO UTC.days(default30): ventana si no enviasfrom.to(optional): datetime ISO UTC.territories(optional): CSVES-XX,ES-YY.old_province,old_city: filtran por local anterior.new_province,new_city: filtran por nueva ubicacion.near_old_latitude,near_old_longitude,radius_meters: busca locales anteriores cerca de un punto.near_new_latitude,near_new_longitude,radius_meters: busca nuevas ubicaciones cerca de un punto.limit(default500, max5000).cursor(optional).
curl -sS "$FARMAAPI_BASE_URL/v1/farmacias/relocations?days=180&territories=ES-AN&old_city=Sevilla" \
-H "X-API-Key: $FARMAAPI_API_KEY"
curl -sS "$FARMAAPI_BASE_URL/v1/farmacias/relocations?days=365&near_old_latitude=37.3891&near_old_longitude=-5.9845&radius_meters=3000" \
-H "X-API-Key: $FARMAAPI_API_KEY"
Respuesta:
{
"from": "2026-02-01T00:00:00Z",
"to": "2026-08-01T00:00:00Z",
"items": [
{
"territory_code": "ES-AN",
"external_id": "12345",
"name": "Farmacia Ejemplo",
"old": {
"address_line": "CALLE ANTIGUA, 1",
"city": "Sevilla",
"province": "Sevilla",
"latitude": 37.3891,
"longitude": -5.9845
},
"new": {
"address_line": "AVENIDA NUEVA, 25",
"city": "Sevilla",
"province": "Sevilla",
"latitude": 37.3950,
"longitude": -5.9700
}
}
],
"next_cursor": null
}