Dokumentation för API-funktioner
POST CRM/Contact/{customerId}/SearchProfile/Residential/{contactId} Skapa en sökprofil av typen boende(villa, lägenhet, tomt, radhus, fritidshus) Request Information URI Parameters
NamnBeskrivningTypInformation
customerId Kundid string Krävs
contactId Kontaktid string Krävs
Body Parameters Sökprofilen SearchProfileResidentialCreate
NamnBeskrivningTypInformation
Subtypes Typ av boende Collection of SubtypeResidential

AreaIds Områdes id:n Collection of string

MunicipalityCodes Kommunkoder Collection of string

LivingSpace Boarea min/max. Valbara värden finns i "LivingAreaSteps" som fås via anrop till GET CRM/Contact/{customerId}/SearchProfile/SearchProfileValues. RangeOfInt32

NumberOfRooms Antal rum min/max. Valbara värden finns i "RoomSteps" som fås via anrop till GET CRM/Contact/{customerId}/SearchProfile/SearchProfileValues. RangeOfInt32

Bedrooms Antal sovrum. Valbara värden finns i "RoomSteps" som fås via anrop till GET CRM/Contact/{customerId}/SearchProfile/SearchProfileValues. integer

PlotArea Tomtarea min/max anges i kvm. Valbara värden finns i "PlotAreaSteps" som fås via anrop till GET CRM/Contact/{customerId}/SearchProfile/SearchProfileValues. RangeOfInt32

MonthlyFee Månadsavgift. Valbara värden finns i "MonthlyFeeSteps" som fås via anrop till GET CRM/Contact/{customerId}/SearchProfile/SearchProfileValues. integer

IsAutomaticProfile Sökprofilen är automatskapad boolean

Price Pris min/max. Valbara värden för svenska objekt finns i "DomesticPriceSteps" som fås via anrop till GET CRM/Contact/{customerId}/SearchProfile/SearchProfileValues. För utlandsbostäder skall istället "ForeignPriceSteps" användas. RangeOfInt32

DrawnAreas Ritat område Collection of Polygon

DrawnAreasName Namn på ritat område string

IncreasedRequirementIds Utökade krav id:n (increased requirements) Valbara värden för olika objettyper fås via anrop till GET IncreasedRequirement/{customerId}. Collection of string

Request Formats

