Udvikling med Ideanote

Tak for din interesse i at udvikle med Ideanote!

Ideanote er fra grunden bygget modulært og fleksibelt for at understøtte en lang række anvendelsesscenarier inden for innovation. Vores REST API er nem at integrere og giver dig mulighed for at oprette skræddersyede innovationsworkflows til din virksomhed – fra indsamling af ideer til administration af teams og synkronisering af data.

Introduktion

Ideanote API er organiseret omkring REST. Vores API har forudsigelige, ressourceorienterede URL'er, returnerer JSON-kodede svar og anvender standardiserede HTTP-svarstatuskoder, godkendelse og verber. API'et er tilstandsløst – alle anmodninger valideres mod et API-token.

API'et er versionsopdelt for at sikre bagudkompatibilitet: Den aktuelle version er v1.

API'ets aktuelle basis-URL er https://api.ideanote.io/v1/.

Bemærk, at URL-forespørgselsparameterfeltet er påkrævet for alle endepunkter.

Anvendelsesområder

Ideanote API tilbyder et omfattende sæt værktøjer til at integrere funktioner til idéhåndtering i din virksomhedsprocesser og eksisterende infrastruktur.

Nogle almindelige måder at bruge vores API på spænder fra at integrere Ideanote dybt i en applikation, du selv udvikler, til enklere anvendelser såsom at sende ideer til Ideanote eller synkronisere data mellem Ideanote og en anden applikation.

Se følgende eksempler:

  • Indsendelse af ideer: Indsaml automatisk ideer fra interne kommunikationsværktøjer og virtuelle møder via Ideanote API, og indsend dem direkte til Ideanote til evaluering.
  • Integration med projektstyring: Gør godkendte ideer til konkrete projekter på en problemfri måde med Ideanotes API ved at oprette opgaver eller projekter i projektstyringsværktøjer som Jira.
  • Feedback i appen: Send kundefeedback direkte fra dine applikationer til Ideanote via API'et for at understøtte struktureret, kundedrevet innovation.
  • Business Intelligence: Udtræk data om indsendte ideer til BI-analyse, og opret detaljerede rapporter om innovations-ROI, de bedste ideer og medarbejderbidrag med Ideanote API.
  • Anerkendelse af medarbejdere: Forbind Ideanote med HR-systemer for automatisk at belønne medarbejdere for deres bidrag til vellykkede ideer og dermed øge engagementet.
  • Overholdelse af databeskyttelsesregler: Sørg for overholdelse ved at bruge API'et til at administrere brugerdata, herunder søgning efter, opdatering af eller sletning af deaktiverede brugere fra dit centrale register.

Ved at udnytte Ideanote API på disse måder kan du skabe et mere integreret, effektivt og engagerende innovationsøkosystem for din virksomhed.

Grundlæggende om REST API

Ideanotes API er en REST-baseret grænseflade, hvilket betyder, at applikationer sender anmodninger til API'et ved at tilgå specifikke URL'er via HTTPS. Hver anmodning er en enkeltstående, selvstændig handling.

Basis-URL'en for alle API-kald er https://api.ideanote.io/v1/, og specifikke stier føjes til denne basis-URL for at få adgang til forskellige ressourcer. For eksempel føjes /v1/idea_collections til URL'en for at få vist en liste over idesamlinger.

Godkendelse er afgørende for brugen af Ideanote API'et og kræver, at et adgangstoken medtages i HTTP-headeren som Authorization: Bearer YOUR_TOKEN. Dette sikrer sikker adgang til dine workspace-data, begrænset til den bruger, der oprettede adgangstokenet. Derudover skal alle API-kald indeholde en Accept: application/json-header, som angiver, at dataudvekslingsformatet er JSON, det eneste format, som API'et understøtter.

API'et er organiseret omkring ressourcer, som identificeres i URL'en og håndteres via HTTP-verber som GET, POST, PUT og DELETE. Disse verber angiver den handling, du ønsker at udføre, såsom at forespørge, tilføje, opdatere eller slette.

Parametre spiller en væsentlig rolle for API'ets funktionalitet. Forespørgselsparametre angiver detaljer for GET-anmodninger, mens data i brødteksten anvendes til PUT- og POST-anmodninger. Dette muliggør nuancerede interaktioner med API'et, f.eks. gennemgang af resultater side for side eller opdatering af data for bestemte ressourcer.

Fejlhåndtering i Ideanote API'et benytter standardiserede HTTP-statuskoder til at angive, om anmodninger lykkes eller mislykkes. Almindelige koder omfatter 200 for succes, 400 for ugyldige anmodninger, 429 for overskridelse af brugsgrænser og 500 for interne serverfejl.

Ideanotes datastruktur

Ideanotes arkitektur er designet til at afspejle innovationens hierarkiske og samarbejdsprægede karakter i virksomheder. Denne struktur understøtter en organiseret tilgang til håndtering af ideer fra begyndelse til udførelse i et digitalt workspace, der er tilpasset effektivitet.

Nedenfor gennemgår vi de primære komponenter i Ideanotes datastruktur for at hjælpe udviklere med at navigere på og udnytte platformen effektivt.

Workspaces: Et workspace er det øverste lag i Ideanote. Det organiserer alt, der vedrører innovation, på ét centralt sted for virksomhedens ideer.

Sektioner: Sektioner opdeler workspacet i mere overskuelige visuelle områder, f.eks. forskellige afdelinger eller emner. Det gør det lettere at holde virksomhedens innovationsarbejde organiseret.

