Skip to main content

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

thi_sync_now()

Inicia una sincronización completa de propiedades y desarrollos.
function thi_sync_now(): bool
AspectoDetalles
Valor de retornobool - true si se inició, false si falló
ParámetrosNinguno
Lanza excepcionesNo
DescripciónDispara el ciclo completo de sincronización. Realiza chequeos de salud antes de proceder.
Ubicación/src/Sync/SyncManager.php

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
AspectoDetalles
ParámetrosNinguno
Ubicación/src/Sync/SyncManager.php

thi_intelligent_sync()

Sincronización inteligente que solo procesa cambios detectados.
function thi_intelligent_sync(): array
Retorna array con:
  • success (bool) - Si la sincronización fue exitosa
  • created (int) - Propiedades creadas
  • updated (int) - Propiedades actualizadas
  • deleted (int) - Propiedades eliminadas
  • images_processed (int) - Imágenes procesadas
  • errors (array) - Lista de errores ocurridos
  • execution_time (float) - Tiempo total en segundos
AspectoDetalles
ParámetrosNinguno
DescripciónAnaliza cambios desde la última sincronización y solo procesa lo necesario. Más eficiente que thi_sync_now().
Ubicación/src/Sync/SyncManager.php

thi_get_cached_properties()

Obtiene propiedades almacenadas en caché de la API.
function thi_get_cached_properties(?int $limit = null): array
AspectoDetalles
Parámetros$limit (int|null) - Máximo de propiedades a retornar, null para todas
Valor de retornoarray de propiedades mapeadas a formato Houzez
Ubicación/src/Storage/PropertyCache.php

thi_get_cached_developments()

Obtiene desarrollos almacenados en caché.
function thi_get_cached_developments(?int $limit = null): array
AspectoDetalles
Parámetros$limit (int|null) - Máximo de desarrollos, null para todos
Valor de retornoarray de desarrollos con propiedades asociadas
Ubicación/src/Storage/DevelopmentCache.php

thi_detect_changed_properties()

Detecta qué propiedades han cambiado desde la última sincronización.
function thi_detect_changed_properties(): array
Retorna array con:
  • new (array) - IDs de Tokko para propiedades nuevas
  • modified (array) - IDs de Tokko para propiedades modificadas
  • deleted (array) - IDs de Tokko para propiedades eliminadas
  • timestamp (string) - Momento de detección
AspectoDetalles
ParámetrosNinguno
DescripciónCompara estado actual con timestamps guardados para identificar cambios eficientemente.
Ubicación/src/Sync/ChangeDetector.php

Funciones de API

thi_check_api_key()

Valida la clave API de Tokko configurada.
function thi_check_api_key(): bool
AspectoDetalles
Valor de retornobool - true si la clave es válida y conectada
ParámetrosNinguno
Ubicación/src/API/TokkoBrokerClient.php

thi_get_tokko_properties()

Obtiene propiedades de la API de Tokko.
function thi_get_tokko_properties(
    ?int $limit = null,
    ?int $offset = 0
): array
AspectoDetalles
Parámetros$limit (int) - Max propiedades, $offset (int) - Posición inicial
Valor de retornoarray de propiedades con datos mapeados de Tokko
Respeta límitesSí, según plan contratado
Ubicación/src/API/TokkoBrokerClient.php
El plugin respeta automáticamente los límites de propiedades según tu plan de suscripción.

thi_get_tokko_developments()

Obtiene desarrollos de la API de Tokko.
function thi_get_tokko_developments(
    ?int $limit = null,
    ?int $offset = 0
): array
AspectoDetalles
Parámetros$limit (int) - Max desarrollos, $offset (int) - Posición
Valor de retornoarray de desarrollos con propiedades anidadas
Plan EstándarMáximo 50 desarrollos
Plan ProfesionalIlimitados
Ubicación/src/API/TokkoBrokerClient.php

thi_get_development_count()

Obtiene el número total de desarrollos.
function thi_get_development_count(): int
AspectoDetalles
Valor de retornoint - Total de desarrollos en Tokko
ParámetrosNinguno
Ubicación/src/API/TokkoBrokerClient.php

thi_get_development_sync_limits()

Obtiene información sobre límites de sincronización según plan.
function thi_get_development_sync_limits(): array
Retorna array con:
  • limit (int) - Total permitido por plan
  • synced (int) - Desarrollos ya sincronizados
  • available (int) - Desarrollos disponibles para sincronizar
  • plan (string) - Plan actual (‘standard’, ‘professional’)
AspectoDetalles
ParámetrosNinguno
Ubicación/src/API/TokkoBrokerClient.php

Funciones de agentes

thi_sync_agent()

Sincroniza un agente individual de Tokko a WordPress.
function thi_sync_agent(array $data): int|false
AspectoDetalles
Parámetros$data (array) - Datos de agente de Tokko
Valor de retornoint (ID de post de WordPress) o false si falla
Ubicación/src/Agents/AgentSynchronizer.php

thi_delete_agent()

Elimina un agente de WordPress.
function thi_delete_agent(
    int $id,
    ?int $reassign = null
): bool
AspectoDetalles
Parámetros$id (int) - ID del agente, $reassign (int|null) - ID del agente nuevo
Valor de retornobool - true si se eliminó exitosamente
Ubicación/src/Agents/AgentManager.php

