API di Conversione Formati Dati#
Gli endpoint Data Formats convertono file di dati strutturati tra JSON, XML, YAML, CSV e TOML, oltre a renderizzare Markdown in HTML completamente stilizzato. Ogni conversione è una singola richiesta POST con un upload di file multipart/form-data: invii il tuo file e ricevi indietro il risultato convertito come byte grezzi, oppure richiedi invece un URL di download presigned. Tutti e undici gli endpoint seguono la stessa forma di richiesta, autenticazione e modello di errore, quindi integrare un secondo formato dopo il primo richiede pochi minuti.
Conversioni supportate#
| Conversione | Endpoint | Descrizione |
|---|---|---|
| JSON in XML | POST /v1/convert/json-to-xml |
Converte JSON in XML con gli oggetti come figli di <root>, gli array racchiusi in elementi <item> e gli scalari in <value>. |
| XML in JSON | POST /v1/convert/xml-to-json |
Converte XML in JSON, mappando gli attributi in chiavi con prefisso @, il contenuto testuale in #text e gli elementi fratelli ripetuti in array. |
| JSON in YAML | POST /v1/convert/json-to-yaml |
Mappatura diretta in YAML block-style leggibile, con ordine delle chiavi e unicode preservati. |
| YAML in JSON | POST /v1/convert/yaml-to-json |
Analizza in modo sicuro file .yaml o .yml (nessuna esecuzione di codice arbitrario) in JSON con indentazione a 2 spazi e formattazione leggibile. |
| JSON in CSV | POST /v1/convert/json-to-csv |
Converte un array JSON di oggetti in CSV delimitato da virgole, con intestazioni prese dalle chiavi del primo oggetto. |
| CSV in JSON | POST /v1/convert/csv-to-json |
Converte CSV in un array JSON in cui la riga di intestazione diventa le chiavi e ogni valore resta una stringa (nessuna inferenza di tipo). |
| JSON in TOML | POST /v1/convert/json-to-toml |
Converte JSON in TOML, racchiudendo gli array sotto una chiave items e gli scalari sotto value; i valori null vengono rifiutati con un 400. |
| TOML in JSON | POST /v1/convert/toml-to-json |
Converte tabelle e array TOML in JSON con formattazione leggibile, serializzando i valori datetime come stringhe ISO-8601. |
| CSV in XML | POST /v1/convert/csv-to-xml |
Converte CSV in XML con le intestazioni di colonna come nomi di tag elemento e ogni riga come un <item> dentro <root>. |
| XML in CSV | POST /v1/convert/xml-to-csv |
Appiattisce XML tabellare (elementi fratelli ripetuti con campi coerenti) in righe CSV delimitate da virgole. |
| Markdown in HTML | POST /v1/convert/markdown-to-html |
Renderizza file .md o .markdown in una pagina HTML completa e autonoma con CSS incorporato, tabelle, blocchi di codice, supporto TOC e modalità scura. |
Convenzioni condivise#
- Autenticazione: ogni endpoint accetta sia una chiave API privata tramite l'header
X-API-Keysia un token JWTAuthorization: Bearerottenuto da una chiave pubblica. Consulta Autenticazione. - Forma della richiesta: tutte le conversioni sono POST sincroni
multipart/form-datacon un campofileobbligatorio più i parametri opzionalioutput_filenameedirect_download. Consulta Job sync e async. - Risposte: per impostazione predefinita (
direct_download=true) il file convertito viene restituito come byte grezzi; condirect_download=falsericevi metadati JSON contenentipresigned_url,object_key,filename,file_sizeeconversion_time_seconds. - Requisiti di input: tutti gli input devono essere codificati in UTF-8 e corrispondere all'estensione di file attesa; la dimensione massima del file dipende dal piano (piano Founding: 5 MB).
- Errori: file non validi o conversioni fallite restituiscono
400, credenziali mancanti o non valide401, limiti di piano superati402, e file troppo grandi413. Consulta Codici di Errore.
Domande frequenti#
Come autentico le richieste agli endpoint di conversione dei formati dati?#
Tutti e undici gli endpoint accettano sia una chiave API privata nell'header X-API-Key sia un token JWT Authorization: Bearer ottenuto da una chiave pubblica. Le stesse credenziali funzionano per ogni conversione. Consulta Autenticazione per i dettagli.
Posso ottenere un URL di download invece dei byte del file convertito?#
Sì. Ogni endpoint restituisce per impostazione predefinita il file convertito come byte grezzi; imposta direct_download=false per ricevere invece metadati JSON con presigned_url, object_key, filename, file_size e conversion_time_seconds.
Quali limiti di dimensione file e di input si applicano alle conversioni di formati dati?#
La dimensione massima del file dipende dal piano (piano Founding: 5 MB), e i file che superano il limite del tuo piano restituiscono 413 Payload Too Large. Tutti gli input devono essere codificati in UTF-8, e anche i conteggi mensili di conversione dipendono dal piano: superarli restituisce 402 Payment Required.