Home Casi d'Uso Come Funziona Blog Docs Sicurezza Prezzi
Italiano English
Open Source Library v2.2+

Integrazione Salesforce
Senza Compromessi.

Dimentica gli script usa-e-getta. Kinetic Core è un framework ingegnerizzato per ETL massivi, trasformazioni complesse e automazione DevOps.

$ pip install kinetic-core

Autostrade per i tuoi Dati.

La classe SyncPipeline non si limita a spostare dati. Gestisce batching, retry policies e lifecycle hooks per darti il controllo totale su ogni singolo record.

from kinetic_core import SyncPipeline, SyncMode

# Callback per monitoraggio real-time
def on_success(record, sf_id):
    print(f"✓ Synced {record['email']} -> {sf_id}")

# Inizializzazione Pipeline
pipeline = SyncPipeline(
    client=client,
    sobject="Contact",
    mode=SyncMode.UPSERT,
    external_id_field="Ext_ID__c",
    batch_size=200,
    callbacks={
        "on_record_success": on_success,
        "on_batch_complete": lambda b, t, r: logger.info(f"Batch {b}/{t}")
    }
)

# Esecuzione con report finale
result = pipeline.sync(source_data)
print(f"Success Rate: {result.success_rate}%")

Modalità Flessibili

Supporto nativo per INSERT, UPDATE, DELETE e UPSERT. Niente logica "spaghetti" per gestire gli ID esterni: ci pensa il framework.

Performance Metrics

L'oggetto SyncResult non ti dice solo "Fatto". Ti fornisce ratei di successo, tempo trascorso, record per secondo e lista dettagliata degli errori.

Lifecycle Hooks

Intercetta ogni evento. Aggiorna una UI, scrivi su un DB di log o invia notifiche Slack in tempo reale tramite i callback on_record_*.

Mapping Condizionale e Funzionale.

I dati reali sono sporchi. FieldMapper ti permette di pulirli, trasformarli e normalizzarli mentre fluiscono verso Salesforce.

Accesso Nested

Mappa strutture JSON profonde come user.address.city direttamente su campi flat di Salesforce.

Lambda Transforms

Usa qualsiasi funzione Python per trasformare i valori al volo (es. uppercase, parsing date, calcoli).

Configurazione YAML

Definisci le regole di mapping in file YAML versionabili invece di hardcodarle nel codice.

# Mapping Configuration
mapper = ConditionalFieldMapper(
    mapping={
        # Simple Rename
        "fname": "FirstName",
        
        # Nested Access + Transform
        "user.contact.email": (
            "Email", 
            lambda x: x.lower()
        ),
        
        # Default Value
        "status": (
            "Status__c", 
            None, 
            "New"
        )
    },
    # Conditional Logic (Inter-field dependency)
    conditions={
        "Priority": lambda d: "High" if d["revenue"] > 1M else "Normal"
    }
)
sf-toolkit

Il Tuo Coltellino Svizzero.

Incluso nella libreria c'è sf-toolkit, una CLI potente per operazioni rapide, debug e ispezione della tua Org senza aprire il browser.

bash — sf-toolkit
user@dev:~$ sf-toolkit auth --method jwt
✓ Authentication successful!
Instance: https://kinetictest.my.salesforce.com
user@dev:~$ sf-toolkit query "SELECT Id, Name, StageName FROM Opportunity LIMIT 3" --output table
Id | Name | StageName
------------------------------------------------------
0065e00000G7xyzAAQ | ACME Big Deal | Closed Won
0065e00000G7abcBBQ | Startup Phase 1 | Qualification
0065e00000G7defCCQ | Enterprise Renewal | Negotiation
✓ Query returned 3 records
user@dev:~$ sf-toolkit describe Account --fields | grep "AI"
- AI_Score__c (double) - AI Score
- Next_Best_Action__c (string) - Suggested Action

Il Codice è la Verità.

Gestisci lo schema della tua Org Salesforce (Campi Custom, Oggetti) direttamente da Python.

from kinetic_core.metadata import CustomField

# Creo il campo "Livello AI"
ai_score = CustomField(
    sobject="Account",
    name="AI_Score__c",
    type="Number",
    precision=18,
    scale=2,
    description="Punteggio generato dal modello predittivo"
)

# Deploy in Org
client.metadata.deploy(ai_score)

Deploy Immediato

Nessun file XML da manipolare a mano. Le definizioni sono oggetti Python tipizzati.

Bulk API v2

Milioni di Record.
Zero Stress.

Caricamenti massivi gestiti automaticamente. Kinetic Core si occupa dello splitting dei file CSV, del polling asincrono e dei retry.

100M+ Record Testati
5x Più Veloce di REST

Documentazione Completa

Ogni singola classe è documentata con esempi reali.

Leggi la Wiki

Supporta l'Open Source

Garantisci il futuro di Kinetic Core per il tuo business.