thi_update_agent()

Actualiza datos de un agente existente.
function thi_update_agent(int $id, array $data): bool
AspectoDetalles
Parámetros$id (int) - ID del agente, $data (array) - Campos a actualizar
Valor de retornobool - true si se actualizó
Ubicación/src/Agents/AgentManager.php

thi_sync_agents_from_properties()

Sincroniza agentes en lote desde propiedades.
function thi_sync_agents_from_properties(
    array $properties
): array
Retorna array con:
  • created (int) - Agentes nuevos creados
  • updated (int) - Agentes actualizados
  • skipped (int) - Agentes sin cambios
  • errors (array) - Errores ocurridos
AspectoDetalles
Parámetros$properties (array) - Array de propiedades con datos de agentes
Ubicación/src/Agents/AgentSynchronizer.php

thi_get_agent_by_tokko_id()

Encuentra un agente por su ID de Tokko.
function thi_get_agent_by_tokko_id(int $id): ?WP_Post
AspectoDetalles
Parámetros$id (int) - ID de agente en Tokko
Valor de retornoWP_Post o null si no existe
Ubicación/src/Agents/AgentRepository.php

thi_assign_agent_to_property()

Asigna un agente a una propiedad.
function thi_assign_agent_to_property(
    int $agent_id,
    int $property_id
): bool
AspectoDetalles
Parámetros$agent_id (int) - ID del agente, $property_id (int) - ID de la propiedad
Valor de retornobool - true si se asignó
Ubicación/src/Agents/AgentManager.php

thi_get_properties_by_agent()

Obtiene todas las propiedades asignadas a un agente.
function thi_get_properties_by_agent(int $agent_id): array
AspectoDetalles
Parámetros$agent_id (int) - ID del agente
Valor de retornoarray de objetos WP_Post (propiedades)
Ubicación/src/Agents/AgentRepository.php

Funciones de mapeo

thi_map_tokko_to_houzez()

Convierte datos de Tokko a formato compatible con Houzez.
function thi_map_tokko_to_houzez(
    array $property
): array
Retorna array con:
  • title (string) - Título de propiedad
  • content (string) - Descripción formateada
  • meta (array) - Metadatos para Houzez
  • status (string) - Estado del post
AspectoDetalles
Parámetros$property (array) - Datos de propiedad de Tokko
Ubicación/src/Mapping/PropertyMapper.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
AspectoDetalles
Parámetros$url (string) - URL de imagen potencialmente truncada
Valor de retornostring - URL corregida
Ubicación/src/Images/ImageHandler.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
AspectoDetalles
Parámetros$photo (array) - Datos de foto de Tokko
Valor de retornostring - URL optimizada según calidad configurada
Ubicación/src/Images/ImageHandler.php

Funciones de utilidad

tp_fs()

Obtiene instancia del SDK de Freemius.
function tp_fs(): FS_SDK
AspectoDetalles
Valor de retornoFS_SDK - Instancia de Freemius SDK
ParámetrosNinguno
Ubicación/tokko-plugins.php

thi_log()

Registra mensajes en el log del desarrollador.
function thi_log(string $msg, string $type = 'info'): void
AspectoDetalles
Parámetros$msg (string) - Mensaje, $type (string) - ‘info’, ‘warning’, ‘error’
Solo en desarrolloSe ignora en producción
Ubicación/src/Utils/Logger.php

thi_is_development_environment()

Verifica si se está en ambiente de desarrollo.
function thi_is_development_environment(): bool
AspectoDetalles
Valor de retornobool - true en desarrollo
ParámetrosNinguno
Ubicación/src/Utils/Environment.php

Funciones de timestamps

thi_create_timestamps_table()

Crea tabla para rastrear cambios de propiedades.
function thi_create_timestamps_table(): bool
AspectoDetalles
Valor de retornobool - true si se creó o existe
ParámetrosNinguno
Ubicación/src/Storage/TimestampStorage.php

thi_get_property_timestamp()

Obtiene último timestamp registrado de una propiedad.
function thi_get_property_timestamp(
    string $tokko_id
): ?string
AspectoDetalles
Parámetros$tokko_id (string) - ID de propiedad en Tokko
Valor de retornostring (ISO 8601) o null
Ubicación/src/Storage/TimestampStorage.php

thi_update_property_timestamp()

Actualiza timestamp de cambio de una propiedad.
function thi_update_property_timestamp(
    int $post_id,
    string $tokko_id,
    string $timestamp,
    string $status = 'synced'
): bool
AspectoDetalles
Parámetros$post_id (int) - ID de post, $tokko_id (string) - ID de Tokko, $timestamp (string) - ISO 8601, $status (string) - Estado
Valor de retornobool - true si se actualizó
Estados válidos’synced’, ‘pending’, ‘error’, ‘skipped’
Ubicación/src/Storage/TimestampStorage.php

Mejores prácticas

Siempre verifica que las funciones existan antes de usarlas para compatibilidad con versiones antiguas.
if (function_exists('thi_sync_now')) {
    thi_sync_now();
} 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