Developers

Riferimento API per sviluppatori

An API key is required for requests to be processed by the system. Once a user registers, an API key is automatically generated for this user.

Iniziare

È necessaria una chiave API affinché le richieste vengano elaborate dal sistema. Una volta che un utente si registra, viene generata automaticamente una chiave API per questo utente. La chiave API deve essere inviata con ogni richiesta (vedi esempio completo di seguito). Se la chiave API non viene inviata o è scaduta, si verificherà un errore. Assicurati di mantenere segreta la tua chiave API per prevenire abusi.

Autenticazione

Per autenticarti con il sistema API, devi inviare la tua chiave API come token di autorizzazione con ogni richiesta. Puoi vedere il codice di esempio di seguito.

curl --location --request POST 'http://www.s-kip.eu/api/account' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \ 

Limite di tariffa

La nostra API ha un limitatore di velocità per salvaguardare da picchi di richieste per massimizzarne la stabilità. Il nostro limitatore di velocità è attualmente limitato a 30 richieste al 1 minuto. Please note that the rate might change according to the subscribed plan.

Insieme alla risposta verranno inviate diverse intestazioni che possono essere esaminate per determinare varie informazioni sulla richiesta.

X-RateLimit-Limit: 30X-RateLimit-Remaining: 29X-RateLimit-Reset: TIMESTAMP

Gestione della risposta

Tutte le risposte API vengono restituite in formato JSON per impostazione predefinita. Per convertirli in dati utilizzabili, sarà necessario utilizzare la funzione appropriata in base alla lingua. In PHP, la funzione json_decode() può essere utilizzata per convertire i dati in un oggetto (predefinito) o in un array (impostare il secondo parametro su true). È molto importante controllare la chiave di errore in quanto fornisce informazioni sull'eventuale presenza di un errore. Puoi anche controllare il codice dell'intestazione.

{
    "error": 1,
    "message": "An error occurred"
}

Ottieni account

GET http://www.s-kip.eu/api/account

Per ottenere informazioni sull'account, puoi inviare una richiesta a questo endpoint che restituirà i dati sull'account.

curl --location --request GET 'http://www.s-kip.eu/api/account' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": 0,
    "data": {
        "id": 1,
        "email": "sample@domain.com",
        "username": "sampleuser",
        "avatar": "https:\/\/domain.com\/content\/avatar.png",
        "status": "pro",
        "expires": "2022-11-15 15:00:00",
        "registered": "2020-11-10 18:01:43"
    }
}

Aggiorna account

PUT http://www.s-kip.eu/api/account/update

Per aggiornare le informazioni sull'account, puoi inviare una richiesta a questo endpoint che aggiornerà i dati sull'account.

curl --location --request PUT 'http://www.s-kip.eu/api/account/update' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "newemail@google.com",
    "password": "NewPassword1"
}'

Risposta del server

{
    "error": 0,
    "message": "Account has been successfully updated."
}

Campagne

List Campaigns

GET http://www.s-kip.eu/api/campaigns?limit=2&page=1

To get your campaigns via the API, you can use this endpoint. You can also filter data (See table for more info).

Parametro Descrizione
limit (optional) Per page data result
page (optional) Current page request
curl --location --request GET 'http://www.s-kip.eu/api/campaigns?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": "0",
    "data": {
        "result": 2,
        "perpage": 2,
        "currentpage": 1,
        "nextpage": 1,
        "maxpage": 1,
        "campaigns": [
            {
                "id": 1,
                "name": "Sample Campaign",
                "public": false,
                "rotator": false,
                "list": "https:\/\/domain.com\/u\/admin\/list-1"
            },
            {
                "id": 2,
                "domain": "Facebook Campaign",
                "public": true,
                "rotator": "https:\/\/domain.com\/r\/test",
                "list": "https:\/\/domain.com\/u\/admin\/test-2"
            }
        ]
    }
}

Crea una campagna

POST http://www.s-kip.eu/api/campaign/add

A campaign can be added using this endpoint.

Parametro Descrizione
name (optional) Campaign name
slug (optional) Rotator Slug
public (optional) Access
curl --location --request POST 'http://www.s-kip.eu/api/campaign/add' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "New Campaign",
    "slug": "new-campaign",
    "public": true
}'

