Dokumentation för API-funktioner
POST Contacts/UpdateCompany Skicka in ny eller uppdatera befintlig företagskontakt.

För att kunna uppdatera eller skapa en kontakt så krävs det en giltig API nyckel och ett kundid (Customerld).
Finns Contactld (kontaktid) sker kontrollen på detta och alla inskickade fält uppdateras på företaget.
Saknas Contactld (kontaktid) sker kontrollen på CorporateHumber (organisationsnummer) och alla övriga fält på företaget uppdateras.
Finns ingen av ovanstående fält sker kontrollen på CompanyHame (företagsnamn) och dessutom på SwitchPhone (telefonnummer) eller EmailAddress (Epostadressl). Lämnas dessa fält tomma sker ingen dubblett kontroll men minst en måste skickas in för att identifiera en dubblett. Hittas ingen dubblett skapas ett nytt företag.
Request Information Body Parameters Kontakt UpdateCompany
NamnBeskrivningTypInformation
CompanyName Företagsnamn string Företagsnamn måste vara mellan 0 och 50 tecken
CorporateNumber Organisationsnummer string Organisationsnummer måste vara mellan 0 och 20 tecken
IsForeignCorporateNumber Annat format/utländskt organisationsnummer boolean

HomePage Hemsida string Hemsida måste vara mellan 0 och 60 tecken
SwitchPhone Telefon växel string Växelnummer måste vara mellan 0 och 17 tecken
ContactId Kontakt id string Kontaktid måste vara mellan 0 och 40 tecken
CustomerId Kund Id string Kundid krävs
Kundid måste vara mellan 0 och 40 tecken
CategoryIds Kontaktkategori id Collection of string

Address Adress Address

Email Email Email

UserId Användarid som kontakten ska kopplas till string

OtherPhone Telefon annat string Övrigt telefonnummer måste vara mellan 0 och 17 tecken
WishAdvertising Önskar reklamutskick boolean

Note Anteckning string

Coordinate Koordinater Coordinate

Task Typad uppgift Task

CustomField Egendefinerat fält FieldValueCriteria

LeadScore Antal lead score stjärnor integer

Request Formats

{
  "companyName": "sample string 1",
  "corporateNumber": "sample string 2",
  "isForeignCorporateNumber": true,
  "homePage": "sample string 3",
  "switchPhone": "sample string 4",
  "contactId": "sample string 5",
  "customerId": "sample string 6",
  "categoryIds": [
    "sample string 1",
    "sample string 2"
  ],
  "address": {
    "streetAddress": "sample string 1",
    "zipCode": "sample string 2",
    "city": "sample string 3",
    "countryCode": "sample string 4"
  },
  "email": {
    "emailAddress": "sample string 1",
    "emailAddress2": "sample string 2"
  },
  "userId": "sample string 7",
  "otherPhone": "sample string 8",
  "wishAdvertising": true,
  "note": "sample string 9",
  "coordinate": {
    "longitud": 1.1,
    "latitud": 2.1
  },
  "task": {
    "predefinedTaskId": "sample string 1",
    "note": "sample string 2",
    "estateId": "sample string 3",
    "assignedTo": "sample string 4"
  },
  "customField": {
    "name": "sample string 1",
    "value": "sample string 2"
  },
  "leadScore": 1
}
<UpdateCompany xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Vitec.Housing.Connect.Api.Models.Contact.Update">
  <Address xmlns:d2p1="http://schemas.datacontract.org/2004/07/Vitec.Housing.Connect.Api.Models">
    <d2p1:City>sample string 3</d2p1:City>
    <d2p1:CountryCode>sample string 4</d2p1:CountryCode>
    <d2p1:StreetAddress>sample string 1</d2p1:StreetAddress>
    <d2p1:ZipCode>sample string 2</d2p1:ZipCode>
  </Address>
  <CategoryIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>sample string 1</d2p1:string>
    <d2p1:string>sample string 2</d2p1:string>
  </CategoryIds>
  <ContactId>sample string 5</ContactId>
  <Coordinate xmlns:d2p1="http://schemas.datacontract.org/2004/07/Vitec.Housing.Connect.Api.Models">
    <d2p1:Latitud>2.1</d2p1:Latitud>
    <d2p1:Longitud>1.1</d2p1:Longitud>
  </Coordinate>
  <CustomField xmlns:d2p1="http://schemas.datacontract.org/2004/07/Vitec.Housing.Connect.Api.Models.CustomField">
    <d2p1:Name>sample string 1</d2p1:Name>
    <d2p1:Value>sample string 2</d2p1:Value>
  </CustomField>
  <CustomerId>sample string 6</CustomerId>
  <Email xmlns:d2p1="http://schemas.datacontract.org/2004/07/Vitec.Housing.Connect.Api.Models">
    <d2p1:EmailAddress>sample string 1</d2p1:EmailAddress>
    <d2p1:EmailAddress2>sample string 2</d2p1:EmailAddress2>
  </Email>
  <LeadScore>1</LeadScore>
  <Note>sample string 9</Note>
  <OtherPhone>sample string 8</OtherPhone>
  <Task xmlns:d2p1="http://schemas.datacontract.org/2004/07/Vitec.Housing.Connect.Api.Models.Task">
    <d2p1:AssignedTo>sample string 4</d2p1:AssignedTo>
    <d2p1:EstateId>sample string 3</d2p1:EstateId>
    <d2p1:Note>sample string 2</d2p1:Note>
    <d2p1:PredefinedTaskId>sample string 1</d2p1:PredefinedTaskId>
  </Task>
  <UserId>sample string 7</UserId>
  <WishAdvertising>true</WishAdvertising>
  <CompanyName>sample string 1</CompanyName>
  <CorporateNumber>sample string 2</CorporateNumber>
  <HomePage>sample string 3</HomePage>
  <IsForeignCorporateNumber>true</IsForeignCorporateNumber>
  <SwitchPhone>sample string 4</SwitchPhone>
