Agile Telecom Agile Telecom
  • Products
    • SMS
    • 2 Way
    • Smart Content Verification
    • HLR Look Up
    • Testing Tool
  • Industries
    • Communications
    • Information Technology
    • Financial Services
    • Marketing
  • ATWS
  • How We Work
    • Who We Are
Sign In Contact us
Sign In Contact us

Send SMS

  • ENG – REST API HTTP Protocol
  • ENG – SMPP Protocol
  • ITA – REST API / Protocollo HTTP
  • ITA – Protocollo SMPP

Receive SMS

  • ENG – Inbound SMS Service
  • ITA – Servizio di Ricezione SMS

Credit Check

  • ENG – SMS Credit Check
  • ITA – SMS Credit Check

Mobile Number Portability

  • ENG – Mobile Number Portability
  • ITA – Mobile Number Portability
  • Home
  • Documentation
  • Send SMS
  • ITA – REST API / Protocollo HTTP
View Categories

ITA – REST API / Protocollo HTTP

8 min read

OVERVIEW #

L’API REST di AgileTelecom consente l’invio di SMS attraverso semplici chiamate HTTP. Il servizio supporta funzionalità avanzate come SMS concatenati, Unicode, programmazione temporale e invii multipli.

⚠️ Avviso importante #

A partire dal 15 gennaio 2026, le connessioni HTTP saranno accettate esclusivamente tramite TLS (HTTPS).

  • Le connessioni senza TLS saranno rifiutate.
  • Le chiamate GET e le chiamate POST con form-data o Content-Type: application/x-www-form-urlencoded non saranno più valide per l’invio.
  • Sarà supportato solo POST con payload JSON su connessione HTTPS.

Base URL #

https://secure.agiletelecom.com/services/

Autenticazione #

L’API supporta due metodi di autenticazione, entrambi da includere nell’header della richiesta:

1. Basic Authentication

Authorization: Basic <base64_encoded_credentials>

2. API Key

X-Api-Key: <your-api-key>

Endpoints #

1. Invio SMS

Invia uno o più SMS a destinatari singoli o multipli.

POST /sms/send

Headers richiesti

Content-Type: application/json

Struttura del Body (JSON)

{
  "globalId": "string",
  "maxIdLen": 64,
  "enableConcatenated": true,
  "enableUnicode": true,
  "enableDelivery": true,
  "simulation": false,
  "messages": [
    {
      "ids": ["string"],
      "destinations": ["+393351234567"],
      "sender": "string",
      "body": "string",
      "hexBody": false,
      "udhData": "string",
      "scheduling": "2025-12-08 06:00:00.002+0200"
    }
  ]
}

Parametri

CampoTipoObbligatorioDefaultDescrizione
globalIdstringno –Identificativo univoco di invio per il cliente
maxIdLenintegerno64Lunghezza massima (caratteri) degli id
enableConcatenatedbooleannotrueAbilita i concatenati se necessario
enableUnicodebooleannotrueAbilita testo in unicode
enableDeliverybooleannotrueAbilita la consegna del delivery al cliente
simulationbooleannofalseConsente la simulazione, senza reale invio del messaggio
messagesarraySì Elenco dei messaggi da inviare

Parametri per ogni messaggio

CampoTipoObbligatorioDefaultDescrizione
destinationsarraySì Elenco dei destinatari (formato internazionale)
idsarrayno Elenco degli id relativi ai messaggi
senderstringSì Mittente del messaggio (max 11 caratteri alfanumerici o 16 numerici)
bodystringSì Testo del messaggio
hexBodybooleannofalseIndica se il testo è in formato HEX
udhDatastringno Codice UDH da inserire nel messaggio
schedulingstringno Data di programmazione (formato: “yyyy-MM-dd HH:mm:ss.SSSZ”)

2. Verifica Credit

Ottieni il credito residuo dell’account.

GET /sms/credit

Risposta di successo (JSON)

{
  "credit": 10.324
}

Esempi di utilizzo #

Esempio 1: SMS Semplice

