Dokumentation för API-funktioner
POST PublicAdvertising/{customerId}/Contact/Person/Lead Skapar ett lead för en kontaktperson. Innan nya personer läggs in i systemet 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 Uppgifter om aktuellt lead PublicAdvertisingPersonLead
NamnBeskrivningTypInformation
Person Kontaktperson som leadet avser Person En kontaktperson måste anges
Receiver Mottagare av leadet - Kan vara handläggare, användargrupp eller kontor. Om mottagare 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 omfördelare är angiven, hamnar Leadet hos denne, i annat fall hamnar det i kontorets Sharktank. Receiver Om en mottagare anges måste antingen handläggare, användargrupp eller kontor specificeras
LeadSource Leadskälla - Anger varifrån leadet skickades. Om en leadskälla med angivet arbetsflöde och namn redan finns används denna. I annat fall skapas en ny leadskälla med angivet arbetsflöde samt namnet på Marknadsplatsen följt av angivet namn på leadskällan. OBS! Marknadsplatsens namn skall alltså inte anges, det läggs till automatiskt. LeadSource En leadskälla måste anges
Marketing Marknadsföringsuppgifter som t ex UTM taggar FormMarketing

Message Ett meddelande till mottagaren av leadet string

Request Formats

{
  "person": {
    "firstName": "sample string 1",
    "lastName": "sample string 2",
    "socialSecurityNumber": "sample string 3",
    "isForeignSocialSecurityNumber": true,
    "address": {
      "streetAddress": "sample string 1",
      "zipCode": "sample string 2",
      "city": "sample string 3"
    },
    "email": {
      "emailAddress": "sample string 1",
      "emailAddress2": "sample string 2"
    },
    "telephone": {
      "home": "sample string 1",
      "work": "sample string 2",
      "cell": "sample string 3",
      "other": "sample string 4"
    }
  },
  "receiver": {
    "agent": {
      "id": "sample string 1",
      "email": "sample string 2",
      "office": {
        "id": "sample string 1",
        "customerId": "sample string 2"
      }
    },
    "userGroup": {
      "id": "sample string 1"
    },
    "office": {
      "id": "sample string 1",
      "customerId": "sample string 2"
    }
  },
  "leadSource": {
    "leadType": "AcceptObjectFlow",
    "name": "sample string 1"
  },
  "marketing": {
    "referrer": "sample string 1",
    "utmTags": [
      {
        "name": "sample string 1",
        "value": "sample string 2"
      },
      {
        "name": "sample string 1",
        "value": "sample string 2"
      }
    ]
  },
  "message": "sample string 1"
}
<PublicAdvertisingPersonLead xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Express.Connect.Api.Models.PublicAdvertisement.PublicAdvertisementLead">
  <LeadSource>
    <LeadType>AcceptObjectFlow</LeadType>
    <Name>sample string 1</Name>
  </LeadSource>
  <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 1</Message>
  <Person>
    <Address>
      <City>sample string 3</City>
      <StreetAddress>sample string 1</StreetAddress>
      <ZipCode>sample string 2</ZipCode>
    </Address>
    <Email xmlns:d3p1="http://schemas.datacontract.org/2004/07/Vitec.Housing.Connect.Api.Models">
      <d3p1:EmailAddress>sample string 1</d3p1:EmailAddress>
      <d3p1:EmailAddress2>sample string 2</d3p1:EmailAddress2>
    </Email>
    <FirstName>sample string 1</FirstName>
    <IsForeignSocialSecurityNumber>true</IsForeignSocialSecurityNumber>
    <LastName>sample string 2</LastName>
    <SocialSecurityNumber>sample string 3</SocialSecurityNumber>
    <Telephone xmlns:d3p1="http://schemas.datacontract.org/2004/07/Express.Connect.Api.Models">
      <d3p1:Other>sample string 4</d3p1:Other>
      <d3p1:Cell>sample string 3</d3p1:Cell>
      <d3p1:Home>sample string 1</d3p1:Home>
      <d3p1:Work>sample string 2</d3p1:Work>
    </Telephone>
  </Person>
  <Receiver>
    <Agent>
      <Email>sample string 2</Email>
      <Id>sample string 1</Id>
      <Office>
        <CustomerId>sample string 2</CustomerId>
        <Id>sample string 1</Id>
      </Office>
    </Agent>
    <Office>
      <CustomerId>sample string 2</CustomerId>
      <Id>sample string 1</Id>
    </Office>
    <UserGroup>
      <Id>sample string 1</Id>
    </UserGroup>
  </Receiver>
</PublicAdvertisingPersonLead>
Response Information Resource Description Skapar ett lead för en kontaktperson. Innan nya personer läggs in i systemet görs alltid en dubblettkontroll. Returvärde för metoden är id på leadet som skapades. string Kodexempel

curl "https://connect.maklare.vitec.net/PublicAdvertising/StringValue/Contact/Person/Lead" -X POST -H "Content-Type: application/json" -H "Authorization: basic {Base64 kodad användarnamn och lösenord}" -d {\"person\":{\"firstName\":\"StringValue\",\"lastName\":\"StringValue\",\"socialSecurityNumber\":\"StringValue\"},\"receiver\":{\"agent\":{\"id\":\"StringValue\",\"email\":\"StringValue\",\"office\":{\"id\":\"StringValue\",\"customerId\":\"StringValue\"}},\"userGroup\":{\"id\":\"StringValue\"},\"office\":{\"id\":\"StringValue\",\"customerId\":\"StringValue\"}},\"leadSource\":{\"leadType\":0,\"name\":\"StringValue\"}}
            

$URL = "https://connect.maklare.vitec.net/PublicAdvertising/StringValue/Contact/Person/Lead"
$data = "{`"person`":{`"firstName`":`"StringValue`",`"lastName`":`"StringValue`",`"socialSecurityNumber`":`"StringValue`"},`"receiver`":{`"agent`":{`"id`":`"StringValue`",`"email`":`"StringValue`",`"office`":{`"id`":`"StringValue`",`"customerId`":`"StringValue`"}},`"userGroup`":{`"id`":`"StringValue`"},`"office`":{`"id`":`"StringValue`",`"customerId`":`"StringValue`"}},`"leadSource`":{`"leadType`":0,`"name`":`"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 = "{\"person\":{\"firstName\":\"StringValue\",\"lastName\":\"StringValue\",\"socialSecurityNumber\":\"StringValue\"},\"receiver\":{\"agent\":{\"id\":\"StringValue\",\"email\":\"StringValue\",\"office\":{\"id\":\"StringValue\",\"customerId\":\"StringValue\"}},\"userGroup\":{\"id\":\"StringValue\"},\"office\":{\"id\":\"StringValue\",\"customerId\":\"StringValue\"}},\"leadSource\":{\"leadType\":0,\"name\":\"StringValue\"}}";
using (var response = await HttpClientInstance.PostAsync("PublicAdvertising/StringValue/Contact/Person/Lead", 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/PublicAdvertising/StringValue/Contact/Person/Lead";

$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 = "{\"person\":{\"firstName\":\"StringValue\",\"lastName\":\"StringValue\",\"socialSecurityNumber\":\"StringValue\"},\"receiver\":{\"agent\":{\"id\":\"StringValue\",\"email\":\"StringValue\",\"office\":{\"id\":\"StringValue\",\"customerId\":\"StringValue\"}},\"userGroup\":{\"id\":\"StringValue\"},\"office\":{\"id\":\"StringValue\",\"customerId\":\"StringValue\"}},\"leadSource\":{\"leadType\":0,\"name\":\"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>