Hantera kontakter
Quick start
Använd exemplet nedan och byt ut “API_NYCKEL” mot en bearer token som du skapar i användarportalen.
curl -X GET "https://api.ip1sms.com/v2/contacts/" \
-H "Authorization: Bearer API_NYCKEL" \
-H "Content-Type: application/json" \
Anrop
Läs en samling av kontakter
Endpoint: contacts
Metod: GET
Denna endpoint ger dig en samling kontakter för vilka du kan se definitionen av kontaktdokumentet nedan.
Exempel på anrop
https://api.ip1sms.com/batches/contacts
Exempel på anrop med filter
Denna samling kan även filtreras efter egenskaper, metadata och/eller etiketter med hjälp av frågeparametrar. Metadata finns bara om meta läggs till som en query-parameter.
https://api.ip1sms.com/v2/contacts?labels=Coworker&properties%5BphoneNumber%5D=%2B46123456789&metadata%5BphoneNumber.isBlocked%5D=false
Läs en enskild kontakt
Endpoint: contacts/{contactId}
Metod: GET
Denna endpoint ger dig en enda specifik kontakt. Metadata finns bara om “meta” läggs till som en query parameter
Exempel på anrop
https://api.ip1sms.com/batches/contacts/606312a5d233ab8484e18404
Uppdatera en kontakt
Endpoint: PATCH contacts/{contactId}
Endpoint: PUT contacts/{contactId}
Med dessa endpoints kan du uppdatera en kontakt och ändra lagrad data. Genom att använda HTTP-verbet PATCH gör du en delvis uppdatering, anger eventuella värden som finns och tar bort alla tydliga null-värden om null-värden existerar. Om du använder PUT ersätts all existerande data med nya data oavsett tidigare värden.
Lägg till/importera kontakter
Endpoint: POST contacts
Denna endpoint låter dig lägga till/importera nya kontakter. Den tar en samling kontaktdokument. Som standard accepteras kontakterna och importeras sedan i bakgrunden, men det kan göras direkt genom att lägga till sync som en frågeparameter. Direktimport rekommenderas endast för små samlingar av kontakter (färre än 1000).
Radera kontakter
Endpoint: DELETE contacts/{contactId}
Denna endpoint låter dig ta bort en kontakt. Det finns också en endpoint för att ta bort mer än en kontakt, se avsnittet för Massoperationer.
Responsdata-typ
{
"id": "606312a5d233ab8484e18404",
"ownerId": "ip1-XXXXX",
"properties": {
"phoneNumber": "+46123456789",
"email": "icarus@example.com",
"firstName": "Icarus",
"lastName": "Sol",
"department": "Sales"
},
"metadata": {
"phoneNumber": {
"isPossiblePhoneNumber": "true",
"isValidPhoneNumber": "true",
"phoneNumberType": "MOBILE",
"parsedMSISDN": "46123456789",
"isBlocked": "false"
}
},
"labels": [
"Coworker",
"all"
]
}
id
Kontaktens ID, används för att referera till en specifik kontakt.
ownerId
Kontot som äger kontakten.
properties
En dictionary av kontaktegenskaper, som telefonnunner, namn, företagsuppgifter m.m.
metadata
Metadata om vissa egenskaper. En dictionary med metadata-egenskaper för varje egenskap med metadata. Saker som valideringsresultat och blockerad status.
labels
En samling etiketter för kontakten. Används oftast för att kategorisera eller gruppera kontakter.
Kodexempel
Nedan hittar du ett enkelt kodexempel med autentisering och funktionalitet för att lägga till en kontakt.
Lägg till en kontakt i C#
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(https://api.ip1sms.com/v2);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "API Key");
var contact = new Contact()
{
properties = new Dictionary() {
{ "phoneNumber", "46712345678"},
{"email" , icarus@example.com},
{"firstName" , "Icarus"},
{"lastName" , "Sol"},
{"department" , "Sales"}
},
labels = new List()
{
"Coworker",
"Sales"
}
};
HttpResponseMessage response = await client.PostAsJsonAsync("contacts", contact);
if (response.IsSuccessStatusCode)
{
Console.WriteLine("Sent");
}
else
{
Console.WriteLine("Failed, " + response.StatusCode + ": " + await response.Content.ReadAsStringAsync());
}
}
public class Contact
{
public Dictionary properties { get; set; }
public List labels { get; set; }
}