Idesamlinger: Idesamlinger er steder, hvor ideer om bestemte emner samles. De omfatter faser, som en ide skal gennemgå, og hjælper med at strukturere udviklingsprocessen fra start til slut.

Faser og ideer: Faser er de trin, en ide gennemgår i en samling, fra idé til færdiggørelse. Ideer er de grundlæggende elementer her; de indsendes af brugere og videreudvikles gennem kommentarer, likes og deres fremdrift gennem disse faser. Hver ide er baseret på en tilpasset formular med idefelter, som virksomheden har defineret. Afhængigt af konteksten kan der være forskellige formularer for hver idesamling.

Brugere, teams og roller: I et Workspace bidrager brugerne og kan grupperes i teams for at samarbejde. Brugere har roller som Workspace Owner, Admin, Member og Guest, der kan give mere eller mindre adgang til indstillinger, oprettelse af idesamlinger og håndtering af indhold .

Adgang og tilladelser: Adgang til idesamlinger administreres via delingsindstillinger, ikke roller. Det betyder, at en brugers mulighed for at se, bidrage til eller interagere med idesamlinger afhænger af, om de er delt med brugeren eller vedkommendes team. Dermed kan de rette personer fokusere på de relevante opgaver.

Udviklere kan finde flere oplysninger om brugerniveauer og tilladelser i Ideanotes hjælpecenter.

Adgang til API'et

For at komme i gang med Ideanote API'et skal du generere dit API-adgangstoken under Indstillinger > Konto > API-token i Ideanote-appen.

Du skal som minimum have administratorniveau for at få adgang, og hver bruger har via API'et adgang til de enheder og data, som vedkommende har adgang til som bruger i Ideanote-appen.

Du kan have flere API-tokens til brug på tværs af forskellige applikationer. Hvert token kan tilbagekaldes individuelt.

Vores API'er er gratis at bruge for kunder med et betalt abonnement.

Eksempler på API-kald

Denne vejledning viser dig, hvordan du foretager dit første API-kald til Ideanote API'et og henter en liste over ideer fra en idesamling.

Trin 1: Generér et Ideanote API-adgangstoken

Her er en trinvis vejledning i godkendelse

Du skal sende dette token på 43 tegn i en Authorization-header af typen Bearer Token i alle HTTPS-anmodninger, du sender til Ideanotes API, for at få adgang til indholdet på din konto. Her er et eksempel på en Authorization-header:

Authorization: Bearer ea5b9e4********************

Trin 2: Vis en liste over idesamlinger via API'et

Kald endepunktet for idesamlinger for at få vist alle de idesamlinger, som din bruger har adgang til.

curl -X GET "https://api.ideanote.io/v1/idea_collections" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <API Token>"

Ovenstående kommando returnerer JSON struktureret således:

[
    {
        "id": "020166b4-8846-4896-b2ac-9074fd3a1b2c",
        "title": "Example Idea Collection",
        "question": "How might we improve the coffee?",
        "details": null,
        "stats": {
            "ideas": {
                "total": 3
            }
        },
        "cover": {
            "url": {
                "thumbnail": "https://uploads.staging.ideanote.dev/staging/v1/f985c93c-bcbd-e67f-31e5-d54f965a5fe1/download_original"
            }
        }
    }
]

Trin 3: Vælg en idesamling, og vis en liste over ideer

Kald endpointet for at vise ideer i en bestemt idesamling. Eksemplet nedenfor har udfyldt id'et i formatet her og indeholder URL-parametre, der returnerer metadata og idefelter, herunder felttitler, typer og værdier.

curl -X GET "https://api.ideanote.io/v1/idea_collections/020166b4-8846-4896-b2ac-9074fd3a1b2c/ideas?fields=id,friendlyId,keywords,status.title,phase.name,fields.{kind,title,value},owner.{firstName}" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <API Token>"

Trin 4: Behandling af JSON-svaret

HTTPS-svaret vil være en liste over ideer formateret som JSON.

Hvert idefelt har en titel og en værdi. Hvis du leder efter bestemt indhold, f.eks. beskrivelsen af en ide, kan du søge efter :id med den pågældende titel og derefter behandle værdien for dette idefelt. Idefelter angives med deres ID for at sikre, at API'et forbliver konsistent, selvom et idefelt omdøbes i Ideanote-appen.

Du kan på forhånd finde ID'erne for idefelter i Ideanote-appen under Formularer > Felter > Kopiér ID.

[
    {
        "id": "38494f31-4edc-414c-8320-e1aa8988e7aa",
        "friendlyId": 2,
        "keywords": ["bad", "idea", "bad", "idea"],
        "status": {
            "title": "On Track"
        },
        "phase": {
            "name": "Comment"
        },
        "fields": [
            {
                "kind": "LONG_TEXT",
                "title": "Description",
                "value": "This is a bad idea"
            },
            {
                "kind": "SHORT_TEXT",
                "title": "Title",
                "value": "Bad Idea"
            }
        ],
        "owner": {
            "firstName": "Test"
        }
    },
    {
        "id": "da011987-cfa9-49fa-b331-bb4ca0b2fa1b",
        "friendlyId": 1,
        "keywords": ["great", "idea", "great", "idea"],
        "status": {
            "title": "On Track"
        },
        "phase": {
            "name": "Comment"
        },
        "fields": [
            {
                "kind": "SHORT_TEXT",
                "title": "Title",
                "value": "Great Idea"
            },
            {
                "kind": "LONG_TEXT",
                "title": "Description",
                "value": "This is a great idea"
            }
        ],
        "owner": {
            "firstName": "Test"
        }
    }
]