curl -X POST https://secure.agiletelecom.com/services/sms/send \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: your-api-key" \
  -d '{
    "messages": [
      {
        "destinations": ["+393351234567"],
        "sender": "TechNews",
        "body": "Latest tech news! Discover the new smartphones coming soon and the best deals. Visit our website for more details."
      }
    ]
  }'

Esempio 2: SMS con ID personalizzato

{
  "messages": [
    {
      "ids": ["157d541b-e0cd-4340-ac77-bc5d530dasdv"],
      "destinations": ["+393351234567"],
      "sender": "TechNews",
      "body": "Latest tech news! Discover the new smartphones coming soon and the best deals. Visit our website for more details."
    }
  ]
}

Esempio 3: SMS Multipart (lungo)

{
  "messages": [
    {
      "ids": ["157d541b-e0cd-4340-ac77-bc5d530dasdv"],
      "destinations": ["+393351234567"],
      "sender": "HealthTips",
      "body": "Stay healthy this summer by following our top tips. Drink plenty of water to stay hydrated, wear sunscreen to protect your skin, and try to include fresh fruits and vegetables in your diet. Regular exercise in the early morning or evening can also help you stay fit and energized."
    }
  ]
}

Esempio 4: SMS Unicode

{
  "messages": [
    {
      "ids": ["157d541b-e0cd-4340-ac77-unicode-test1"],
      "destinations": ["+393351234567"],
      "sender": "WeatherNow",
      "body": "Attention: Tomorrow temperatures reaching up to 38°C"
    }
  ]
}

Esempio 5: SMS Programmato

{
  "messages": [
    {
      "ids": ["157d541b-e0cd-4340-ac77-bc5d530dasdv"],
      "destinations": ["+393351234567"],
      "sender": "TechNews",
      "body": "Latest tech news! Discover the new smartphones coming soon and the best deals. Visit our website for more details.",
      "scheduling": "2025-12-08 06:00:00.002+0200"
    }
  ]
}

Esempio 6: Simulazione (senza invio reale)

{
  "simulation": true,
  "messages": [
    {
      "ids": ["157d541b-e0cd-4340-ac77-bc5d530dasdv"],
      "destinations": ["+393351234567"],
      "sender": "TechNews",
      "body": "Latest tech news! Discover the new smartphones coming soon and the best deals. Visit our website for more details."
    }
  ]
}

Esempio 7: SMS senza Delivery Report

{
  "enableDelivery": false,
  "messages": [
    {
      "ids": ["157d541b-e0cd-4340-ac77-bc5d530dasdv"],
      "destinations": ["+393351234567"],
      "sender": "TechNews",
      "body": "Latest tech news! Discover the new smartphones coming soon and the best deals. Visit our website for more details."
    }
  ]
}

Esempio 8: SMS con UDH

{
  "messages": [
    {
      "ids": ["157d541b-e0cd-4340-ac77-bc5d530dudhx"],
      "destinations": ["+393351234567"],
      "sender": "TechNews",
      "body": "Latest tech news! Discover the new smartphones coming soon and the best deals. Visit our website for more details.",
      "udhData": "070645670000"
    }
  ]
}

Esempio 9: SMS con corpo in HEX

{
  "messages": [
    {
      "ids": ["157d541b-e0cd-4340-ac77-unicode-test1"],
      "destinations": ["+393351234567"],
      "sender": "WeatherNow",
      "body": "0041007400740065006E00740069006F006E003A00200054006F006D006F00720072006F0077002000740065006D0070006500720061007400750072006500730020007200650061006300680069006E006700200075007000200074006F00200033003800B00043",
      "hexBody": true
    }
  ]
}

Esempio 10: Invio multiplo – stesso SMS a più destinatari

{
  "messages": [
    {
      "ids": [
        "157d541b-e0cd-4340-ac77-bc5d530dd90e",
        "d0f2e3c1-a043-418d-ad5e-0248184b9833"
      ],
      "destinations": [
        "+393351234567",
        "+393351234568"
      ],
      "sender": "PromoDeals",
      "body": "Don't miss out! Buy 2 products and get the 3rd one free. Offer valid until Sunday."
    }
  ]
}