</UpdateCompany>
Response Information Resource Description Skapar en ny eller uppdaterar en befintlig företagskontakt.
Dubblettkontroll sker på
1) kontaktid, 2) organisationsnummer, 3) företagsnamn, telefonnummer eller epostadress. Matar man in information i något av ovanstående fält, så fylls övriga fält i automatiskt. Minst ett fält behöver vara ifyllt för att dubblettkontroll ska kunna göras. Om dubblettkontrollen inte hittar en redan befintlig kontakt skapas en ny.
string Kodexempel

curl "https://connect.maklare.vitec.net/Contacts/UpdateCompany" -X POST -H "Content-Type: application/json" -H "Authorization: basic {Base64 kodad användarnamn och lösenord}" -d {\"companyName\":\"StringValue\",\"corporateNumber\":\"StringValue\",\"isForeignCorporateNumber\":false}
            

$URL = "https://connect.maklare.vitec.net/Contacts/UpdateCompany"
$data = "{`"companyName`":`"StringValue`",`"corporateNumber`":`"StringValue`",`"isForeignCorporateNumber`":false}"
Invoke-WebRequest -Uri $URL -Method POST -Headers @{"Content-Type" = "application/json"; "authorization" = "basic {Base64 kodad användarnamn och lösenord}"} -Body $data
                

// HttpClientInstance ska deklareras som en singleton
// public static readonly HttpClient HttpClientInstance = new HttpClient {
//     BaseAddress = new Uri("https://connect.maklare.vitec.net"),
//     DefaultRequestHeaders = {
//         Authorization = new AuthenticationHeaderValue("Basic", "{Base64 kodad användarnamn och lösenord}")
//     }
// }
var json = "{\"companyName\":\"StringValue\",\"corporateNumber\":\"StringValue\",\"isForeignCorporateNumber\":false}";
using (var response = await HttpClientInstance.PostAsync("Contacts/UpdateCompany", new StringContent(json, Encoding.UTF8, "application/json"))) {
    if (response.StatusCode == HttpStatusCode.Unauthorized) {
        // Authorization headern är inte korrekt
    }
    if (response.StatusCode == HttpStatusCode.Forbidden) {
        // Begärt data som det saknas åtkomst till
    }
    if (response.StatusCode == HttpStatusCode.InternalServerError) {
        // Oväntat fel, kontakta Vitec
    }
    if (response.StatusCode == HttpStatusCode.BadRequest) {
        var json = await response.Content.ReadAsStringAsync();
        var result = JsonConvert.DeserializeObject<dynamic>(json);
        // Hantera valideringsfel, presenteras i resultatet
    }
    
    var json = await response.Content.ReadAsStringAsync();
    // JsonConvert finns i biblioteket Newtonsoft.Json
    var result = JsonConvert.DeserializeObject<dynamic>(json);
    
    // TODO: Gör något med resultatet
}

$URL = "https://connect.maklare.vitec.net/Contacts/UpdateCompany";

$ch = curl_init();

curl_setopt($ch, CURLOPT_USERNAME, "{Användarnamn}");
curl_setopt($ch, CURLOPT_PASSWORD, "{Lösenord}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $URL);
$data = "{\"companyName\":\"StringValue\",\"corporateNumber\":\"StringValue\",\"isForeignCorporateNumber\":false}";
curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data)
));

$result = curl_exec($ch);

if (curl_errno($ch)) {
    die(curl_getinfo($ch));
}

$info = curl_getinfo($ch);
curl_close($ch);

$http_code = $info["http_code"];
if ($http_code == 401) {
    // Användarnamnet eller lösenordet är felaktigt
}
if ($http_code == 403) {
    // Begärt data som det saknas åtkomst till
}
if ($http_code == 500) {
    // Oväntat fel, kontakta Vitec
}
if ($http_code == 400) {
    $json = json_decode($result, true);
    // Hantera valideringsfel, presenteras i $json
}

// TODO: Gör något med resultatet
Testformulär Text input
Response Formats
"sample string 1"
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">sample string 1</string>