Shoporama-appar
Nedan hittar du information om hur du utvecklar Shoporama Apps
Meny
1 En överblick
Sammantaget ger en Shoporama-app tillgång till två saker när en användare installerar den i sin butik:
REST-interfacet
at indsætte kode på udvalgte sider
Vem som helst kan skapa appar, men för att andra butiker ska kunna använda dina appar måste du bli godkänd.
2 Inställningar och preferenser
Inställningsalternativen för appar är
| Fält | Innehåll |
|---|---|
| Namn | Kort namn. Används i översikter och e-postmeddelanden. |
| Beskrivning | Längre beskrivning av vad din app gör. Det är inte möjligt att använda HTML-koder. Endast a-taggar för länkar. |
| Kategori | Valfri kategori |
| Tillgång till | Eftersom din app skapar en api-token i den butik som installerar appen kan du välja om du vill ha skriv-, läs- eller alla rättigheter till den api-token. |
| Pris per månad | Ett månadspris som din app kostar. En 80/20-delning görs, där Shoporama behåller 20% och betalar ut resten. När en app har övergått till aktiv kan du inte längre höja priset. Endast nedåt. |
| URL för återuppringning |
En URL som kan ta emot alla callbacks och events. Argumentet
Om din app använder fält där användaren kan ange information, kommer detta att inkluderas i För events och webhooks kommer anropet att innehålla de data som finns i våra events och webhooks. Dessa varierar beroende på om det är händelser eller produkter, order etc. För att validera om en återuppringning kommer från Shoporama lägger vi till rubriken |
| Endast tillåtet i följande butiker | Möjlighet att endast tillåta appen på ett antal webbshoppar. |
| Webhooks | Här väljer du vilka webhooks du vill ta emot. Du kan ta emot webhooks när ändringar görs i order (status, betald, skapad), produkter eller lager. |
| Händelser |
Här väljer du vilka händelser du vill ta emot. Händelser har möjlighet att skickas oftare än webhooks, till exempel när en användare lägger något i korgen eller går till kassan. Vi har följande 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-åtkomst
När en app installeras i en butik skapas en api-nyckel för appen och med den nyckeln kan du komma åt vårtrestgränssnitt för butiken i fråga. Api-nycklar skickas till din callback-url som fältetapp_token. Observera att samma regler gäller för api-åtkomst som för vanliga api-nycklar när det gäller användning.
Förutom att komma åt vårt vanliga restgränssnitt är det möjligt att få en lista över webbshoppar som har installerat din app genom att ringa:
GET /REST/app-status HTTP/2
Host: www.shoporama.dk
Authorization: App {din token}
Observera att auth-scheme är App.
4 Infoga kod
Det är möjligt att infoga kod på fyra ställen i de butiker som installerar appen:
<head>
<body>
</head>
</body>
Det är möjligt att infoga kod på alla sidor, eller bara produkter, målsidor, kategorier, statiska sidor, blogginlägg, eller på /search, /basket, /address, /shipping, /approve, /thanks, /order och /also.
Det är möjligt att använda Smarty-kod i den kod som infogas, och det är möjligt att komma åt de värden som användaren har angett i fält som <{$app_vars.var_name}>.
Ovanstående kan kombineras på vilket sätt du vill, så det går att infoga en kodbit i <head>på alla sidor, men på /thanks vill du lägga till något extra.
5 Fält
Med Fields kan du skapa några inmatningsfält som dina användare ska fylla i när de installerar appen. Du kan skapa så många fält du vill. Värdena inkluderas i callbacks när användaren uppdaterar inställningarna.
Vi stöder följande fälttyper:
text
integer
boolean
list
color
richtext
code
Externa fält
För både text- och listfält är det möjligt att använda externa värden.
Externa listor
För listor hämtas värdena från https://example.com/callback?type=field&name={namn} och ska returnera json i nyckel:värde -format:
{
"key1": "value1",
"key2": "value2"
}
Externa textfält
För textfält hämtas värdet från samma URL som för listor. Värdet visas som skrivskyddat för användaren. Formatet kan vara antingen en enkel textsträng eller JSON:
{
"value": "tekst værdi"
}
Eller bara returnera en enkel textsträng direkt.