Questa guida descrive come creare un True Flow tramite la Public API. In sintesi hai tre possibilità:
- Creazione semplice — Una sola chiamata a
POST /true-flowscontemplate_tokenename. Il flusso parte con i valori di default del template; l'utente finale riceverà il link e compila il form dall'inizio alla fine. - Creazione con dati precompilati e/o firmatari — Sempre
POST /true-flows, ma arricchito conflow_data(campi del form già valorizzati) e/osign_data(elenco firmatari). Utile quando integri con i tuoi sistemi e vuoi precompilare dati anagrafici, riferimenti pratica o inviti alla firma. - Creazione con allegati — Il template prevede documenti da caricare. Prima ottieni un token e un URL di upload (
POST /true-flows-attachments), carichi il file con unaPUT, poi crei il True Flow conPOST /true-flowspassando i token degli allegati inflow_data. Le prime due operazioni vanno eseguite in sequenza per ogni file.
Puoi anche combinare le opzioni: ad esempio dati prepopolati, firmatari e allegati nella stessa creazione (prima gli upload, poi una sola POST /true-flows con tutto). Le sezioni seguenti entrano nel dettaglio di ogni caso.
| Scenario | Chiamate principali |
|---|---|
| Semplice | POST /true-flows |
| Con prepopolazione | POST /true-flows con flow_data |
| Con allegati | POST /true-flows-attachments → PUT upload_url → POST /true-flows con token in flow_data |
| Con firmatari | POST /true-flows con sign_data |
In tutti i casi le richieste devono includere l'autenticazione con API key. Per il contesto sui token usati nelle chiamate, vedi Flow template token; per combinare più opzioni in un'unica creazione, vedi Combinazione di più opzioni.
Il flow template token è l'identificativo del modello di flusso che vuoi istanziare. È creato e gestito da TrueScreen: non lo generi tu, ma lo usi nelle chiamate di creazione del True Flow.
Il token è univoco per quel tipo di flusso e resta valido anche se il template evolve nel tempo: non è quindi necessario richiamare GET /templates a ogni creazione. I flow template sono un catalogo tra cui scegliere: una volta che conosci il template_token (e, se serve, lo schema dei campi), puoi riusarlo per tutte le istanze che crei.
- GET /templates — Chiama questo endpoint quando devi consultare il catalogo: restituisce l'elenco dei flow template disponibili per la tua API key.
- La risposta include, per ogni template, il template_token (e, ove previsto, il report template associato).
- La risposta include, quando previsto, lo schema o l'elenco dei campi che puoi valorizzare in
flow_dataesign_data(campi precompilabili del form e struttura firmatari). La forma esatta è definita nella specifica OpenAPI per GET /templates.
In sintesi: usi GET /templates quando ti serve scoprire o aggiornare il catalogo e i campi compilabili; per creare un True Flow usi sempre POST /true-flows con il template_token già in tuo possesso.
Si crea un True Flow passando solo il token del flow template. Il flusso viene creato con i valori di default definiti nel template; l'utente finale compilerà il form nel link restituito.
Endpoint: POST /true-flows
Body minimo:
{
"template_token": "<token_ottenuto_da_GET_templates>",
"name": "Nome del flusso"
}Risposta: contiene il token del True Link e l'URL trueLink (deeplink) da inviare all'utente.
Vuoi precompilare alcuni campi del form (es. nome, email, riferimento pratica). I campi compilabili sono quelli restituiti nello schema del flow template (GET /templates).
Endpoint: POST /true-flows
Body:
{
"template_token": "<template_token>",
"name": "Flusso con dati prepopolati",
"flow_data": {
"nome": "Mario",
"cognome": "Rossi",
"email": "mario.rossi@example.com"
}
}- flow_data è un oggetto chiave-valore: le chiavi sono i nomi dei campi definiti nel template; i valori devono rispettare tipo e vincoli dello schema.
- I valori in
flow_datadiventano i valori di default del form.
Per allegare file al flusso sono necessarie tre chiamate in sequenza.
Endpoint: POST /true-flows-attachments
Body:
{
"file_name": "documento.pdf"
}Risposta:
{
"token": "<attachment_token>",
"file_name": "documento.pdf",
"upload_url": "https://..."
}- token: identificativo dell'allegato; lo userai in
flow_data. - upload_url: URL firmato (signed URL) per caricare il file.
Esegui una richiesta PUT sull'upload_url restituito, con il corpo della richiesta uguale al contenuto binario del file (es. Content-Type: application/pdf per un PDF).
Il client HTTP deve usare esattamente l'URL restituito; non aggiungere header aggiuntivi non richiesti dalla signed URL (di solito solo Content-Type e il body).
Endpoint: POST /true-flows
Nel flow_data, inserisci i token degli allegati nei campi che il flow template riserva agli allegati (es. un campo tipo documents che accetta un array di token).
Body di esempio:
{
"template_token": "<template_token>",
"name": "Flusso con allegato",
"flow_data": {
"documents": ["<attachment_token_1>", "<attachment_token_2>"]
}
}- I nomi dei campi per gli allegati (es.
documents) dipendono dal flow template; puoi ricavarli dallo schema restituito da GET /templates (campi conformat: "attachment"). - Ogni elemento dell'array è il token restituito da POST /true-flows-attachments dopo aver completato l'upload con PUT.
Riassunto sequenza:
- Per ogni file:
POST /true-flows-attachments→ ottienitokeneupload_url. - Per ogni file:
PUT upload_urlcon il corpo = contenuto del file. POST /true-flowsconflow_datacontenente, nei campi allegati del template, gli array di token.
Se il flow template prevede una sezione firmatari (signData), puoi passare i dati dei firmatari nell'array sign_data.
Endpoint: POST /true-flows
Body di esempio:
{
"template_token": "<template_token>",
"name": "Flusso con firmatari",
"sign_data": [
{
"nome": "Mario",
"cognome": "Rossi",
"email": "mario.rossi@example.com"
},
{
"nome": "Luigi",
"cognome": "Verdi",
"email": "luigi.verdi@example.com"
}
]
}- sign_data è un array di oggetti; ogni oggetto corrisponde a un firmatario.
- I campi ammessi (es.
nome,cognome,email) dipendono dallo schema signData del flow template; puoi ricavarlo da GET /templates. - I valori vengono inseriti nella sezione firmatari del flusso e utilizzati per l'invito alla firma.
Puoi combinare flow_data, sign_data e allegati nella stessa chiamata a POST /true-flows:
{
"template_token": "<template_token>",
"name": "Flusso completo",
"flow_data": {
"riferimento": "PRAT-2024-001",
"documents": ["<attachment_token>"]
},
"sign_data": [
{
"nome": "Mario",
"cognome": "Rossi",
"email": "mario.rossi@example.com"
}
]
}L'ordine richiesto resta: prima eventuali POST /true-flows-attachments e PUT di upload, poi POST /true-flows con tutti i token e i dati desiderati.