Book a call

Fill out the form and we will call you back as soon as possible

Emergency situation

In case of emergencies or breakdowns, you can send an SMS to our emergency hotline

On-call phone (SMS only)

+45 29 70 15 95

Send an SMS with the following information:

  • Your name and webshop
  • Description of the problem
  • Your callback phone number

Notes: This service is only for critical situations where your webshop is down or has serious problems. For regular support, please use our normal support channels.

Shoporama Apps

Below you will find information on how to develop Shoporama Apps.

1 Overview

Overall, a Shoporama app provides access to two things when a user installs it on their shop:

1.

REST-interfacet

2.

at indsætte kode på udvalgte sider

Everyone can create apps as a starting point, but in order for other shops to use your apps, it requires approval.

2 Settings

The settings options for apps are:

Field Content
Name Short name. Used in overviews and emails.
Description Extended description of what your app does. It is not possible to use HTML codes. Only a-tags for links.
Category Optional category
Access 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.
Monthly price 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.
Callback URL

Én URL som kan modtage alle callbacks og events. Der tilføjes argumentet ?type={type} og &webshop_id={id} til alle kald, hvor type er nedenstående events eller hooks, og webshop_id er et unikt id på den pågældende webshop. Der sendes også tre events når app'en installeres, brugeren opdaterer indstillinger, og når den slettes. Disse er install, update, og uninstall. Sidstnævnte tre vil indeholde følgende json:

{
    "webshop_id": 1,
    "webshop_url": "https://www.example.com/",
    "app_token": "dcbfe5ad9e8af3495ca4582e364c1bce",
    "app_token_daily_limit": 10000,
    "app_token_current_usage": 200,
    "installed": 1692857535,
    "fields": {
    }
}

Bruger din app felter, hvor brugeren selv kan indtaste oplysninger, vil disse komme med i feltet fields.

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 x-app-token: {din token} til alle vores kald. Hvis den token matcher din egen, kommer callback'et fra Shoporama. Desuden komme alle callbacks fra localshoporama.dk, så du kan også checke på ip-adressen.

Only allow on the following shops Option to only allow the app on a series of webshops.
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.
Events

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 access

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}

Note that auth-scheme is App.

4 Add code

Det er muligt at indsætte kode fire steder på de shops der installerer app'en:

Efter <head>
Efter <body>
Før </head>
Før </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 Meta data

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.