Esempi di codice API

Snippet pronti all'uso per chiamare l'API HCC2D da JavaScript, Python, Java e PHP. Sostituisci hcc2d_<your-key> con la tua chiave reale.

← Torna alla documentazione API

JavaScript (fetch)

Funziona in Node.js 18+ e nei browser moderni.

const API_KEY = "hcc2d_<your-key>";
const BASE    = "https://hcc2d.com";

async function generateCode(text, filename = "payload.txt") {
  const payloadBase64 = btoa(
    String.fromCharCode(...new TextEncoder().encode(text))
  );

  const res = await fetch(BASE + "/api/v1/generate", {
    method: "POST",
    headers: {
      "Authorization": "Bearer " + API_KEY,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      payloadBase64,
      inputName: filename,
      structured: true,
      mode: "hcc2d8",
      ec: "M",
    }),
  });

  if (!res.ok) {
    const err = await res.json();
    throw new Error(String(res.status) + " " + err.code + ": " + err.error);
  }

  const { imageUrl } = await res.json();
  const img = await fetch(BASE + imageUrl);
  const buffer = await img.arrayBuffer();
  return Buffer.from(buffer);
}

Python (requests)

Richiede la libreria requests (pip install requests).

import base64
import requests

API_KEY = "hcc2d_<your-key>"
BASE    = "https://hcc2d.com"

def generate_code(text: str, filename: str = "payload.txt", out: str = "code.png") -> None:
    payload_b64 = base64.b64encode(text.encode()).decode()

    res = requests.post(
        f"{BASE}/api/v1/generate",
        headers={
            "Authorization": f"Bearer {API_KEY}",
            "Content-Type": "application/json",
        },
        json={
            "payloadBase64": payload_b64,
            "inputName": filename,
            "structured": True,
            "mode": "hcc2d8",
            "ec": "M",
        },
        timeout=30,
    )
    res.raise_for_status()

Java (HttpClient)

Richiede Java 11+ e usa il pacchetto standard java.net.http.

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.file.Path;
import java.util.Base64;

public class Hcc2dExample {
    static final String API_KEY = "hcc2d_<your-key>";
    static final String BASE    = "https://hcc2d.com";
}

PHP (cURL)

Funziona con PHP 7.4+ e con l'estensione standard curl.

<?php
const API_KEY = 'hcc2d_<your-key>';
const BASE    = 'https://hcc2d.com';

function generateCode(string $text, string $filename = 'payload.txt', string $out = 'code.png'): void {
    $payloadBase64 = base64_encode($text);
}

Codifica di file binari

Per payload non testuali (PDF, ZIP, immagini, ecc.) leggi i byte grezzi e codificali direttamente in base64:

JavaScript

import { readFileSync } from "fs";

const bytes = readFileSync("document.pdf");
const payloadBase64 = bytes.toString("base64");

Python

import base64

with open("document.pdf", "rb") as f:
    payload_b64 = base64.b64encode(f.read()).decode()

Java

byte[] bytes = Files.readAllBytes(Path.of("document.pdf"));
String payloadBase64 = Base64.getEncoder().encodeToString(bytes);

PHP

$payloadBase64 = base64_encode(file_get_contents('document.pdf'));

Vedi anche

Documentazione API — riferimento completo di campi, errori e limiti.

Riferimento del formato HCC2DF — layout binario del contenitore strutturato.

← Torna all'encoder HCC2D