Risposta del server

{
    "error": 0,
    "id": 3,
    "domain": "New Campaign",
    "public": true,
    "rotator": "https:\/\/domain.com\/r\/new-campaign",
    "list": "https:\/\/domain.com\/u\/admin\/new-campaign-3"
}
POST http://www.s-kip.eu/api/campaign/:campaignid/assign/:linkid

A short link can be assigned to a campaign using this endpoint. The endpoint requires the campaign ID and the short link ID.

curl --location --request POST 'http://www.s-kip.eu/api/campaign/:campaignid/assign/:linkid' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": 0,
    "message": "Link successfully added to the campaign."
}

Aggiorna campagna

PUT http://www.s-kip.eu/api/campaign/:id/update

To update a campaign, you need to send a valid data in JSON via a PUT request. The data must be sent as the raw body of your request as shown below. The example below shows all the parameters you can send but you are not required to send all (See table for more info).

Parametro Descrizione
name (required) Campaign name
slug (optional) Rotator Slug
public (optional) Access
curl --location --request PUT 'http://www.s-kip.eu/api/campaign/:id/update' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "Twitter Campaign",
    "slug": "twitter-campaign",
    "public": true
}'

Risposta del server

{
    "error": 0,
    "id": 3,
    "domain": "Twitter Campaign",
    "public": true,
    "rotator": "https:\/\/domain.com\/r\/twitter-campaign",
    "list": "https:\/\/domain.com\/u\/admin\/twitter-campaign-3"
}

Delete Campaign

DELETE http://www.s-kip.eu/api/campaign/:id/delete

To delete a campaign, you need to send a DELETE request.

curl --location --request DELETE 'http://www.s-kip.eu/api/campaign/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": 0,
    "message": "Campaign has been deleted successfully."
}

List Channels

GET http://www.s-kip.eu/api/channels?limit=2&page=1

To get your channels via the API, you can use this endpoint. You can also filter data (See table for more info).

Parametro Descrizione
limit (optional) Per page data result
page (optional) Current page request
curl --location --request GET 'http://www.s-kip.eu/api/channels?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": "0",
    "data": {
        "result": 2,
        "perpage": 2,
        "currentpage": 1,
        "nextpage": 1,
        "maxpage": 1,
        "channels": [
            {
                "id": 1,
                "name": "Channel 1",
                "description": "Description of channel 1",
                "color": "#000000",
                "starred": true
            },
            {
                "id": 2,
                "name": "Channel 2",
                "description": "Description of channel 2",
                "color": "#FF0000",
                "starred": false
            }
        ]
    }
}

List Channel Items

GET http://www.s-kip.eu/api/channel/:id?limit=1&page=1

To get items in a select channels via the API, you can use this endpoint. You can also filter data (See table for more info).

Parametro Descrizione
limit (optional) Per page data result
page (optional) Current page request
curl --location --request GET 'http://www.s-kip.eu/api/channel/:id?limit=1&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": "0",
    "data": {
        "result": 2,
        "perpage": 2,
        "currentpage": 1,
        "nextpage": 1,
        "maxpage": 1,
        "items": [
            {
                "type": "links",
                "id": 1,
                "title": "My Sample Link",
                "preview": "https:\/\/google.com",
                "link": "http:\/\/www.s-kip.eu\/google",
                "date": "2022-05-12"
            },
            {
                "type": "bio",
                "id": 1,
                "title": "My Sample Bio",
                "preview": "http:\/\/www.s-kip.eu\/mybio",
                "link": "http:\/\/www.s-kip.eu\/mybio",
                "date": "2022-06-01"
            }
        ]
    }
}

Crea un canale

POST http://www.s-kip.eu/api/channel/add

A channel can be added using this endpoint.

Parametro Descrizione
name (required) Channel name
description (optional) Channel description
color (optional) Channel badge color (HEX)
starred (optional) Star the channel or not (true or false)
curl --location --request POST 'http://www.s-kip.eu/api/channel/add' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "New Channel",
    "description": "my new channel",
    "color": "#000000",
    "starred": true
}'

Risposta del server

{
    "error": 0,
    "id": 3,
    "name": "New Channel",
    "description": "my new channel",
    "color": "#000000",
    "starred": true
}

Assign an Item to a Channel

