Annonskostnad: 69 kr Annonsen visas i 60 dagar. Du får mail i god tid om du vill förlänga ytterligare.
Tillägg: Annonsera på Facebook/Instagram19 kr Gör annonsen synlig och sökbar på Facebook. Den publiceras på https://facebook.com/mcparken-annonser. Annonsen kan inte förlängas.
Tillägg: Hamna överst varje vecka i max 7 veckor119 kr Visa annonsen överst i flödet varje vecka i max sju veckor.
Change language? Click on the top Globe Icon
mcparken är ett varumärke med en ambition att bli nummer ett för hela motorcykel- och snöskotermarknaden i såväl Sverige som Norden för både privatpersoner och företag med teknik och tjänster i framkant för att öka digitaliseringen och sänka kostnader för hela branschen. I en utmanande tid startade mcparken bara några veckor före pandemin och motorcykelmässan i Göteborg 2020. Det började med en annons och en besökare. Därifrån har resan varit minst sagt utmanande med såväl pandemier, stigande räntor, krig och oroligheter. Då det finns konkurrenter på marknaden som är väldigt starka, bestämde vi oss tidigt att det här blir inte lätt, och kommer ta tid, lång tid. Idag har det gått fyra år, tusentals timmar har producerat såväl tjänster som digitalt innehåll och vi har nu ett erkänt varumärke, 54.000 annonser har skapat och drygt 45 miljoner besök har hittat till mcparken vilket innebär era varumärken, annonser och tjänster.
En av grundstenarna till ökade besök är och har varit att vi ger detaljerad information om vad lån kostar, information om motorcykeln och inte minst registreringsnummer där det går att få fram för att behålla användaren så länge som möjligt på er annons. I och med registreringsnummer kan vi med vår sponsor biluppgifter.se fylla på våra annonser med information som km/h, vikt, däckdimension, sitthöjd, växlar och mycket mer. Men det har krävt manuellt arbete att titta igenom alla annonser efter en registreringsskylt, manuellt knappa in den i systemet och hämta ut informationen. De 6.000 första annonserna skrevs också in helt manuellt.
I takt med att vi fick med flera handlare så har mängden annonser ökat och ökat vilket gör att det inte räcker med en timma per dag att göra detta manuella arbetet. Det var då vi byggde den första motorn för att hämta in annonserna automatiskt. Varje månad så läses det in hundratals annonser både från företag och privatpersoner, men att få registreringsnummer var lika omfattande. Vi har länge funderat på en lösning men inte hittat något fram tills hösten 2024. Då kom vi i kontakt med en produkt och tjänst som heter Plate Recognizer. Ett företag som har specialiserat sig på tjänster att kunna läsa av nummerplåtsinformation både snabbt och träffsäkert.
Vi tecknade upp ett konto och började använda oss av tjänsten för att se hur bar och träffsäker den var. Tjänsten kördes i bakgrunden och uppdaterade inte någon information, bara samlade antalet träffar på registreringsnummer för att sedan manuellt tittas igenom. Till min förvåning var det nästan 95% av de nummerplåtar som syntes på någon bild - kunde också läsa av rätt information!
Efter några månaders test valde vi att implementera det i produktion och sedan i december har systemet för varje annons som läggs ut, sökt nummerplåt och när vi är säkra på att det är ett registreringsnummer (genom kontrollrutiner för att validera registreringnummer) så skickas informationen till biluppgifter.se för att hämta ut fordonsinformationen. I detta skede så uppdateras annonsen med ytterligare information. Det är därför det är så fördelaktigt att en mc-handlare tar någon av bilderna relativt rakt bakifrån för att kunna läsas av. Här kan jag berätta att tjänsten är väldigt duktig på att läsa av relativt avancerade vinkar ibland. Det som oftast missas på är om det är för starkt ljus i närheten av nummerplåten, men det är väldigt sällan det sker.
Det vi önskar framöver är att de annonsörer som lägger upp 10-15 bilder så vet man inte vilken bild som är registreringsnummer. Så vi börjar med att skicka in bild efter bild. När vi får en träff så avbryter vi och hämtar informationen, sen går vi till nästa annons. Här skulle det vara önskvärt att annonsören sorterade bild med registreringsnummer bland de första för att snabba upp processen och minska antalet anrop.
I och med denna fantastiskt stabila och effektiva tjänst så kan vi tillföra mervärde på våra annonser såväl för den som vill kontakta försäkringsbolag för att räkna ut premie samt att få all information samlad på en sida för kunden, något som vi verkligen har fokuserat mycket på. Kunden ska inte behöva lämna annonsen utan se det som behövs för att kunna visa sitt intresse att köpa fordonet.
Nu när motorcykelsäsongen börjar ta fart så ökar också antalet annonser och bilder. Testkontot tog slut och därför är vi Vi är mycket tacksamma och stolta att presentera vår sponsor från Budapest, https://platerecognizer.com som erbjuder detta fantastiska system som vilken tjänst eller företag kan implementera själva som en tjänst eller en del av en produkt som ett företag eller startup vill ta fram och utveckla. Ett gratiskonto är väldigt generöst, 2500 anrop per månad erbjuds. Vi tackar så mycket för att vi har fått stöd och hjälp samt support vid testning av detta system. Även om vi hade kunnat klara det själv så är det tryggt att veta att det finns mängder med kunskap runt denna tjänst.
För den som vill veta hur ett anrop ser ut så är det väldigt enkelt. Du skickar en bild till en adress och får tillbaka två svar. Dels ett förslag på registreringsnummer samt ett trolighetsvärde på att detta är ett registreringsnummer. Svårare än så är det inte. Här kommer en exempelkod för att visa hur tjänsten fungerar. Om du är intresserad och funderar på att bygga tjänster likt denna och vill kontakta oss eller platerecognizer så tveka inte att höra av dig. Jag är referens till denna tjänst när som helst, den är fantastisk!
Här visar jag ett enkelt exempel på hur du använder platerecognizer och deras API för att skicka in en bild och få tillbaka information samt sannolikhet på att det är ett registreringsnummer. Det bästa med rutinen är att den klarar flera typer, speciellt motorcyklar som har två rader på registreringsnummer att läsa av. Nedan kod är baserat på dokumentationen för tjänsten, https://guides.platerecognizer.com/docs/snapshot/api-reference/#introduction.
Nytt för tjänsten är också att de har en webbhook om man vill använda asynkrona resultat.
Public Class Product_VinResponse Public Property Value As String Public Property StatusId As String Public Property AdminResult As String Public Property brand As String Public Property model As String Public Property year As String Public Property regnr As String Public Property score As String Public Property viechletype As StringEnd ClassPublic Shared Function MakeRequestToOCRScanner(filePath As String) As Product_VinResponse Dim token As String = "25..." Dim regions As String = "se" Dim cameraId As String = "" Dim uploadBase64 As Boolean = False Dim sdkUrl As String = "https://api.platerecognizer.com/v1/plate-reader/" ' lagra resultatet Dim objresponse As New Product_VinResponse Debug.WriteLine("Startar Request..") Using httpClient As New HttpClient() Dim formData As New MultipartFormDataContent() Dim fileName As String = Path.GetFileName(filePath) Dim fileBytes As Byte() = File.ReadAllBytes(filePath) formData.Add(New ByteArrayContent(fileBytes), "upload", fileName) If Not String.IsNullOrEmpty(regions) Then formData.Add(New StringContent(regions), "regions") End If If Not String.IsNullOrEmpty(token) Then httpClient.DefaultRequestHeaders.Authorization = New Headers.AuthenticationHeaderValue("Token", token) End If ' returnerar "Created" Dim response = httpClient.PostAsync(sdkUrl, formData).Result ' Mer detaljerad responsanalys Dim responseBody As String = response.Content.ReadAsStringAsync().Result If response.IsSuccessStatusCode Then ' Omvandla JSON till dynamiskt objekt Dim jsonObject As JObject = JObject.Parse(responseBody) ' Använd JSON-objektet direkt ' Debug.WriteLine($"Full response: {jsonObject.ToString()}") ' hämtar ut datat .. Dim results As JArray = jsonObject("results") For Each result As JObject In results Dim plate As String = result("plate").ToString().ToUpper Dim score As Double = result("score").ToObject(Of Double)() If plate.Length = 6 Then objresponse.regnr = plate objresponse.score = score Else ' skicka inte tillbaka någon information alls End If Debug.WriteLine($"Plate: {plate}") Debug.WriteLine($"Score: {score}") ' Hämta fordonsinformation om det finns Dim vehicle As JObject = result("vehicle") If vehicle IsNot Nothing Then Dim vehicleType As String = vehicle("type").ToString() Dim vehicleScore As Double = vehicle("score").ToObject(Of Double)() objresponse.viechletype = vehicleType Debug.WriteLine($"Vehicle Type: {vehicleType}") Debug.WriteLine($"Vehicle Score: {vehicleScore}") End If Next Else Debug.WriteLine($"HTTP Error: {response.StatusCode}") Debug.WriteLine($"Response Body: {responseBody}") End If End Using Return objresponse End Function
Public Class Product_VinResponse
Public Property Value As String
Public Property StatusId As String
Public Property AdminResult As String
Public Property brand As String
Public Property model As String
Public Property year As String
Public Property regnr As String
Public Property score As String
Public Property viechletype As String
End Class
Public Shared Function MakeRequestToOCRScanner(filePath As String) As Product_VinResponse
Dim token As String = "25..."
Dim regions As String = "se"
Dim cameraId As String = ""
Dim uploadBase64 As Boolean = False
Dim sdkUrl As String = "https://api.platerecognizer.com/v1/plate-reader/"
' lagra resultatet
Dim objresponse As New Product_VinResponse
Debug.WriteLine("Startar Request..")
Using httpClient As New HttpClient()
Dim formData As New MultipartFormDataContent()
Dim fileName As String = Path.GetFileName(filePath)
Dim fileBytes As Byte() = File.ReadAllBytes(filePath)
formData.Add(New ByteArrayContent(fileBytes), "upload", fileName)
If Not String.IsNullOrEmpty(regions) Then
formData.Add(New StringContent(regions), "regions")
End If
If Not String.IsNullOrEmpty(token) Then
httpClient.DefaultRequestHeaders.Authorization = New Headers.AuthenticationHeaderValue("Token", token)
' returnerar "Created"
Dim response = httpClient.PostAsync(sdkUrl, formData).Result
' Mer detaljerad responsanalys
Dim responseBody As String = response.Content.ReadAsStringAsync().Result
If response.IsSuccessStatusCode Then
' Omvandla JSON till dynamiskt objekt
Dim jsonObject As JObject = JObject.Parse(responseBody)
' Använd JSON-objektet direkt
' Debug.WriteLine($"Full response: {jsonObject.ToString()}")
' hämtar ut datat ..
Dim results As JArray = jsonObject("results")
For Each result As JObject In results
Dim plate As String = result("plate").ToString().ToUpper
Dim score As Double = result("score").ToObject(Of Double)()
If plate.Length = 6 Then
objresponse.regnr = plate
objresponse.score = score
Else
' skicka inte tillbaka någon information alls
Debug.WriteLine($"Plate: {plate}")
Debug.WriteLine($"Score: {score}")
' Hämta fordonsinformation om det finns
Dim vehicle As JObject = result("vehicle")
If vehicle IsNot Nothing Then
Dim vehicleType As String = vehicle("type").ToString()
Dim vehicleScore As Double = vehicle("score").ToObject(Of Double)()
objresponse.viechletype = vehicleType
Debug.WriteLine($"Vehicle Type: {vehicleType}")
Debug.WriteLine($"Vehicle Score: {vehicleScore}")
Next
Debug.WriteLine($"HTTP Error: {response.StatusCode}")
Debug.WriteLine($"Response Body: {responseBody}")
End Using
Return objresponse
End Function
Backroads Adventure-mässan 18-19:e april i Stockholm! https://www.backroads.eu
Registrera dig eller värva en medlem , tävla om 2 fribiljetter på söndag. Ange personens epost-adress och invänta deras registrering, klart! Vinnare presenteras med personlig kontakt den 17:e april.
Få notis direkt när: • Pris sänks på bevakade annonser • Nya hojar läggs upp • Livesändningar startar