Guida

Come Programmare Post sui Social Media con un\'API

Gli strumenti di pianificazione sono fantastici finche non hai bisogno di automatizzare centinaia di post, integrarti con i tuoi sistemi o incorporare la programmazione in un prodotto che stai costruendo. Questa guida ti accompagna nella programmazione dei contenuti via API, incluse date fisse, sistemi di code e gestione dei fusi orari.

I due modi per programmare contenuti

Upload-Post ti offre due approcci per la programmazione. Puoi impostare una data e un orario esatti con il parametro scheduled_date, oppure puoi lasciare che il sistema scelga il momento migliore usando il sistema di code. Entrambi funzionano su qualsiasi endpoint: upload di video, upload di foto e post di testo.

Opzione A: Programmare per una data e un orario specifici

Aggiungi il parametro scheduled_date a qualsiasi richiesta di upload. Il formato e ISO-8601 e puoi programmare fino a 365 giorni in anticipo.

curl -X POST https://api.upload-post.com/api/upload \
  -H "Autorizzazione: Apikey your-api-key-here" \
  -F "[email protected]" \
  -F "user=mybrand" \
  -F "title=Coming soon... stay tuned!" \
  -F "platform[]=tiktok" \
  -F "platform[]=instagram" \
  -F "scheduled_date=2025-09-22T10:00:00Z" \
  -F "timezone=Europe/Madrid"

Un paio di dettagli importanti. La data e in UTC per impostazione predefinita, ma puoi passare un parametro timezone usando il formato IANA (come America/New_York, Europe/London, Asia/Tokyo) in modo che il post vada online all\'orario locale corretto. Questo ti risparmia il calcolo manuale dei fusi orari.

Quando un post viene programmato con successo, l\'API risponde con uno stato 202 e include un job_id:

{
  "success": true,
  "job_id": "scheduler_job_abc123",
  "scheduled_date": "2025-09-22T10:00:00Z"
}

Conserva quel job_id perche ti servira se vorrai modificare o cancellare il post in seguito.

Opzione B: Usa il sistema di code

La coda e perfetta quando vuoi pubblicare con costanza senza scegliere orari esatti. Invece di scegliere una data, imposti add_to_queue=true e Upload-Post assegna il prossimo slot temporale disponibile in base alla tua pianificazione configurata.

Configurare la tua coda

Prima di tutto, configura le impostazioni della coda. Definisci quali giorni e quali fasce orarie vuoi:

curl -X POST https://api.upload-post.com/api/uploadposts/queue/settings \
  -H "Autorizzazione: Apikey your-api-key-here" \
  -H "Tipo di contenuto: application/json" \
  -d '{
    "timezone": "America/New_York",
    "slots": [
      { "hour": 9, "minute": 0 },
      { "hour": 12, "minute": 30 },
      { "hour": 17, "minute": 0 }
    ],
    "days": [0, 1, 2, 3, 4]
  }'

Questo esempio pubblica alle 9:00, alle 12:30 e alle 17:00 (ora di New York), dal lunedi al venerdi. Puoi definire fino a 24 slot al giorno.

Aggiungere contenuti alla coda

curl -X POST https://api.upload-post.com/api/upload \
  -H "Autorizzazione: Apikey your-api-key-here" \
  -F "[email protected]" \
  -F "user=mybrand" \
  -F "title=Monday motivation" \
  -F "platform[]=tiktok" \
  -F "platform[]=instagram" \
  -F "add_to_queue=true"

Upload-Post assegnera automaticamente questo post al prossimo slot disponibile. Se e mercoledi alle 14:00, il post verra programmato per le 17:00 dello stesso giorno. Se tutti gli slot del mercoledi sono pieni, si sposta al giovedi alle 9:00.

Anteprima degli slot della coda

Vuoi vedere quali orari sono disponibili prima di mettere in coda i contenuti? Usa l\'endpoint di anteprima:

curl https://api.upload-post.com/api/uploadposts/queue/preview?count=10 \
  -H "Autorizzazione: Apikey your-api-key-here"

Restituisce i prossimi 10 slot disponibili con le date e gli orari esatti. Puoi richiederne fino a 50 alla volta.

Gestire i post programmati

Una volta che il contenuto e programmato, hai il pieno controllo tramite l\'API.