POST http://www.s-kip.eu/api/channel/:channelid/assign/:type/:itemid

An item can be assigned to any channel by sending a request with the channel id, item type (links, bio or qr) and item id.

Parametro Descrizione
:channelid (required) Channel ID
:type (required) links or bio or qr
:itemid (required) Item ID
curl --location --request POST 'http://www.s-kip.eu/api/channel/:channelid/assign/:type/:itemid' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": 0,
    "message": "Item successfully added to the channel."
}

Aggiorna canale

PUT http://www.s-kip.eu/api/channel/:id/update

To update a channel, you need to send a valid data in JSON via a PUT request. The data must be sent as the raw body of your request as shown below. The example below shows all the parameters you can send but you are not required to send all (See table for more info).

Parametro Descrizione
name (optional) Channel name
description (optional) Channel description
color (optional) Channel badge color (HEX)
starred (optional) Star the channel or not (true or false)
curl --location --request PUT 'http://www.s-kip.eu/api/channel/:id/update' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "Acme Corp",
    "description": "channel for items for Acme Corp",
    "color": "#FFFFFF",
    "starred": false
}'

Risposta del server

{
    "error": 0,
    "message": "Channel has been updated successfully."
}

Delete Channel

DELETE http://www.s-kip.eu/api/channel/:id/delete

To delete a channel, you need to send a DELETE request. All items will be unassigned as well.

curl --location --request DELETE 'http://www.s-kip.eu/api/channel/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": 0,
    "message": "Channel has been deleted successfully."
}

Codici QR

List QR codes

GET http://www.s-kip.eu/api/qr?limit=2&page=1

Per ottenere i tuoi codici QR tramite l'API, puoi utilizzare questo endpoint. Puoi anche filtrare i dati (vedi tabella per maggiori informazioni).

Parametro Descrizione
limit (optional) Per page data result
page (optional) Current page request
curl --location --request GET 'http://www.s-kip.eu/api/qr?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": "0",
    "data": {
        "result": 2,
        "perpage": 2,
        "currentpage": 1,
        "nextpage": 1,
        "maxpage": 1,
        "qrs": [
            {
                "id": 2,
                "link": "http:\/\/www.s-kip.eu\/qr\/a2d5e",
                "scans": 0,
                "name": "Google",
                "date": "2020-11-10 18:01:43"
            },
            {
                "id": 1,
                "link": "http:\/\/www.s-kip.eu\/qr\/b9edfe",
                "scans": 5,
                "name": "Google Canada",
                "date": "2020-11-10 18:00:25"
            }
        ]
    }
}

Ottieni un unico QR Code

GET http://www.s-kip.eu/api/qr/:id

Per ottenere i dettagli per un singolo codice QR tramite l'API, puoi utilizzare questo endpoint.

curl --location --request GET 'http://www.s-kip.eu/api/qr/:id' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": 0,
    "details": {
        "id": 1,
        "link": "http:\/\/www.s-kip.eu\/qr\/b9edfe",
        "scans": 5,
        "name": "Google Canada",
        "date": "2020-11-10 18:00:25"
    },
    "data": {
        "clicks": 1,
        "uniqueClicks": 1,
        "topCountries": {
            "Unknown": "1"
        },
        "topReferrers": {
            "Direct, email and other": "1"
        },
        "topBrowsers": {
            "Chrome": "1"
        },
        "topOs": {
            "Windows 10": "1"
        },
        "socialCount": {
            "facebook": 0,
            "twitter": 0,
            "instagram": 0
        }
    }
}

Crea un codice QR

POST http://www.s-kip.eu/api/qr/add

To create a QR Code, you need to send a valid data in JSON via a POST request. The data must be sent as the raw body of your request as shown below. The example below shows all the parameters you can send but you are not required to send all (See table for more info).

Parametro Descrizione
type (required) text | vcard | link | email | phone | sms | wifi
data (required) Data to be embedded inside the QR code. The data can be string or array depending on the type
background (optional) RGB color e.g. rgb(255,255,255)
foreground (optional) RGB color e.g. rgb(0,0,0)
logo (optional) Path to the logo either png or jpg
name (optional) QR Code name
curl --location --request POST 'http://www.s-kip.eu/api/qr/add' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "type": "link",
    "data": "https:\/\/google.com",
    "background": "rgb(255,255,255)",
    "foreground": "rgb(0,0,0)",
    "logo": "https:\/\/site.com\/logo.png",
    "name": "QR Code API"
}'

