Shoporama-apper
Nedenfor finner du informasjon om hvordan du utvikler Shoporama-apper
Meny
1 På et øyeblikk
Alt i alt gir en Shoporama-app tilgang til to ting når en bruker installerer den i butikken sin:
REST-interfacet
at indsætte kode på udvalgte sider
Hvem som helst kan lage apper, men for at andre butikker skal kunne bruke appene dine, må du godkjennes.
2 Innstillinger og preferanser
Innstillingsalternativene for apper er
Felt | Innhold |
---|---|
Navn | Kort navn. Brukes i oversikter og e-poster. |
Beskrivelse | Lengre beskrivelse av hva appen din gjør. Det er ikke mulig å bruke HTML-koder. Bare a-tagger for lenker. |
Kategori | Valgfri kategori |
Tilgang til | Fordi din app opretter en api-token i shoppen der installerer app'en kan du vælge om du vil have skrive, læse, eller alle rettigheder til den api-token. |
Pris per måned | En månedspris som din app koster. Der laves en 80/20 fordeling af beløbet, hvor Shoporama beholder de 20 %, og udbetaler resten. Når en app er skiftet til aktiv kan du ikke længere sætte prisen op. Kun ned. |
URL for tilbakekalling |
Én URL som kan modtage alle callbacks og events. Der tilføjes argumentet
Bruger din app felter, hvor brugeren selv kan indtaste oplysninger, vil disse komme med i feltet For events og webhooks vil kaldet indeholde de data som er indeholdt i vores events og webhooks. Disse varierer om det er events eller produkter, ordrer, m.m. For at validere om et callback kommer fra Shoporama tilføjer vi headeren
|
Kun tillatt i følgende butikker | Mulighet for å bare tillate appen på en rekke nettbutikker. |
Webhooks | Her vælger du hvilke webhooks du vil modtage. Du kan modtage webhooks når der foretages ændringer på ordre (status, betalt, oprettet), produkter, eller lager. |
Hendelser |
Her vælger du hvilke events du vil modtage. Events har mulighed for at blive sendt noget oftere end webhooks. Fx når en bruger lægger noget i kurven, eller går til betaling. Vi har følgende events: add_to_basket
update_basket
view_basket
view_address
view_shipping
view_approve
view_thanks
approved
order_created
paid
add_label
remove_label
|
3 REST-tilgang
Når en app installeres i en shop oprettes der en api-nøgle til app'en, og med den nøgle kan der tilgåes vores
rest-interface for den pågeældende shop. Api-nøgles sendes med til din callback url som feltet
app_token
. Bemærk at der for den api-adgang gælder samme regler som ved almindelige api-nøgler ift. forbrug.
Ud over adgang til vores almindelige rest-interface er det muligt at trække en liste over webshops der har installeret din app ved at kalde:
GET /REST/app-status HTTP/2
Host: www.shoporama.dk
Authorization: App {din token}
Merk at auth-scheme er App.
4 Sett inn kode
Det er muligt at indsætte kode fire steder på de shops der installerer app'en:
<head>
<body>
</head>
</body>
Det er muligt at indsætte kode på alle sider, eller kun produkter, landingssider, kategorier, statiske sider, blogindlæg, eller på /search, /basket, /address, /shipping, /approve, /thanks, /order, og /also.
Det er muligt at bruge Smarty-kode i den kode der indsættes, og det er muligt at tilgå de værdier brugeren har indtastet
under felter som <{$app_vars.var_name}>
.
Ovenstående kan kombineres på alle de måder man ønsker, så det er muligt at indsætte et stykke kode i <head>
på alle sider, men på /thanks vil man tilføje noget ekstra.
5 Felt
Felter gør det muligt for dig at oprette nogle input felter som dine brugere kan udfylder når de installerer app'en. Der kan oprettes så mange felter du ønsker. Værdierne kommer med i callbacks når brugeren opdaterer indstillingerne.
Vi understøtter følgende felttyper:
text
integer
boolean
list
color
richtext
code
Eksterne felter
For både text
og list
felter er det muligt at bruge eksterne værdier.
Eksterne lister
For lister trækkes værdierne fra https://example.com/callback?type=field&name={name}
, og skal returnere json i key:value
format:
{
"key1": "value1",
"key2": "value2"
}
Eksterne tekstfelter
For tekstfelter hentes værdien fra samme URL som lister. Værdien vises som read-only for brugeren. Formatet kan være enten en simpel tekststreng eller JSON:
{
"value": "tekst værdi"
}
Eller bare returner en simpel tekststreng direkte.