Dokumentation för API-funktioner
PUT CRM/Contact/{customerId}/Person/{contactId} Uppdaterar kontakten med angivet kontakt-id och returnerar kontakt-id.

Null eller utelämnade fält ignoreras. En tom sträng tömmer motsvarande textfält.
Request Information URI Parameters
NamnBeskrivningTypInformation
customerId Kund-id (kontors-id för Mäklarsystem). string Krävs
contactId Kontakt-id på personen som ska uppdateras. string Krävs
Body Parameters Personkontakt. CrmPersonUpdateRequest
NamnBeskrivningTypInformation
FirstName Fornamn. string Fornamn maste vara mellan 0 och 30 tecken
LastName Efternamn. string Efternamn maste vara mellan 0 och 30 tecken
SocialSecurityNumber Personnummer. string Personnummer maste vara mellan 0 och 20 tecken
IsForeignSocialSecurityNumber Annat format/utlandskt personnummer. boolean

Telephone Telefonnummer. CrmPersonTelephoneNumbersRequest

GDPRApprovalDate Datum då GDPR-informationen godkändes. Null innebär att befintligt värde inte ändras. date

ObtainThrough Hur GDPR-godkännandet lämnades. Null innebär att befintligt värde inte ändras. ObtainMethod

AgentId Maklarens id. string

Address Adress. CrmContactAddressRequest

Email Email. CrmEmailRequest

AdvertisingEnabled Reklamutskick tillats. boolean

Other Övrig information på kontakten. Mappas mot kontaktens aktuella Adr.Anteckning. string

Categories Kategorier. Collection of CrmCategoryRequest

LeadScore Antal lead score-stjärnor. Giltigt intervall är 0 till 3. integer Lead score måste vara mellan 0 och 3

Request Formats

{
  "firstName": "sample string 1",
  "lastName": "sample string 2",
  "socialSecurityNumber": "sample string 3",
  "isForeignSocialSecurityNumber": true,
  "telephone": {
    "home": "sample string 1",
    "cell": "sample string 2",
    "other": "sample string 3"
  },
  "gdprApprovalDate": "2026-10-14T10:09:56.6748666+02:00",
  "obtainThrough": "Interest",
  "agentId": "sample string 4",
  "address": {
    "streetAddress": "sample string 1",
    "zipCode": "sample string 2",
    "city": "sample string 3",
    "countryCode": "sample string 4",
    "wgs84Coordinate": {
      "longitude": 1.1,
      "latitude": 1.1
    }
  },
  "email": {
    "emailAddress": "sample string 1",
    "emailAddress2": "sample string 2"
  },
  "advertisingEnabled": true,
  "other": "sample string 5",
  "categories": [
    {
      "id": "sample string 1",
      "name": "sample string 2"
    },
    {
      "id": "sample string 1",
      "name": "sample string 2"
    }
  ],
  "leadScore": 1
}
<CrmPersonUpdateRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Vitec.Housing.Connect.Api.Models.Contact.Crm.Request">
  <Address>
    <City>sample string 3</City>
    <CountryCode>sample string 4</CountryCode>
    <StreetAddress>sample string 1</StreetAddress>
    <Wgs84Coordinate>
      <Latitude>1.1</Latitude>
      <Longitude>1.1</Longitude>
    </Wgs84Coordinate>
    <ZipCode>sample string 2</ZipCode>
  </Address>
  <AdvertisingEnabled>true</AdvertisingEnabled>
  <AgentId>sample string 4</AgentId>
  <Categories>
    <CrmCategoryRequest>
      <Id>sample string 1</Id>
      <Name>sample string 2</Name>
    </CrmCategoryRequest>
    <CrmCategoryRequest>
      <Id>sample string 1</Id>
      <Name>sample string 2</Name>
    </CrmCategoryRequest>
  </Categories>
  <Email>
    <EmailAddress>sample string 1</EmailAddress>
    <EmailAddress2>sample string 2</EmailAddress2>
  </Email>
  <LeadScore>1</LeadScore>
  <Other>sample string 5</Other>
  <FirstName>sample string 1</FirstName>
  <GDPRApprovalDate>2026-10-14T10:09:56.6748666+02:00</GDPRApprovalDate>
  <IsForeignSocialSecurityNumber>true</IsForeignSocialSecurityNumber>
  <LastName>sample string 2</LastName>
  <ObtainThrough>Interest</ObtainThrough>
  <SocialSecurityNumber>sample string 3</SocialSecurityNumber>
  <Telephone>
    <Other>sample string 3</Other>
    <Cell>sample string 2</Cell>
    <Home>sample string 1</Home>
  </Telephone>
</CrmPersonUpdateRequest>
Response Information Resource Description Uppdatera en befintlig personkontakt. string Kodexempel

curl "https://connect.maklare.vitec.net/CRM/Contact/StringValue/Person/StringValue" -X PUT -H "Content-Type: application/json" -H "Authorization: basic {Base64 kodad användarnamn och lösenord}" -d {\"firstName\":\"StringValue\",\"lastName\":\"StringValue\",\"socialSecurityNumber\":\"StringValue\"}
            

$URL = "https://connect.maklare.vitec.net/CRM/Contact/StringValue/Person/StringValue"
$data = "{`"firstName`":`"StringValue`",`"lastName`":`"StringValue`",`"socialSecurityNumber`":`"StringValue`"}"
Invoke-WebRequest -Uri $URL -Method PUT -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 = "{\"firstName\":\"StringValue\",\"lastName\":\"StringValue\",\"socialSecurityNumber\":\"StringValue\"}";
using (var response = await HttpClientInstance.PutAsync("CRM/Contact/StringValue/Person/StringValue", 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/CRM/Contact/StringValue/Person/StringValue";

$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 = "{\"firstName\":\"StringValue\",\"lastName\":\"StringValue\",\"socialSecurityNumber\":\"StringValue\"}";
$headers = array( "Content-Type: application/json", "Content-Length: " . strlen($data) );
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');

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>