Risposta del server

{
    "error": 0,
    "id": 3,
    "link": "http:\/\/www.s-kip.eu\/qr\/a58f79"
}

Update QR Code

PUT http://www.s-kip.eu/api/qr/:id/update

Per aggiornare un codice QR, devi inviare un dato valido in JSON tramite una richiesta PUT. I dati devono essere inviati come corpo grezzo della tua richiesta come mostrato di seguito. L'esempio seguente mostra tutti i parametri che puoi inviare ma non è necessario inviarli tutti (vedi tabella per maggiori informazioni).

Parametro Descrizione
data (required) Data to be embedded inside the QR code. The data can be string or array depending on the type
background (optional) RGB color e.g. rgb(255,255,255)
foreground (optional) RGB color e.g. rgb(0,0,0)
logo (optional) Path to the logo either png or jpg
curl --location --request PUT 'http://www.s-kip.eu/api/qr/:id/update' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "type": "link",
    "data": "https:\/\/google.com",
    "background": "rgb(255,255,255)",
    "foreground": "rgb(0,0,0)",
    "logo": "https:\/\/site.com\/logo.png"
}'

Risposta del server

{
    "error": 0,
    "message": "QR has been updated successfully."
}

Elimina un codice QR

DELETE http://www.s-kip.eu/api/qr/:id/delete

Per eliminare un codice QR, è necessario inviare una richiesta DELETE.

curl --location --request DELETE 'http://www.s-kip.eu/api/qr/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": 0,
    "message": "QR Code has been deleted successfully."
}

Domini di marca

List Branded Domains

GET http://www.s-kip.eu/api/domains?limit=2&page=1

To get your branded domains via the API, you can use this endpoint. You can also filter data (See table for more info).

Parametro Descrizione
limit (optional) Per page data result
page (optional) Current page request
curl --location --request GET 'http://www.s-kip.eu/api/domains?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": "0",
    "data": {
        "result": 2,
        "perpage": 2,
        "currentpage": 1,
        "nextpage": 1,
        "maxpage": 1,
        "domains": [
            {
                "id": 1,
                "domain": "https:\/\/domain1.com",
                "redirectroot": "https:\/\/rootdomain.com",
                "redirect404": "https:\/\/rootdomain.com\/404"
            },
            {
                "id": 2,
                "domain": "https:\/\/domain2.com",
                "redirectroot": "https:\/\/rootdomain2.com",
                "redirect404": "https:\/\/rootdomain2.com\/404"
            }
        ]
    }
}

Create a Branded Domain

POST http://www.s-kip.eu/api/domain/add

A domain can be added using this endpoint. Please make sure the domain is correctly pointed to our server.

Parametro Descrizione
domain (required) Branded domain including http or https
redirectroot (optional) Root redirect when someone visits your domain
redirect404 (optional) Custom 404 redirect
curl --location --request POST 'http://www.s-kip.eu/api/domain/add' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "domain": "https:\/\/domain1.com",
    "redirectroot": "https:\/\/rootdomain.com",
    "redirect404": "https:\/\/rootdomain.com\/404"
}'

Risposta del server

{
    "error": 0,
    "id": 1
}

Aggiorna dominio

PUT http://www.s-kip.eu/api/domain/:id/update

To update a branded domain, you need to send a valid data in JSON via a PUT request. The data must be sent as the raw body of your request as shown below. The example below shows all the parameters you can send but you are not required to send all (See table for more info).

Parametro Descrizione
redirectroot (optional) Root redirect when someone visits your domain
redirect404 (optional) Custom 404 redirect
curl --location --request PUT 'http://www.s-kip.eu/api/domain/:id/update' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "redirectroot": "https:\/\/rootdomain-new.com",
    "redirect404": "https:\/\/rootdomain-new.com\/404"
}'

Risposta del server

{
    "error": 0,
    "message": "Domain has been updated successfully."
}

Delete Domain

DELETE http://www.s-kip.eu/api/domain/:id/delete

To delete a domain, you need to send a DELETE request.

