{
"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:58.6123875+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
}
Dokumentation för API-funktioner
POST CRM/Contact/{customerId}/Person
Returnerar kontakt-id för den skapade eller uppdaterade kontakten.
Dubblettkontroll sker i följande ordning:
Null eller utelämnade fält ignoreras. En tom sträng tömmer motsvarande textfält. Request Information URI Parameters
Body Parameters
Personkontakt. CrmPersonCreateRequest
Response Information
Resource Description
Skapa eller upserta en personkontakt.
string
Kodexempel
Testformulär
Text input
Response Formats
Dubblettkontroll sker i följande ordning:
Personnummer – om angivet och minst 10 siffror matchas det mot befintlig kontakt. Personnummer och epost eller mobilnummer – om personnummer är kortare än 10 siffror krävs dessutom träff på epost eller mobil. Förnamn, efternamn och mobilnummer, epost eller hemtelefon – används om personnummer saknas.
Null eller utelämnade fält ignoreras. En tom sträng tömmer motsvarande textfält. Request Information URI Parameters
| Namn | Beskrivning | Typ | Information |
| customerId | Kund-id (kontors-id för Mäklarsystem). | string |
Krävs |
| Namn | Beskrivning | Typ | Information |
| 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. | 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
<CrmPersonCreateRequest 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:58.6123875+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>
</CrmPersonCreateRequest>
curl "https://connect.maklare.vitec.net/CRM/Contact/StringValue/Person" -X POST -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"
$data = "{`"firstName`":`"StringValue`",`"lastName`":`"StringValue`",`"socialSecurityNumber`":`"StringValue`"}"
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 = "{\"firstName\":\"StringValue\",\"lastName\":\"StringValue\",\"socialSecurityNumber\":\"StringValue\"}";
using (var response = await HttpClientInstance.PostAsync("CRM/Contact/StringValue/Person", 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";
$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\"}";
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
Resultat av begäran
"sample string 1"
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">sample string 1</string>