Hantera kontakter
Läs en samling av kontakter
Endpoint: GET contacts
Denna endpoint ger dig en samling kontakter för vilka du kan se definitionen av kontaktdokumentet nedan. Denna samling kan 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.
Exempel på filter
https://ip1-api-gateway-dev.azure-api.net/v2/contacts?labels=Coworker&properties%5BphoneNumber%5D=%2B46123456789&metadata%5BphoneNumber.isBlocked%5D=false
Läs en enskild kontakt
Endpoint: GET contacts/{contactId}
Denna endpoint ger dig en enda specifik kontakt. Metadata finns bara om “meta” läggs till som en query parameter
Uppdatera en kontakt
Endpoint: PATCH contacts/{contactId}
Endpoint: PUT contacts/{contactId}
Med dessa endpoints kan du uppdatera en kontakt och ändra lagrad data. Den första endpointen gör en delvis uppdatering, anger eventuella värden som finns och tar bort alla tydliga null-värden om det finns. Den andra ersätter allt 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; }
}