Esempio 11: Invio multiplo – SMS diversi

{
  "messages": [
    {
      "ids": ["157d541b-e0cd-4340-ac77-bc5d530dd90p"],
      "destinations": ["+393351234567"],
      "sender": "ShopNow",
      "body": "Big Sale! Today only, get up to 50% off on all items. Visit our store and take advantage of the offer!"
    },
    {
      "ids": ["157d541b-e0cd-4340-ac77-bc5d530dd90a"],
      "destinations": ["+393351234561"],
      "sender": "Foodies",
      "body": "Try our new summer menu! Book your table now and receive a complimentary dessert."
    }
  ]
}

Esempio 12: Verifica credito

curl -X GET https://secure.agiletelecom.com/services/sms/credit \
  -H "X-Api-Key: your-api-key"

Risposte #

Risposta di successo (2XX)

{
  "globalId": "f9b865ef-5ce3-4e44-b65c-615fd71bbd09",
  "processedMessages": 2,
  "processedSmsParts": 4,
  "credit": 10.324
}
CampoTipoDescrizione
globalIdstringValore del globalId riportato dalla richiesta
processedMessagesintegerMessaggi accettati come da sezione messages sulla richiesta
processedSmsPartsintegerParti che verranno spedite (differisce dal precedente in caso di concatenati)
creditdoubleCredito residuo dell’account espresso in €

Errori client (4XX)

{
  "status": "fail",
  "data": { 
    "body": "Missing message body(ies)",
    "number": "Wrong destination number(s)"
  },
  "code": 6
}
CampoTipoDescrizione
statusstringVale sempre “fail” per gli errori 4XX
dataobject / stringElenco chiave-valore con i campi problematici o stringa descrittiva
codeintegerCodice di errore custom

Errori server (5XX)

{
  "status": "error",
  "message": "Number check service unavailable",
  "code": 9
}
CampoTipoDescrizione
statusstringVale sempre “error” per gli errori 5XX
messagestringDescrizione del problema riscontrato
codeintegerCodice di errore custom
Codici di errore #
CodiceDescrizione
1Wrong credentials
2Insufficient credit
8Server error
9Server error (service timeout)
26Alias (Sender) non autorizzato
100Source IP is not allowed

Delivery Report (Webhook) #

Se abilitato, AgileTelecom invierà una notifica di consegna all’URL specificato dal cliente.

Struttura del Delivery Report

{
  "messageId": "157d541b-e0cd-4340-ac77-bc5d530dd90e",
  "destination": "41793026727",
  "statusCode": 3,
  "description": "Delivered",
  "doneDate": "2022-05-09 09:00:05.002+0200",
  "concatTotal": 2,
  "concatProgressive": 1,
  "lcrOperator": "22210",
  "realOperator": "22201",
  "price": 0.003
}

Parametri del Delivery Report

CampoTipoDescrizione
messageIdstringID che identifica in modo univoco il messaggio spedito
destinationstringNumero di telefono del destinatario
statusCodeintegerCodice stato di ricezione
descriptionstringDescrizione dello status
doneDatestringData relativa al delivery
concatTotalintegerNumero di parti totali in caso di messaggio concatenato
concatProgressiveintegerNumero della parte del messaggio
lcrOperatorstring(Opzionale) Operatore individuato dal servizio LCR
realOperatorstring(Opzionale) Operatore reale del numero
pricedouble(Opzionale) Costo dell’invio

Codici di stato Delivery

CodiceStato
1Accepted
2Rejected
3Delivered
4Expired
5Deleted
6Undeliverable
Note importanti #
  1. Formato numeri: I numeri di destinazione devono essere in formato internazionale con prefisso paese (es. +39 per l’Italia)
  2. Limiti SMS:
    – SMS standard (GSM 7-bit): 160 caratteri
    – SMS Unicode: 70 caratteri
    – Gli SMS più lunghi vengono automaticamente concatenati se enableConcatenated è true
  3. Mittente:
    – Alfanumerico: massimo 11 caratteri
    – Numerico: massimo 16 cifre
  4. Encoding: Il corpo del messaggio può essere inviato in UTF-8 o in formato esadecimale
  5. Rate limiting: Verificare con AgileTelecom eventuali limiti di invio per secondo/minuto