curl --location --request DELETE 'http://www.s-kip.eu/api/domain/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": 0,
    "message": "Domain has been deleted successfully."
}

Overlay CTA

List CTA Overlays

GET http://www.s-kip.eu/api/overlay?limit=2&page=1

To get cta overlays via the API, you can use this endpoint. You can also filter data (See table for more info).

Parametro Descrizione
limit (optional) Per page data result
page (optional) Current page request
curl --location --request GET 'http://www.s-kip.eu/api/overlay?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": "0",
    "data": {
        "result": 2,
        "perpage": 2,
        "currentpage": 1,
        "nextpage": 1,
        "maxpage": 1,
        "cta": [
            {
                "id": 1,
                "type": "message",
                "name": "Product 1 Promo",
                "date": "2020-11-10 18:00:00"
            },
            {
                "id": 2,
                "type": "contact",
                "name": "Contact Page",
                "date": "2020-11-10 18:10:00"
            }
        ]
    }
}

List Pixels

GET http://www.s-kip.eu/api/pixels?limit=2&page=1

To get your pixels codes via the API, you can use this endpoint. You can also filter data (See table for more info).

Parametro Descrizione
limit (optional) Per page data result
page (optional) Current page request
curl --location --request GET 'http://www.s-kip.eu/api/pixels?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": "0",
    "data": {
        "result": 2,
        "perpage": 2,
        "currentpage": 1,
        "nextpage": 1,
        "maxpage": 1,
        "pixels": [
            {
                "id": 1,
                "type": "gtmpixel",
                "name": "GTM Pixel",
                "tag": "GA-123456789",
                "date": "2020-11-10 18:00:00"
            },
            {
                "id": 2,
                "type": "twitterpixel",
                "name": "Twitter Pixel",
                "tag": "1234567",
                "date": "2020-11-10 18:10:00"
            }
        ]
    }
}

Create a Pixel

POST http://www.s-kip.eu/api/pixel/add

A pixel can be created using this endpoint. You need to send the pixel type and the tag.

Parametro Descrizione
type (required) gtmpixel | gapixel | fbpixel | adwordspixel | linkedinpixel | twitterpixel | adrollpixel | quorapixel | pinterest | bing | snapchat | reddit | tiktok
name (required) Custom name for your pixel
tag (required) The tag for the pixel
curl --location --request POST 'http://www.s-kip.eu/api/pixel/add' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "type": "gtmpixel",
    "name": "My GTM",
    "tag": "GTM-ABCDE"
}'

Risposta del server

{
    "error": 0,
    "id": 1
}

Aggiorna Pixel

PUT http://www.s-kip.eu/api/pixel/:id/update

To update a pixel, you need to send a valid data in JSON via a PUT request. The data must be sent as the raw body of your request as shown below. The example below shows all the parameters you can send but you are not required to send all (See table for more info).

Parametro Descrizione
name (optional) Custom name for your pixel
tag (required) The tag for the pixel
curl --location --request PUT 'http://www.s-kip.eu/api/pixel/:id/update' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "My GTM",
    "tag": "GTM-ABCDE"
}'

Risposta del server

{
    "error": 0,
    "message": "Pixel has been updated successfully."
}

Delete Pixel

DELETE http://www.s-kip.eu/api/pixel/:id/delete

To delete a pixel, you need to send a DELETE request.

curl --location --request DELETE 'http://www.s-kip.eu/api/pixel/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": 0,
    "message": "Pixel has been deleted successfully."
}

Splash personalizzato

List Custom Splash

GET http://www.s-kip.eu/api/splash?limit=2&page=1

To get Splash Pages via the API, you can use this endpoint. You can also filter data (See table for more info).

Parametro Descrizione
limit (optional) Per page data result
page (optional) Current page request
curl --location --request GET 'http://www.s-kip.eu/api/splash?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \

Risposta del server

{
    "error": "0",
    "data": {
        "result": 2,
        "perpage": 2,
        "currentpage": 1,
        "nextpage": 1,
        "maxpage": 1,
        "splash": [
            {
                "id": 1,
                "name": "Product 1 Promo",
                "date": "2020-11-10 18:00:00"
            },
            {
                "id": 2,
                "name": "Product 2 Promo",
                "date": "2020-11-10 18:10:00"
            }
        ]
    }
}