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; }
}