OpenSmiley

Åben søgning i findsmiley.dk

OpenSmiley.dk er en åben og gratis service, som giver mulighed for at finde resultaterne for de seneste kontrolrapport, som enhver dansk fødevarevirksomhed har fået.

OpenSmiley.dk er udviklet og vedligeholdt af Rasmus Bang Grouleff.

Data kommer fra findsmiley.dk og bliver opdateret en gang i døgnet.

Data er sidst opdateret 24. april 2014, 04.17

OpenSmiley.dk stiller et simpelt JSON API til rådighed for 3.parter til fremsøgning af resultater af kontrolrapporter.

API

API'et er et rent JSON API, og kræver naturligvis derfor, at klienter kan konsumere JSON. Dette kan hintes på to måder.
Enten kan man anvende .json som extension i URL'en, eller ved at inkludere en Accept: application/json HTTP header i requestet.

Der findes pt. kun en tilladt URL:

http://opensmiley.dk/companies
Denne accepterer en eller flere af paramtrene:

For alle parametre gælder der desuden, at man kan sende en liste af værdier. F.eks. hvis man ønsker at sende en forespørgel på to virksomheder udfra deres navneløbenumre,
kan det gøres vha. URL'en /companies?serial[]=91052641&serial[]=30355304.

Det er stærkt tilrådeligt at sende forespørgsler vha. lister, hvis man ønsker at hente flere resultater fremfor at sende flere requests.

Der returneres et array med en eller flere virksomhedsobjekter, som repræsenterer de oplysninger, som Findsmiley.dk stiller til rådighed om disse virksomheder.

En virksomhed indeholder flg. oplysninger:

Felt Beskrivelse
serial String - Navneløbenummeret, som identificerer det enkelte kontrolsted - dette bruges til at generere links til kontrolstedets rapporter på findsmiley.dk
cvr String - Virksomhedens CVR-nr
unit String - P-nr, produktionsenhedens nummer
name String - Virksomhedens navn
adProtection Boolean - Om virksomheden er reklamebeskyttet
eliteCode Integer - Om virksomheden har elitesmiley. 0: nej, 1: ja, 2: kan ikke få elitesmiley
address Objekt - Virksomhedens adresse
field Objekt - Virksomhedens branche; indeholder branchekode, branche-navn og om det er detail eller engros
inspections Array af objekter - De seneste fire kontrolrapporters tidspunkt og status. Status har værdien 1-4 (1 er glad, 4 er sur), og tidspunktet er en ISO 8601 formateret string

F.eks. vil følgende request

GET /companies?cvr=19254100 HTTP/1.1
Accept: application/json
kunne resultere i dette svar
[
    {
        "serial": "91052641",
        "cvr": "19254100",
        "unit": "1015346104",
        "name": "Hoth & Cold ",
        "adProtection": false,
        "eliteCode": 0,
        "address": {
            "street": "Marielyst Strandvej 61 B",
            "town": "Væggerløse",
            "postNumber": "4873",
            "lat": "54.690792",
            "lng": "11.966318"
        },
        "field": {
            "code": "56.10.00.C",
            "name": "Servering: Restauranter mv. - åbent op til 6 måneder om året",
            "type": "detail"
        },
        "inspections": [
            {
                "result": 1,
                "conductedAt": "2012-07-04T00:00:00+02:00"
            },
            {
                "result": 2,
                "conductedAt": "2012-05-30T00:00:00+02:00"
            },
            {
                "result": 1,
                "conductedAt": "2010-09-07T10:53:00+02:00"
            },
            {
                "result": 1,
                "conductedAt": "2010-05-12T12:00:00+02:00"
            }
        ]
    }
]

Feedback

Feedback i form af kommentarer, kritik, forslag og ideer modtages med kyshånd på mail: opensmiley@nerdd.dk.

Ps.: Be kind - der er ingen throttling af requests. Men hvis du går amokka og kaster bunkevis af requests afsted hele tiden, kommer jeg efter dig! Eller også smider jeg blot noget throttling på - hvilket kommer til at gå ud over alle.. Så opfør dig pænt :)