Ingresso API di AIDA
AIDA consente di caricare un documento direttamente tramite l'ingresso API.
L'integrazione avviene con la chiave d'integrazione <integration_key> generata da AIDA.
Invia il documento con una richiesta POST multipart/form-data, inserendo il file nel campo file.
Facoltativamente, puoi passare una mappa di chiavi/valori con i valori delle proprietà che AIDA leggerà. Ogni "chiave" della mappa può essere il nome della proprietà oppure il Nome del campo nelle integrazioni impostato nella configurazione della proprietà.
AIDA risponde con lo stato HTTP 200 quando accetta il documento, 400 quando manca il campo file e 403 quando la chiave d'integrazione è errata o l'ingresso è disattivato.
Gli esempi seguenti caricano un file con due valori di proprietà:
- Batch
- PowerShell
- Shell
- C#
- Java
- Python
- PHP
- Node.js
@echo off
rem curl.exe is included in Windows 10 (1803+), Windows 11 and Windows Server 2019+
rem Integration key: copy it from the Input page of the document type in AIDA
set "INTEGRATION_KEY=<integration_key>"
curl.exe -sS --fail ^
-F "file=@C:\path\to\your\file.pdf" ^
-F "sampleLabel1=sampleValue1" ^
-F "sampleLabel2=sampleValue2" ^
"https://api.aidacloud.com/api/v1/upload/direct/%INTEGRATION_KEY%"
exit /b %errorlevel%
# Works with Windows PowerShell 5.1 and PowerShell 7+
Add-Type -AssemblyName System.Net.Http
# Enables TLS 1.2 on older Windows and .NET Framework versions
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
# Integration key: copy it from the Input page of the document type in AIDA
$integrationKey = "<integration_key>"
$url = "https://api.aidacloud.com/api/v1/upload/direct/$integrationKey"
$filePath = "C:\path\to\your\file.pdf"
$client = New-Object System.Net.Http.HttpClient
$form = New-Object System.Net.Http.MultipartFormDataContent
$fileStream = [System.IO.File]::OpenRead($filePath)
try {
$form.Add((New-Object System.Net.Http.StreamContent($fileStream)), "file", [System.IO.Path]::GetFileName($filePath))
$form.Add((New-Object System.Net.Http.StringContent("sampleValue1")), "sampleLabel1")
$form.Add((New-Object System.Net.Http.StringContent("sampleValue2")), "sampleLabel2")
$response = $client.PostAsync($url, $form).Result
Write-Output "HTTP $([int]$response.StatusCode)"
}
finally {
$fileStream.Dispose()
$client.Dispose()
}
#!/bin/sh
# Linux and macOS
# Integration key: copy it from the Input page of the document type in AIDA
INTEGRATION_KEY="<integration_key>"
curl -sS --fail \
-F "file=@/path/to/your/file.pdf" \
-F "sampleLabel1=sampleValue1" \
-F "sampleLabel2=sampleValue2" \
"https://api.aidacloud.com/api/v1/upload/direct/$INTEGRATION_KEY"
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
// Integration key: copy it from the Input page of the document type in AIDA
var integrationKey = "<integration_key>";
var url = $"https://api.aidacloud.com/api/v1/upload/direct/{integrationKey}";
var filePath = @"C:\path\to\your\file.pdf";
using (var client = new HttpClient())
using (var form = new MultipartFormDataContent())
using (var fileStream = File.OpenRead(filePath))
{
form.Add(new StreamContent(fileStream), "file", Path.GetFileName(filePath));
form.Add(new StringContent("sampleValue1"), "sampleLabel1");
form.Add(new StringContent("sampleValue2"), "sampleLabel2");
var response = await client.PostAsync(url, form);
Console.WriteLine($"HTTP {(int)response.StatusCode}");
}
}
}
// Java 11+, no external dependencies
import java.io.ByteArrayOutputStream;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Map;
import java.util.UUID;
public class AidaUpload {
public static void main(String[] args) throws Exception {
// Integration key: copy it from the Input page of the document type in AIDA
String integrationKey = "<integration_key>";
String url = "https://api.aidacloud.com/api/v1/upload/direct/" + integrationKey;
Path file = Path.of("/path/to/your/file.pdf");
Map<String, String> values = Map.of(
"sampleLabel1", "sampleValue1",
"sampleLabel2", "sampleValue2");
String boundary = UUID.randomUUID().toString();
ByteArrayOutputStream body = new ByteArrayOutputStream();
for (Map.Entry<String, String> value : values.entrySet()) {
body.write(("--" + boundary + "\r\n"
+ "Content-Disposition: form-data; name=\"" + value.getKey() + "\"\r\n\r\n"
+ value.getValue() + "\r\n").getBytes(StandardCharsets.UTF_8));
}
body.write(("--" + boundary + "\r\n"
+ "Content-Disposition: form-data; name=\"file\"; filename=\"" + file.getFileName() + "\"\r\n"
+ "Content-Type: application/octet-stream\r\n\r\n").getBytes(StandardCharsets.UTF_8));
body.write(Files.readAllBytes(file));
body.write(("\r\n--" + boundary + "--\r\n").getBytes(StandardCharsets.UTF_8));
HttpRequest request = HttpRequest.newBuilder(URI.create(url))
.header("Content-Type", "multipart/form-data; boundary=" + boundary)
.POST(HttpRequest.BodyPublishers.ofByteArray(body.toByteArray()))
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println("HTTP " + response.statusCode());
}
}
# pip install requests
import requests
# Integration key: copy it from the Input page of the document type in AIDA
integration_key = "<integration_key>"
url = f"https://api.aidacloud.com/api/v1/upload/direct/{integration_key}"
values = {"sampleLabel1": "sampleValue1", "sampleLabel2": "sampleValue2"}
with open("/path/to/your/file.pdf", "rb") as file:
response = requests.post(url, files={"file": file}, data=values)
print(f"HTTP {response.status_code}")
<?php
// Integration key: copy it from the Input page of the document type in AIDA
$integrationKey = '<integration_key>';
$filePath = '/path/to/your/file.pdf';
$curl = curl_init('https://api.aidacloud.com/api/v1/upload/direct/' . $integrationKey);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, [
'file' => new CURLFile($filePath, null, basename($filePath)),
'sampleLabel1' => 'sampleValue1',
'sampleLabel2' => 'sampleValue2',
]);
curl_exec($curl);
echo 'HTTP ' . curl_getinfo($curl, CURLINFO_HTTP_CODE) . PHP_EOL;
// Node.js 18+, no external dependencies
const fs = require('fs');
const path = require('path');
// Integration key: copy it from the Input page of the document type in AIDA
const integrationKey = '<integration_key>';
async function uploadFile(filePath) {
const formData = new FormData();
formData.append('file', new Blob([fs.readFileSync(filePath)]), path.basename(filePath));
formData.append('sampleLabel1', 'sampleValue1');
formData.append('sampleLabel2', 'sampleValue2');
const response = await fetch(`https://api.aidacloud.com/api/v1/upload/direct/${integrationKey}`, {
method: 'POST',
body: formData
});
console.log(`HTTP ${response.status}`);
}
uploadFile('/path/to/your/file.pdf');