{
  "subtypes": [
    "Apartment",
    "Apartment"
  ],
  "areaIds": [
    "sample string 1",
    "sample string 2"
  ],
  "municipalityCodes": [
    "sample string 1",
    "sample string 2"
  ],
  "livingSpace": {
    "maxValue": 1,
    "minValue": 1
  },
  "numberOfRooms": {
    "maxValue": 1,
    "minValue": 1
  },
  "bedrooms": 1,
  "plotArea": {
    "maxValue": 1,
    "minValue": 1
  },
  "monthlyFee": 1,
  "isAutomaticProfile": true,
  "price": {
    "maxValue": 1,
    "minValue": 1
  },
  "drawnAreas": [
    {
      "coordinates": [
        {
          "longitud": 1.1,
          "latitud": 2.1
        },
        {
          "longitud": 1.1,
          "latitud": 2.1
        }
      ]
    },
    {
      "coordinates": [
        {
          "longitud": 1.1,
          "latitud": 2.1
        },
        {
          "longitud": 1.1,
          "latitud": 2.1
        }
      ]
    }
  ],
  "drawnAreasName": "sample string 2",
  "increasedRequirementIds": [
    "sample string 1",
    "sample string 2"
  ]
}
<SearchProfileResidentialCreate xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Express.Connect.Api.Models.SearchProfileV2">
  <DrawnAreas xmlns:d2p1="http://schemas.datacontract.org/2004/07/Vitec.Housing.Connect.Api.Models">
    <d2p1:Polygon>
      <d2p1:Coordinates>
        <d2p1:Coordinate>
          <d2p1:Latitud>2.1</d2p1:Latitud>
          <d2p1:Longitud>1.1</d2p1:Longitud>
        </d2p1:Coordinate>
        <d2p1:Coordinate>
          <d2p1:Latitud>2.1</d2p1:Latitud>
          <d2p1:Longitud>1.1</d2p1:Longitud>
        </d2p1:Coordinate>
      </d2p1:Coordinates>
    </d2p1:Polygon>
    <d2p1:Polygon>
      <d2p1:Coordinates>
        <d2p1:Coordinate>
          <d2p1:Latitud>2.1</d2p1:Latitud>
          <d2p1:Longitud>1.1</d2p1:Longitud>
        </d2p1:Coordinate>
        <d2p1:Coordinate>
          <d2p1:Latitud>2.1</d2p1:Latitud>
          <d2p1:Longitud>1.1</d2p1:Longitud>
        </d2p1:Coordinate>
      </d2p1:Coordinates>
    </d2p1:Polygon>
  </DrawnAreas>
  <DrawnAreasName>sample string 2</DrawnAreasName>
  <IncreasedRequirementIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>sample string 1</d2p1:string>
    <d2p1:string>sample string 2</d2p1:string>
  </IncreasedRequirementIds>
  <IsAutomaticProfile>true</IsAutomaticProfile>
  <Price xmlns:d2p1="http://schemas.datacontract.org/2004/07/Vitec.Housing.Connect.Api.Models">
    <d2p1:MaxValue>1</d2p1:MaxValue>
    <d2p1:MinValue>1</d2p1:MinValue>
  </Price>
  <Bedrooms>1</Bedrooms>
  <LivingSpace xmlns:d2p1="http://schemas.datacontract.org/2004/07/Vitec.Housing.Connect.Api.Models">
    <d2p1:MaxValue>1</d2p1:MaxValue>
    <d2p1:MinValue>1</d2p1:MinValue>
  </LivingSpace>
  <MonthlyFee>1</MonthlyFee>
  <NumberOfRooms xmlns:d2p1="http://schemas.datacontract.org/2004/07/Vitec.Housing.Connect.Api.Models">
    <d2p1:MaxValue>1</d2p1:MaxValue>
    <d2p1:MinValue>1</d2p1:MinValue>
  </NumberOfRooms>
  <PlotArea xmlns:d2p1="http://schemas.datacontract.org/2004/07/Vitec.Housing.Connect.Api.Models">
    <d2p1:MaxValue>1</d2p1:MaxValue>
    <d2p1:MinValue>1</d2p1:MinValue>
  </PlotArea>
  <AreaIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>sample string 1</d2p1:string>
    <d2p1:string>sample string 2</d2p1:string>
  </AreaIds>
  <MunicipalityCodes xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>sample string 1</d2p1:string>
    <d2p1:string>sample string 2</d2p1:string>
  </MunicipalityCodes>
  <Subtypes>
    <SubtypeResidential>Apartment</SubtypeResidential>
    <SubtypeResidential>Apartment</SubtypeResidential>
  </Subtypes>
</SearchProfileResidentialCreate>
Response Information Resource Description Skapa en sökprofil av typen boende(villa, lägenhet, tomt, radhus, fritidshus) string Kodexempel

curl "https://connect.maklare.vitec.net/CRM/Contact/StringValue/SearchProfile/Residential/StringValue" -X POST -H "Content-Type: application/json" -H "Authorization: basic {Base64 kodad användarnamn och lösenord}" -d {\"subtypes\":[0],\"areaIds\":[\"StringValue\"],\"municipalityCodes\":[\"StringValue\"]}
            

$URL = "https://connect.maklare.vitec.net/CRM/Contact/StringValue/SearchProfile/Residential/StringValue"
$data = "{`"subtypes`":[0],`"areaIds`":[`"StringValue`"],`"municipalityCodes`":[`"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 = "{\"subtypes\":[0],\"areaIds\":[\"StringValue\"],\"municipalityCodes\":[\"StringValue\"]}";
using (var response = await HttpClientInstance.PostAsync("CRM/Contact/StringValue/SearchProfile/Residential/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/SearchProfile/Residential/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 = "{\"subtypes\":[0],\"areaIds\":[\"StringValue\"],\"municipalityCodes\":[\"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>