Postman Collection #

Scarica la collection: Download Postman Collection

Importa in Postman:
– Apri Postman
– Clicca su “Import” in alto a sinistra
– Trascina il file JSON scaraicato or clicca “Upload Files”
– Conferma l’importazione

Configura le variabili:
– Clicca sul nome della collection “Http Post Example” nel pannello laterale
– Seleziona la tab “Variables”
– Troverai due colonne: “Initial Value” e “Current Value”
– Initial Value: valore predefinito della variabile
– Current Value: valore effettivamente utilizzato nelle chiamate
– Modifica i valori nella colonna “Current Value”:
– username: inserisci il tuo username (per Basic Auth)
– password: inserisci la tua password (per Basic Auth)
– api-key: inserisci la tua API key (per autenticazione tramite API Key)
– enable_apikey: imposta true per usare API Key, false per Basic Auth
– Salva le modifiche cliccando sul pulsante “Save” in alto a destra

Note sulla Collection

  • Valori di test: I valori predefiniti nella collection (user, pass, api-value) sono credenziali di test che simulano l’invio senza effettivamente inviare SMS
  • Test del payload: Puoi utilizzare questi valori di test per verificare la correttezza della struttura JSON prima di utilizzare le tue credenziali reali
  • Organizzazione: La collection è organizzata in cartelle:
    • Basic example: esempi di invio semplici
    • Advanced example: funzionalità avanzate (scheduling, UDH, simulazione)
    • Multiple sending: invii multipli
    • ApiKey No PostMan Script: esempi diretti con API Key

Configurazione Ambiente

La collection include script di pre-request che gestiscono automaticamente l’autenticazione basandosi sulla variabile enable_apikey:

  • Se enable_apikey = true: utilizza l’autenticazione tramite API Key
  • Se enable_apikey = false: utilizza la Basic Authentication

Generazione Codice da Postman

Postman offre una funzionalità molto utile per generare codice in vari linguaggi di programmazione:

  1. Apri una richiesta nella collection
  2. Clicca sull’icona “< >” (Code snippet) nella parte destra della finestra
  3. Seleziona il linguaggio desiderato dal menu a tendina:
    – cURL
    – Python (requests)
    – JavaScript (fetch, axios)
    – PHP
    – Java
    – C#
    – Go
    – Ruby
    – E molti altri…
  4. Copia il codice generato e utilizzalo come reference implementation per la tua integrazione

Esempio di cURL generato automaticamente:

curl --location 'https://secure.agiletelecom.com/services/sms/send' \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: your-api-key' \
--data '{
    "messages": [
        {
            "destinations": ["+393351234567"],
            "sender": "TechNews",
            "body": "Latest tech news!"
        }
    ]
}'

Questa funzionalità è particolarmente utile per:

  • Velocizzare l’integrazione nel tuo linguaggio preferito
  • Verificare la corretta formattazione delle richieste
  • Testare rapidamente le API da linea di comando
  • Creare esempi di codice per la documentazione interna

Supporto #

Per assistenza tecnica o informazioni commerciali, contattare il supporto AgileTelecom all’indirizzo help@agiletelecom.com

What are your Feelings
Table of Contents
  • OVERVIEW
  • ⚠️ Avviso importante
    • Base URL
    • Autenticazione
    • Endpoints
    • Esempi di utilizzo
    • Risposte
      • Codici di errore
    • Delivery Report (Webhook)
      • Note importanti
    • Postman Collection
    • Supporto

Via Baldassarre Peruzzi 26, 41012 – Carpi (MO)

VAT ID: IT02804070361

Agile Telecom is part of Growens

Products

SMS

2Way

Smart content verification

HLR Lookup

Testing Tool

Industries

Communications

Information Technology

Financial services

Marketing

Developers

Documentation

How we work

Our experience

Our people

Get in touch

Contact Us

Privacy Policy

Compliance

GDPR Infrastructure

Terms of Service

Private Area

AgCom Regulation