Documentation Index
Fetch the complete documentation index at: https://docs.tokkoplugins.com/llms.txt
Use this file to discover all available pages before exploring further.
Funciones públicas
Estas funciones están disponibles después de que el plugin Tokko se ha inicializado. Úsalas en tus temas, plugins o código personalizado.
Funciones de sincronización
No existe una función pública thi_sync_now(). Para iniciar sincronizaciones desde código personalizado puedes llamar a la acción AJAX del plugin (wp_ajax_thi_unified_sync_detect seguida de wp_ajax_thi_unified_sync_execute_batch y wp_ajax_thi_unified_sync_finalize), o cambiar thi_sync_option para que WP-Cron dispare thi_scheduled_sync en la frecuencia que elijas.
thi_detect_sync_context()
Obtiene el contexto actual de sincronización.
function thi_detect_sync_context(): array
Retorna array con claves:
is_syncing (bool) - Si hay sincronización activa
progress (int) - Porcentaje de progreso (0-100)
last_sync_time (string) - Timestamp de última sincronización
last_sync_status (string) - Estado: ‘success’, ‘error’, ‘warning’
current_batch (int) - Lote actual procesado
total_batches (int) - Total de lotes
error_count (int) - Errores encontrados
warning_count (int) - Advertencias generadas
| Aspecto | Detalles |
|---|
| Parámetros | Ninguno |
| Ubicación | includes/sync/sync-functions.php |
thi_get_cached_properties()
Obtiene el set de propiedades que se usó en la última sincronización.
function thi_get_cached_properties(): array
| Aspecto | Detalles |
|---|
| Parámetros | Ninguno |
| Valor de retorno | array de propiedades con el formato que entrega la API de Tokko |
| Ubicación | includes/sync/sync-utilities.php |
thi_get_cached_developments()
Obtiene desarrollos del caché local de la última sincronización.
function thi_get_cached_developments(): array
| Aspecto | Detalles |
|---|
| Parámetros | Ninguno |
| Valor de retorno | array de desarrollos |
| Ubicación | includes/sync/sync-utilities.php |
thi_detect_changed_properties()
Detecta qué propiedades cambiaron desde la última sincronización comparando deleted_at con los timestamps locales (base de la sincronización inteligente / smart sync).
function thi_detect_changed_properties(
int $max_properties = 0,
bool $force_full_check = false
)
| Aspecto | Detalles |
|---|
| Parámetros | $max_properties (int) — límite opcional; $force_full_check (bool) — ignora el caché y re-evalúa todo |
| Descripción | Compara el deleted_at de Tokko (usado como marca de última modificación) con el timestamp guardado por el plugin para identificar cambios eficientemente. |
| Ubicación | includes/sync/sync-optimizer.php |
thi_detect_changed_developments()
Versión para emprendimientos de thi_detect_changed_properties: identifica cambios en desarrollos desde la última sincronización.
function thi_detect_changed_developments(
int $max_developments = 0,
bool $force_full_check = false
)
| Aspecto | Detalles |
|---|
| Parámetros | $max_developments (int) — límite opcional; $force_full_check (bool) |
| Ubicación | includes/sync/sync-utilities.php |
thi_count_published_properties()
Cuenta cuántas entradas publicadas existen para un post type dado, normalmente 'property' o 'emprendimiento'.
function thi_count_published_properties(string $type = 'property'): int
| Aspecto | Detalles |
|---|
| Parámetros | $type (string) — 'property' (default) o 'emprendimiento' |
| Valor de retorno | int — cantidad de entradas en estado publish |
| Ubicación | includes/sync/sync-utilities.php |
Funciones de API
thi_check_api_key()
Valida la clave API de Tokko configurada haciendo una llamada en vivo al endpoint company_profile.
function thi_check_api_key(): WP_Error|string
| Aspecto | Detalles |
|---|
| Valor de retorno | string (nombre de la empresa) si es válida, WP_Error si falla |
| Parámetros | Ninguno |
| Ubicación | includes/api/api-integration.php |
thi_check_connection_health_detailed()
Ejecuta los chequeos de salud completos del servidor (memoria, load, disco) que el plugin usa antes de iniciar un sync. Ideal para exponer el mismo diagnóstico en dashboards externos.
function thi_check_connection_health_detailed(): array
| Aspecto | Detalles |
|---|
| Valor de retorno | array con bloques memory, load, disk y overall (cada uno con status, métrica y umbrales) |
| Parámetros | Ninguno |
| Ubicación | includes/ajax/ajax-handlers.php |
Los umbrales que usa esta función son personalizables con los filtros de la sección Health checks.
thi_get_tokko_properties()
Obtiene propiedades desde la API de Tokko aplicando el límite del plan activo.
function thi_get_tokko_properties(): WP_Error|array|string
| Aspecto | Detalles |
|---|
| Parámetros | Ninguno (el límite lo determina el plan activo) |
| Valor de retorno | array de propiedades o WP_Error si la API falla |
| Respeta límites | Sí, según el plan contratado (Starter: 100, Professional/Pro+: ilimitadas) |
| Ubicación | includes/api/api-integration.php |
El plugin respeta automáticamente los límites de propiedades según tu plan de suscripción.
thi_get_tokko_developments()
Obtiene desarrollos (emprendimientos) desde la API de Tokko respetando el límite del plan activo.
function thi_get_tokko_developments(): WP_Error|array|string
| Aspecto | Detalles |
|---|
| Parámetros | Ninguno |
| Valor de retorno | array de desarrollos o WP_Error |
| Plan Starter | Máximo 2 desarrollos |
| Plan Professional / Pro+ | Ilimitados |
| Ubicación | includes/api/development-api.php |
thi_get_development_count()
Obtiene el número total de desarrollos disponibles en la cuenta de Tokko.
function thi_get_development_count(): int|WP_Error
| Aspecto | Detalles |
|---|
| Valor de retorno | int con el total, o WP_Error si la API falla |
| Parámetros | Ninguno |
| Ubicación | includes/api/development-api.php |
thi_get_development_sync_limits()
Obtiene información sobre límites de sincronización de desarrollos según el plan activo.
function thi_get_development_sync_limits(): array
| Aspecto | Detalles |
|---|
| Parámetros | Ninguno |
| Ubicación | includes/api/development-api.php |
Funciones de agentes
La sincronización de agentes es una característica premium (Professional / Pro+). Estas funciones sólo están disponibles cuando el plan del plugin permite sincronización de agentes.
thi_sync_agent()
Crea o actualiza un agente (Houzez houzez_agent) a partir de los datos devueltos por la API de Tokko (objeto producer).
function thi_sync_agent(array $producer_data)
| Aspecto | Detalles |
|---|
| Parámetros | $producer_data (array) — estructura producer de Tokko (id, name, email, cellphone, phone, picture, etc.) |
| Valor de retorno | int con el ID del post houzez_agent, o WP_Error si falla |
| Ubicación | includes/agent/agent-functions.php |
thi_delete_agent()
Elimina un agente, con opción de reasignar sus propiedades a otro.
function thi_delete_agent(
int $agent_id,
?int $reassign_to_agent_id = null
): bool|WP_Error
| Aspecto | Detalles |
|---|
| Parámetros | $agent_id (int), $reassign_to_agent_id (int|null) — agente al que reasignar las propiedades |
| Valor de retorno | bool si tuvo éxito, WP_Error si falla |
| Ubicación | includes/agent/agent-functions.php |
thi_update_agent()
Actualiza los datos de un agente existente a partir del producer de Tokko.
function thi_update_agent(int $agent_id, array $producer_data)
| Aspecto | Detalles |
|---|
| Parámetros | $agent_id (int), $producer_data (array) con los campos actualizados |
| Ubicación | includes/agent/agent-functions.php |
thi_sync_agents_from_properties()
Recorre un array de propiedades de Tokko y sincroniza todos los agentes únicos que aparecen como producer.
function thi_sync_agents_from_properties(array $properties): array
| Aspecto | Detalles |
|---|
| Parámetros | $properties (array) — propiedades en el formato de Tokko |
| Ubicación | includes/agent/agent-functions.php |
thi_get_agent_by_tokko_id()
Encuentra un agente local a partir de su ID de Tokko.
function thi_get_agent_by_tokko_id(int $tokko_id): ?WP_Post
| Aspecto | Detalles |
|---|
| Parámetros | $tokko_id (int) — ID del agente en Tokko |
| Valor de retorno | WP_Post (post type houzez_agent) o null |
| Ubicación | includes/agent/agent-functions.php |
thi_assign_agent_to_property()
Asigna un agente Houzez a una propiedad ya creada.
function thi_assign_agent_to_property(
int $property_id,
int $agent_id
): bool
| Aspecto | Detalles |
|---|
| Parámetros | $property_id (int), $agent_id (int) |
| Valor de retorno | bool |
| Ubicación | includes/agent/agent-functions.php |
Funciones de mapeo
thi_map_tokko_to_houzez()
Convierte una propiedad de Tokko al formato Houzez y la guarda en WordPress.
function thi_map_tokko_to_houzez(array $tokko_property): bool|string
| Aspecto | Detalles |
|---|
| Parámetros | $tokko_property (array) — datos crudos de la API de Tokko |
| Valor de retorno | bool o string (mensaje informativo) según el resultado del mapeo/inserción |
| Ubicación | includes/property/property-mapping.php |
Funciones de imágenes
thi_normalize_image_url()
Corrige extensiones truncadas en URLs de imágenes.
function thi_normalize_image_url(string $url): string
| Aspecto | Detalles |
|---|
| Parámetros | $url (string) - URL de imagen potencialmente truncada |
| Valor de retorno | string - URL corregida |
| Ubicación | includes/sync/image-sync.php |
thi_get_quality_aware_image_url()
Obtiene URL de imagen según configuración de calidad.
function thi_get_quality_aware_image_url(
array $photo
): string
| Aspecto | Detalles |
|---|
| Parámetros | $photo (array) - Datos de foto de Tokko |
| Valor de retorno | string - URL optimizada según calidad configurada |
| Ubicación | includes/sync/image-sync.php |
Funciones de utilidad
tp_fs()
Obtiene la instancia inicializada del SDK de Freemius que gestiona la licencia y el plan del plugin.
| Aspecto | Detalles |
|---|
| Valor de retorno | Instancia global del Freemius SDK |
| Parámetros | Ninguno |
| Ubicación | tokko-houzez-integration.php |
thi_log()
Registra mensajes en el log del plugin (solo activo cuando Modo Desarrollo está habilitado).
function thi_log(string $message, string $type = 'info'): void
| Aspecto | Detalles |
|---|
| Parámetros | $message (string), $type (string) - ‘info’, ‘warning’, ‘error’ |
| Solo en desarrollo | Sí — requiere Dev Mode activo (feature premium) |
| Ubicación | includes/sync/sync-functions.php |
thi_is_development_environment()
Verifica si el Modo Desarrollo (Dev Mode) está activo.
function thi_is_development_environment(): bool
| Aspecto | Detalles |
|---|
| Valor de retorno | bool — true si Dev Mode está habilitado |
| Parámetros | Ninguno |
| Ubicación | admin/settings-page.php |
Funciones de timestamps
thi_create_timestamps_table()
Crea tabla para rastrear cambios de propiedades.
function thi_create_timestamps_table(): bool
| Aspecto | Detalles |
|---|
| Valor de retorno | bool - true si se creó o existe |
| Parámetros | Ninguno |
| Ubicación | includes/sync/timestamp-manager.php |
thi_get_property_timestamp()
Obtiene el último timestamp (y metadata) registrado para una propiedad.
function thi_get_property_timestamp(string $tokko_id): ?array
| Aspecto | Detalles |
|---|
| Parámetros | $tokko_id (string) - ID de propiedad en Tokko |
| Valor de retorno | array con los campos guardados o null si no hay registro |
| Ubicación | includes/sync/timestamp-manager.php |
thi_update_property_timestamp()
Registra/actualiza el timestamp y estado de sincronización de una propiedad en la tabla local.
thi_update_property_timestamp(
789,
'12345',
'2026-03-25T10:30:00Z',
'synced'
);
| Aspecto | Detalles |
|---|
| Parámetros | $post_id (int), $tokko_id (string), $deleted_at (string ISO 8601 — marca de última modificación de Tokko), $status (string) |
| Ubicación | includes/sync/timestamp-manager.php |
Mejores prácticas
Siempre verifica que las funciones existan antes de usarlas para compatibilidad con versiones antiguas.
if (function_exists('thi_check_api_key')) {
$result = thi_check_api_key();
if (is_wp_error($result)) {
echo 'API Key inválida';
}
} else {
echo 'Plugin Tokko no está activo';
}
Usa funciones de caché cuando accedas frecuentemente a datos de API para reducir carga.
// ✅ EFICIENTE
$properties = wp_cache_get('tokko_properties');
if (!$properties) {
$properties = thi_get_cached_properties();
wp_cache_set('tokko_properties', $properties, '', 1 * HOUR_IN_SECONDS);
}
// ❌ INEFICIENTE
$properties = thi_get_cached_properties(); // En cada llamada