Elencare tutti i post programmati

curl https://api.upload-post.com/api/uploadposts/schedule \
  -H "Autorizzazione: Apikey your-api-key-here"

Restituisce un array di job in attesa con il loro job_id, scheduled_date, dettagli della piattaforma e un URL di anteprima del contenuto.

Edit a scheduled post

Devi cambiare la data di pubblicazione o aggiornare la didascalia? Usa una richiesta PATCH:

curl -X PATCH https://api.upload-post.com/api/uploadposts/schedule/scheduler_job_abc123 \
  -H "Autorizzazione: Apikey your-api-key-here" \
  -H "Tipo di contenuto: application/json" \
  -d '{
    "scheduled_date": "2025-09-25T14:00:00Z",
    "title": "Didascalia aggiornata con hashtag migliori"
  }'

Cancellare un post programmato

curl -X DELETE https://api.upload-post.com/api/uploadposts/schedule/scheduler_job_abc123 \
  -H "Autorizzazione: Apikey your-api-key-here"

Il post e i file caricati vengono rimossi immediatamente.

Costruire un calendario editoriale con la coda

Ecco un flusso di lavoro pratico che molte agenzie usano. Produci i contenuti in blocco il lunedi, carichi tutto nella coda e il sistema li distribuisce durante la settimana automaticamente. Non c\'e bisogno di essere online alle 9 del mattino di mercoledi per premere il pulsante pubblica.

Questo e particolarmente potente se combinato con strumenti come n8n o Make.com. Per esempio, puoi impostare un workflow dove i nuovi file in una cartella Google Drive vengono automaticamente aggiunti alla coda. Dai un\'occhiata al nostro template di pianificazione Google Sheets per n8n per una configurazione pronta all\'uso.

Anche il nostro calendario delle festivita per i social media e utile per pianificare contenuti intorno alle date importanti durante l\'anno.

Scheduling with Python

from upload_post import UploadPostClient
from datetime import datetime, timedelta

client = UploadPostClient(api_key="your-api-key-here")

# Schedule a video for tomorrow at 10 AM Madrid time
publish_date = (datetime.now() + timedelta(days=1)).replace(
    hour=10, minute=0, second=0
)

response = client.upload_video(
    video_path="/path/to/video.mp4",
    title="Scheduled from Python",
    user="mybrand",
    platforms=["tiktok", "instagram", "youtube"],
    scheduled_date=publish_date.isoformat(),
    timezone="Europe/Madrid"
)

print(f"Scheduled! Job ID: {response['job_id']}")

Limiti di upload giornalieri per piattaforma

Quando programmi molti contenuti, tieni presente che ogni piattaforma ha dei limiti giornalieri. Sono finestre mobili di 24 ore per ogni account collegato:

Piattaforma Limite giornaliero
TikTok15 upload
YouTube10 upload
Pinterest20 upload
Facebook25 upload
Reddit40 upload
Instagram50 upload
X (Twitter)50 upload
Threads50 upload
Bluesky50 upload
LinkedIn150 upload

Il sistema di code rispetta automaticamente questi limiti e non sovraprogrammera nessuna piattaforma.

Domande frequenti

Posso programmare lo stesso contenuto per orari diversi su piattaforme diverse?

Non in una singola richiesta, ma puoi inviare richieste separate per ogni piattaforma con valori scheduled_date diversi. Oppure usa il sistema di code, che distribuisce automaticamente.

Cosa succede se un post programmato fallisce?

Riceverai una notifica tramite webhook (se configurati) con i dettagli dell\'errore. Puoi anche controllare lo stato con l\'endpoint GET /api/uploadposts/status?job_id=your_job_id.

Posso combinare la programmazione con gli strumenti no code?

Assolutamente. Sia n8n che Make.com possono inviare i parametri scheduled_date o add_to_queue tramite il modulo HTTP request. Questo significa che puoi costruire un workflow visuale che legge da un foglio di calcolo e programma tutto automaticamente.

Costruisci il tuo calendario editoriale con l\'API

Programma settimane di contenuti in pochi minuti. Configuralo una volta e i tuoi post vanno online all\'orario giusto, su ogni piattaforma, senza muovere un dito.

Nessuna carta di credito richiesta. 10 upload gratuiti inclusi.