Elenco Contatti
Recupera l’elenco di tutti i contatti nel tuo workspace. Richiede autorizzazioni complete.
/contactsParametri di Query
pageintegerNumero di pagina per la paginazione (minimo: 1, predefinito: 1).
limitintegerNumero di contatti da restituire (minimo: 1, massimo: 100, predefinito: 10).
const response = await fetch('https://api.emailit.com/v2/contacts?page=1&limit=10', {
method: 'GET',
headers: {
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
}
});
const result = await response.json(); <?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.emailit.com/v2/contacts?page=1&limit=10',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "Errore cURL #:" . $err;
} else {
$result = json_decode($response, true);
print_r($result);
} import requests
response = requests.get(
'https://api.emailit.com/v2/contacts',
params={
'page': 1,
'limit': 10
},
headers={
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
}
)
result = response.json()
print(result) require 'net/http'
require 'json'
uri = URI('https://api.emailit.com/v2/contacts?page=1&limit=10')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer em_test_51RxCWJ...vS00p61e0qRE'
request['Content-Type'] = 'application/json'
response = http.request(request)
result = JSON.parse(response.body)
puts result package main
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
)
func main() {
baseURL := "https://api.emailit.com/v2/contacts"
params := url.Values{}
params.Add("page", "1")
params.Add("limit", "10")
fullURL := baseURL + "?" + params.Encode()
req, _ := http.NewRequest("GET", fullURL, nil)
req.Header.Set("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
} use reqwest;
use serde_json::Value;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::new();
let response = client
.get("https://api.emailit.com/v2/contacts")
.query(&[("page", "1"), ("limit", "10")])
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.send()
.await?;
let result: Value = response.json().await?;
println!("{:?}", result);
Ok(())
} import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class ListContacts {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.emailit.com/v2/contacts?page=1&limit=10"))
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.GET()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
} using System;
using System.Net.Http;
using System.Threading.Tasks;
public class ListContacts
{
public static async Task Main()
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization",
"Bearer em_test_51RxCWJ...vS00p61e0qRE");
var response = await client.GetAsync(
"https://api.emailit.com/v2/contacts?page=1&limit=10");
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
} curl -X GET "https://api.emailit.com/v2/contacts?page=1&limit=10" \
-H "Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE" \
-H "Content-Type: application/json" {
"data": [
{
"object": "contact",
"id": "con_2BxFg7KNqr5M...",
"email": "mario@esempio.com",
"first_name": "Mario",
"last_name": "Rossi",
"custom_fields": { "company": "Acme" },
"unsubscribed": false,
"audiences": [
{
"id": "aud_xxx",
"name": "Newsletter",
"subscribed": true
}
],
"created_at": "2026-02-10T10:00:00.000000+00:00",
"updated_at": "2026-02-10T10:00:00.000000+00:00"
}
],
"next_page_url": "/v2/contacts?page=2&limit=10",
"previous_page_url": null
} {
"error": {
"code": 401,
"message": "Non autorizzato"
}
} Ottieni Contatto
Recupera le informazioni di un contatto specifico. Richiede autorizzazioni complete. I contatti possono essere identificati tramite ID (con_xxx) o indirizzo email.
/contacts/{id}Parametri del Percorso
idstringRequiredL’ID del contatto (con_xxx) o l’indirizzo email.
Nota: L’array audiences nell’endpoint Get include i dettagli completi dell’iscritto (con
subscribed_at,unsubscribed_at, ecc.), mentre l’endpoint List include soloid,nameesubscribedper ogni audience.
const response = await fetch('https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M', {
method: 'GET',
headers: {
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
}
});
const result = await response.json(); <?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "Errore cURL #:" . $err;
} else {
$result = json_decode($response, true);
print_r($result);
} import requests
response = requests.get(
'https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M',
headers={
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
}
)
result = response.json()
print(result) require 'net/http'
require 'json'
uri = URI('https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer em_test_51RxCWJ...vS00p61e0qRE'
request['Content-Type'] = 'application/json'
response = http.request(request)
result = JSON.parse(response.body)
puts result package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
url := "https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
} use reqwest;
use serde_json::Value;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::new();
let response = client
.get("https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M")
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.send()
.await?;
let result: Value = response.json().await?;
println!("{:?}", result);
Ok(())
} import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class GetContact {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M"))
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.GET()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
} using System;
using System.Net.Http;
using System.Threading.Tasks;
public class GetContact
{
public static async Task Main()
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization",
"Bearer em_test_51RxCWJ...vS00p61e0qRE");
var response = await client.GetAsync(
"https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M");
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
} curl -X GET https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M \
-H "Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE" \
-H "Content-Type: application/json" {
"object": "contact",
"id": "con_2BxFg7KNqr5M...",
"email": "mario@esempio.com",
"first_name": "Mario",
"last_name": "Rossi",
"custom_fields": { "company": "Acme" },
"unsubscribed": false,
"audiences": [
{
"id": "aud_xxx",
"name": "Newsletter",
"subscriber": {
"id": "sub_xxx",
"subscribed": true,
"subscribed_at": "2026-02-10T10:00:00.000000+00:00",
"unsubscribed_at": null,
"created_at": "2026-02-10T10:00:00.000000+00:00",
"updated_at": "2026-02-10T10:00:00.000000+00:00"
}
}
],
"created_at": "2026-02-10T10:00:00.000000+00:00",
"updated_at": "2026-02-10T10:00:00.000000+00:00"
} {
"error": "Contatto non trovato"
} Crea Contatto
Crea un nuovo contatto nel tuo workspace. Richiede autorizzazioni complete.
/contactsCorpo della Richiesta
emailstringRequiredIndirizzo email (deve essere valido).
first_namestringNome (predefinito: null).
last_namestringCognome (predefinito: null).
custom_fieldsobjectCoppie chiave-valore personalizzate (predefinito: null).
audiencesstring[]Array di ID audience a cui iscriversi (predefinito: array vuoto).
unsubscribedbooleanStato di disiscrizione globale (predefinito: false).
const response = await fetch('https://api.emailit.com/v2/contacts', {
method: 'POST',
headers: {
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: 'mario@esempio.com',
first_name: 'Mario',
last_name: 'Rossi',
custom_fields: { azienda: 'Acme' },
audiences: ['aud_2BxFg7KNqr5M...'],
unsubscribed: false
})
});
const result = await response.json(); <?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.emailit.com/v2/contacts',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_encode([
'email' => 'mario@esempio.com',
'first_name' => 'Mario',
'last_name' => 'Rossi',
'custom_fields' => ['azienda' => 'Acme'],
'audiences' => ['aud_2BxFg7KNqr5M...'],
'unsubscribed' => false
]),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "Errore cURL #:" . $err;
} else {
$result = json_decode($response, true);
print_r($result);
} import requests
response = requests.post(
'https://api.emailit.com/v2/contacts',
headers={
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
},
json={
'email': 'mario@esempio.com',
'first_name': 'Mario',
'last_name': 'Rossi',
'custom_fields': {'azienda': 'Acme'},
'audiences': ['aud_2BxFg7KNqr5M...'],
'unsubscribed': False
}
)
result = response.json()
print(result) require 'net/http'
require 'json'
uri = URI('https://api.emailit.com/v2/contacts')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer em_test_51RxCWJ...vS00p61e0qRE'
request['Content-Type'] = 'application/json'
request.body = {
email: 'mario@esempio.com',
first_name: 'Mario',
last_name: 'Rossi',
custom_fields: { azienda: 'Acme' },
audiences: ['aud_2BxFg7KNqr5M...'],
unsubscribed: false
}.to_json
response = http.request(request)
result = JSON.parse(response.body)
puts result package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
url := "https://api.emailit.com/v2/contacts"
data := map[string]interface{}{
"email": "mario@esempio.com",
"first_name": "Mario",
"last_name": "Rossi",
"custom_fields": map[string]string{"azienda": "Acme"},
"audiences": []string{"aud_2BxFg7KNqr5M..."},
"unsubscribed": false,
}
jsonData, _ := json.Marshal(data)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
} use reqwest;
use serde_json::{json, Value};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::new();
let response = client
.post("https://api.emailit.com/v2/contacts")
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.json(&json!({
"email": "mario@esempio.com",
"first_name": "Mario",
"last_name": "Rossi",
"custom_fields": {"azienda": "Acme"},
"audiences": ["aud_2BxFg7KNqr5M..."],
"unsubscribed": false
}))
.send()
.await?;
let result: Value = response.json().await?;
println!("{:?}", result);
Ok(())
} import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import java.net.http.HttpRequest.BodyPublishers;
public class CreateContact {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
String jsonBody = "{\"email\":\"mario@esempio.com\",\"first_name\":\"Mario\",\"last_name\":\"Rossi\",\"custom_fields\":{\"azienda\":\"Acme\"},\"audiences\":[\"aud_2BxFg7KNqr5M...\"],\"unsubscribed\":false}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.emailit.com/v2/contacts"))
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.POST(BodyPublishers.ofString(jsonBody))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
} using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class CreateContact
{
public static async Task Main()
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization",
"Bearer em_test_51RxCWJ...vS00p61e0qRE");
var data = new {
email = "mario@esempio.com",
first_name = "Mario",
last_name = "Rossi",
custom_fields = new { azienda = "Acme" },
audiences = new[] { "aud_2BxFg7KNqr5M..." },
unsubscribed = false
};
var json = JsonConvert.SerializeObject(data);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(
"https://api.emailit.com/v2/contacts", content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
} curl -X POST https://api.emailit.com/v2/contacts \
-H "Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE" \
-H "Content-Type: application/json" \
-d '{
"email": "mario@esempio.com",
"first_name": "Mario",
"last_name": "Rossi",
"custom_fields": { "azienda": "Acme" },
"audiences": ["aud_2BxFg7KNqr5M..."],
"unsubscribed": false
}' {
"object": "contact",
"id": "con_2BxFg7KNqr5M...",
"email": "mario@esempio.com",
"first_name": "Mario",
"last_name": "Rossi",
"custom_fields": { "azienda": "Acme" },
"unsubscribed": false,
"audiences": [
{
"id": "aud_xxx",
"name": "Newsletter",
"subscriber": {
"id": "sub_xxx",
"subscribed": true,
"subscribed_at": "2026-02-10T10:00:00.000000+00:00",
"unsubscribed_at": null,
"created_at": "2026-02-10T10:00:00.000000+00:00",
"updated_at": "2026-02-10T10:00:00.000000+00:00"
}
}
],
"created_at": "2026-02-10T10:00:00.000000+00:00",
"updated_at": "2026-02-10T10:00:00.000000+00:00"
} {
"error": "Esiste già un contatto con questo indirizzo email",
"existing": {
"object": "contact",
"id": "con_...",
"email": "..."
}
} Aggiorna Contatto
Aggiorna un contatto esistente nel tuo workspace. Richiede permessi completi. I contatti possono essere identificati tramite ID (con_xxx) o indirizzo email.
/contacts/{id}Parametri del Percorso
idstringRequiredL’ID del contatto (con_xxx) o l’indirizzo email.
Corpo della Richiesta
emailstringNuovo indirizzo email.
first_namestringNuovo nome.
last_namestringNuovo cognome.
custom_fieldsobjectSostituisce i campi personalizzati.
unsubscribedbooleanStato di disiscrizione globale.
const response = await fetch('https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M', {
method: 'POST',
headers: {
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
},
body: JSON.stringify({
first_name: 'Giulia',
last_name: 'Rossi',
custom_fields: { azienda: 'NuovaCorp' }
})
});
const result = await response.json(); <?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_encode([
'first_name' => 'Giulia',
'last_name' => 'Rossi',
'custom_fields' => ['azienda' => 'NuovaCorp']
]),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "Errore cURL #:" . $err;
} else {
$result = json_decode($response, true);
print_r($result);
} import requests
response = requests.post(
'https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M',
headers={
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
},
json={
'first_name': 'Giulia',
'last_name': 'Rossi',
'custom_fields': {'azienda': 'NuovaCorp'}
}
)
result = response.json()
print(result) require 'net/http'
require 'json'
uri = URI('https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer em_test_51RxCWJ...vS00p61e0qRE'
request['Content-Type'] = 'application/json'
request.body = {
first_name: 'Giulia',
last_name: 'Rossi',
custom_fields: { azienda: 'NuovaCorp' }
}.to_json
response = http.request(request)
result = JSON.parse(response.body)
puts result package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
url := "https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M"
data := map[string]interface{}{
"first_name": "Giulia",
"last_name": "Rossi",
"custom_fields": map[string]string{"azienda": "NuovaCorp"},
}
jsonData, _ := json.Marshal(data)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
} use reqwest;
use serde_json::{json, Value};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::new();
let response = client
.post("https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M")
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.json(&json!({
"first_name": "Giulia",
"last_name": "Rossi",
"custom_fields": {"azienda": "NuovaCorp"}
}))
.send()
.await?;
let result: Value = response.json().await?;
println!("{:?}", result);
Ok(())
} import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import java.net.http.HttpRequest.BodyPublishers;
public class UpdateContact {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
String jsonBody = "{\"first_name\":\"Giulia\",\"last_name\":\"Rossi\",\"custom_fields\":{\"azienda\":\"NuovaCorp\"}}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M"))
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.POST(BodyPublishers.ofString(jsonBody))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
} using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class UpdateContact
{
public static async Task Main()
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization",
"Bearer em_test_51RxCWJ...vS00p61e0qRE");
var data = new {
first_name = "Giulia",
last_name = "Rossi",
custom_fields = new { azienda = "NuovaCorp" }
};
var json = JsonConvert.SerializeObject(data);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(
"https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M", content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
} curl -X POST https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M \
-H "Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE" \
-H "Content-Type: application/json" \
-d '{
"first_name": "Giulia",
"last_name": "Rossi",
"custom_fields": { "azienda": "NuovaCorp" }
}' {
"object": "contact",
"id": "con_2BxFg7KNqr5M...",
"email": "mario@esempio.com",
"first_name": "Giulia",
"last_name": "Rossi",
"custom_fields": { "azienda": "NuovaCorp" },
"unsubscribed": false,
"audiences": [
{
"id": "aud_xxx",
"name": "Newsletter",
"subscriber": {
"id": "sub_xxx",
"subscribed": true,
"subscribed_at": "2026-02-10T10:00:00.000000+00:00",
"unsubscribed_at": null,
"created_at": "2026-02-10T10:00:00.000000+00:00",
"updated_at": "2026-02-10T10:00:00.000000+00:00"
}
}
],
"created_at": "2026-02-10T10:00:00.000000+00:00",
"updated_at": "2026-02-12T09:00:00.000000+00:00"
} {
"error": "Contatto non trovato"
} {
"error": "Esiste già un contatto con questo indirizzo email",
"existing": {
"object": "contact",
"id": "con_...",
"email": "..."
}
} Elimina Contatto
Elimina un contatto dal tuo workspace. Richiede permessi completi. Questa operazione elimina il contatto e tutti i record degli iscritti associati. Attiva l’evento subscriber.deleted per ogni iscritto prima dell’eliminazione, seguito da contact.deleted. I contatti possono essere identificati tramite ID (con_xxx) o indirizzo email.
/contacts/{id}Parametri del Percorso
idstringRequiredL’ID del contatto (con_xxx) o l’indirizzo email.
const response = await fetch('https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
}
});
const result = await response.json(); <?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "Errore cURL #:" . $err;
} else {
$result = json_decode($response, true);
print_r($result);
} import requests
response = requests.delete(
'https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M',
headers={
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
}
)
result = response.json()
print(result) require 'net/http'
require 'json'
uri = URI('https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(uri)
request['Authorization'] = 'Bearer em_test_51RxCWJ...vS00p61e0qRE'
request['Content-Type'] = 'application/json'
response = http.request(request)
result = JSON.parse(response.body)
puts result package main
import (
"fmt"
"net/http"
)
func main() {
url := "https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Set("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
fmt.Println("Stato:", resp.Status)
} use reqwest;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::new();
let response = client
.delete("https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M")
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.send()
.await?;
println!("Stato: {}", response.status());
Ok(())
} import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class DeleteContact {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M"))
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.DELETE()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println("Stato: " + response.statusCode());
}
} using System;
using System.Net.Http;
using System.Threading.Tasks;
public class DeleteContact
{
public static async Task Main()
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization",
"Bearer em_test_51RxCWJ...vS00p61e0qRE");
var response = await client.DeleteAsync(
"https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M");
Console.WriteLine("Stato: " + response.StatusCode);
}
}
} curl -X DELETE https://api.emailit.com/v2/contacts/con_2BxFg7KNqr5M \
-H "Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE" \
-H "Content-Type: application/json" {
"object": "contact",
"id": "con_2BxFg7KNqr5M...",
"email": "john@example.com",
"deleted": true
} {
"error": "Contatto non trovato"
}