Dokumentation för API-funktioner
POST Service/Contact/{customerId}/Lead/Person Skapar ett lead för en kontaktperson. Innan nya personer läggs in i mäklarsystemet görs alltid en dubblettkontroll. Returvärde för metoden är id på leadet som skapades. Request Information URI Parameters
NamnBeskrivningTypInformation
customerId Kund-id string Krävs
Body Parameters Personlead PersonLead
NamnBeskrivningTypInformation
FirstName Förnamn string Förnamn krävs
Förnamn måste vara mellan 1 och 30 tecken
LastName Efternamn string Efternamn krävs
Efternamn måste vara mellan 1 och 30 tecken
SocialSecurityNumber Personnummer string Personnummer måste vara mellan 0 och 20 tecken
IsForeignSocialSecurityNumber Annat format/utländskt personnummer boolean

Telephone Telefonnummer PersonTelephoneNumbers

Message Meddelande string Meddelande krävs.
TypeId Id för leadskälla som skall användas för leadet string Ange id på befintlig leadskälla för leadet.
AssignmentSourceId Intagskälla - Om leadskällan kräver att leadet kopplas till en bostad när det accepteras kan intagskälla anges, i annat fall skall den utelämnas. string

Marketing Marknadsföringsuppgifter som t ex UTM taggar FormMarketing

AdvertisingEnabled Reklamutskick tillåts boolean Anges endast om kunden har tillfrågats
GDPRApprovedAt Datum och tid när kunden informerades om användningen av personuppgifter enligt GDPR. date Anges endast om kunden har blivit informerad och skriver i så fall över eventuellt befintligt värde om kontaktpersonen redan existerar.
Address Adress ContactAddress

Email Email Email

Agent Handläggare - Mottagare av leadet. Om handläggare inte anges kommer omfördelare på framsökt kontor användas som mottagare. Om det inte finns någon omfördelare på framsökt kontor hamnar leadet i Shark tank för kontoret. ContactAgent

Office Kontor - Anger vilket kontor leadet kopplas till. Om kontor inte anges, söker systemet efter kontor med fokusområden som överlappar kontaktpersonens adress. Om sökningen inte hittade något kontor eller resulterade i flera kontor med överlappande fokusområden, används kontoret för angivet kund-id. Om handläggare inte anges kommer omfördelare på framsökt kontor användas som mottagare. Om det inte finns någon omfördelare på framsökt kontor hamnar leadet i Shark tank för kontoret. ContactOffice

Sender Avsändare av leadet, dvs uppgifter om avsändare i ett externt system ContactLeadSender

Request Formats

{
  "firstName": "sample string 1",
  "lastName": "sample string 2",
  "socialSecurityNumber": "sample string 3",
  "isForeignSocialSecurityNumber": true,
  "telephone": {
    "home": "sample string 1",
    "work": "sample string 2",
    "cell": "sample string 3",
    "other": "sample string 4"
  },
  "message": "sample string 4",
  "typeId": "sample string 5",
  "assignmentSourceId": "sample string 6",
  "marketing": {
    "referrer": "sample string 1",
    "utmTags": [
      {
        "name": "sample string 1",
        "value": "sample string 2"
      },
      {
        "name": "sample string 1",
        "value": "sample string 2"
      }
    ]
  },
  "advertisingEnabled": true,
  "gdprApprovedAt": "2026-04-06T21:57:07.7854575+02:00",
  "address": {
    "streetAddress": "sample string 1",
    "zipCode": "sample string 2",
    "city": "sample string 3"
  },
  "email": {
    "emailAddress": "sample string 1",
    "emailAddress2": "sample string 2"
  },
  "agent": {
    "id": "sample string 1",
    "externalId": "sample string 2",
    "email": "sample string 3"
  },
  "office": {
    "id": "sample string 1",
    "customerId": "sample string 2",
    "externalId": "sample string 3"
  },
  "sender": {
    "user": {
      "id": "sample string 1",
      "name": "sample string 2"
    },
    "company": {
      "id": "sample string 1",
      "name": "sample string 2"
    }
  }
}
<PersonLead xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Express.Connect.Api.Models.PartnerService">
  <Address>
    <City>sample string 3</City>
    <StreetAddress>sample string 1</StreetAddress>
    <ZipCode>sample string 2</ZipCode>
  </Address>
  <AdvertisingEnabled>true</AdvertisingEnabled>
  <Agent>
    <Email>sample string 3</Email>
    <ExternalId>sample string 2</ExternalId>
    <Id>sample string 1</Id>
  </Agent>
  <AssignmentSourceId>sample string 6</AssignmentSourceId>
  <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>
  <GDPRApprovedAt>2026-04-06T21:57:07.7854575+02:00</GDPRApprovedAt>
  <Marketing xmlns:d2p1="http://schemas.datacontract.org/2004/07/Express.Connect.Api.Services.Advertising">
    <d2p1:Referrer>sample string 1</d2p1:Referrer>
    <d2p1:UtmTags>
      <d2p1:FormMarketingUtmTags>
        <d2p1:Name>sample string 1</d2p1:Name>
        <d2p1:Value>sample string 2</d2p1:Value>
      </d2p1:FormMarketingUtmTags>
      <d2p1:FormMarketingUtmTags>
        <d2p1:Name>sample string 1</d2p1:Name>
        <d2p1:Value>sample string 2</d2p1:Value>
      </d2p1:FormMarketingUtmTags>
    </d2p1:UtmTags>
  </Marketing>
  <Message>sample string 4</Message>
  <Office>
    <CustomerId>sample string 2</CustomerId>
    <ExternalId>sample string 3</ExternalId>
    <Id>sample string 1</Id>
  </Office>
  <Sender>
    <Company>
      <Id>sample string 1</Id>
      <Name>sample string 2</Name>
    </Company>
    <User>
      <Id>sample string 1</Id>
      <Name>sample string 2</Name>
    </User>
  </Sender>
  <TypeId>sample string 5</TypeId>
  <FirstName>sample string 1</FirstName>
  <IsForeignSocialSecurityNumber>true</IsForeignSocialSecurityNumber>
  <LastName>sample string 2</LastName>
  <SocialSecurityNumber>sample string 3</SocialSecurityNumber>
  <Telephone xmlns:d2p1="http://schemas.datacontract.org/2004/07/Express.Connect.Api.Models">
    <d2p1:Other>sample string 4</d2p1:Other>
    <d2p1:Cell>sample string 3</d2p1:Cell>
    <d2p1:Home>sample string 1</d2p1:Home>
    <d2p1:Work>sample string 2</d2p1:Work>
  </Telephone>
</PersonLead>
Response Information Resource Description Skapar ett lead för en kontaktperson. Innan nya personer läggs in i mäklarsystemet görs alltid en dubblettkontroll. Returvärde för metoden är id på leadet som skapades. string Kodexempel

curl "https://connect.maklare.vitec.net/Service/Contact/StringValue/Lead/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/Service/Contact/StringValue/Lead/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("Service/Contact/StringValue/Lead/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/Service/Contact/StringValue/Lead/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
Testformulär Text input
Response Formats
"sample string 1"
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">sample string 1</string>