Référence API pour les développeurs v3

Commencer

Une clé API est requise pour que les demandes soient traitées par le système. Une fois qu'un utilisateur s'inscrit, une clé API est automatiquement générée pour cet utilisateur. La clé API doit être envoyée avec chaque requête (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, il y aura une erreur. Assurez-vous de garder votre clé API secrète pour éviter les abus.

Authentification

Pour vous authentifier auprès du système API, vous devez envoyer votre clé API en tant que jeton d'autorisation avec chaque demande. Vous pouvez voir un exemple de code ci-dessous.

curl --location --request POST 'https://8jo.de/api/url/add' \ 
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/url/add",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => array(
    "Authorization: Bearer YOURAPIKEY",
    "Content-Type: application/json",
    ),
));

$response = curl_exec($curl);
Limite de débit

Notre API dispose d'un limiteur de débit pour se protéger contre les pics de demandes afin de maximiser sa stabilité. Notre limiteur de débit est actuellement limité à 30 requêtes par 1 minute.

Plusieurs en-têtes seront envoyés avec la réponse et ceux-ci peuvent être examinés pour déterminer diverses informations sur la demande.

X-RateLimit-Limit: 30
X-RateLimit-Remaining: 29
X-RateLimit-Reset: TIMESTAMP
Gestion des réponses

Toutes les réponses de l'API sont renvoyées au format JSON par défaut. Pour convertir cela en données utilisables, la fonction appropriée devra être utilisée en fonction de la langue. En PHP, la fonction json_decode() peut être utilisée pour convertir les données en objet (par défaut) ou en tableau (définissez le deuxième paramètre sur true). Il est très important de vérifier la clé d'erreur car elle indique s'il y a eu une erreur ou non. Vous pouvez également vérifier le code d'en-tête.

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

Campagnes

List Campaigns
GET https://8jo.de/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).

ParamètreLa description
limit (optional) Per page data result
page (optional) Current page request
curl --location --request GET 'https://8jo.de/api/campaigns?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/campaigns?limit=2&page=1",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "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"
            }
        ]
    }
}
Créer une campagne
POST https://8jo.de/api/campaign/add

A campaign can be added using this endpoint.

ParamètreLa description
name (optional) Campaign name
slug (optional) Rotator Slug
public (optional) Access
curl --location --request POST 'https://8jo.de/api/campaign/add' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "New Campaign",
    "slug": "new-campaign",
    "public": true
}'
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/campaign/add",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    CURLOPT_POSTFIELDS => json_encode(array (
  'name' => 'New Campaign',
  'slug' => 'new-campaign',
  'public' => true,
)),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "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 https://8jo.de/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 'https://8jo.de/api/campaign/:campaignid/assign/:linkid' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/campaign/:campaignid/assign/:linkid",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "message": "Link successfully added to the campaign."
}
Mettre à jour la campagne
PUT https://8jo.de/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).

ParamètreLa description
name (required) Campaign name
slug (optional) Rotator Slug
public (optional) Access
curl --location --request PUT 'https://8jo.de/api/campaign/:id/update' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "Twitter Campaign",
    "slug": "twitter-campaign",
    "public": true
}'
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/campaign/:id/update",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    CURLOPT_POSTFIELDS => json_encode(array (
  'name' => 'Twitter Campaign',
  'slug' => 'twitter-campaign',
  'public' => true,
)),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "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 https://8jo.de/api/campaign/:id/delete

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

curl --location --request DELETE 'https://8jo.de/api/campaign/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/campaign/:id/delete",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "DELETE",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "message": "Campaign has been deleted successfully."
}

Canaux

List Channels
GET https://8jo.de/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).

ParamètreLa description
limit (optional) Per page data result
page (optional) Current page request
curl --location --request GET 'https://8jo.de/api/channels?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/channels?limit=2&page=1",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "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 https://8jo.de/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).

ParamètreLa description
limit (optional) Per page data result
page (optional) Current page request
curl --location --request GET 'https://8jo.de/api/channel/:id?limit=1&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/channel/:id?limit=1&page=1",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "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": "https:\/\/8jo.de\/google",
                "date": "2022-05-12"
            },
            {
                "type": "bio",
                "id": 1,
                "title": "My Sample Bio",
                "preview": "https:\/\/8jo.de\/mybio",
                "link": "https:\/\/8jo.de\/mybio",
                "date": "2022-06-01"
            }
        ]
    }
}
Créer une chaîne
POST https://8jo.de/api/channel/add

A channel can be added using this endpoint.

ParamètreLa description
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 'https://8jo.de/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
}'
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/channel/add",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    CURLOPT_POSTFIELDS => json_encode(array (
  'name' => 'New Channel',
  'description' => 'my new channel',
  'color' => '#000000',
  'starred' => true,
)),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "id": 3,
    "name": "New Channel",
    "description": "my new channel",
    "color": "#000000",
    "starred": true
}
Assign an Item to a Channel
POST https://8jo.de/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.

ParamètreLa description
:channelid (required) Channel ID
:type (required) links or bio or qr
:itemid (required) Item ID
curl --location --request POST 'https://8jo.de/api/channel/:channelid/assign/:type/:itemid' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/channel/:channelid/assign/:type/:itemid",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "message": "Item successfully added to the channel."
}
Mettre à jour la chaîne
PUT https://8jo.de/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).

ParamètreLa description
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 'https://8jo.de/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
}'
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/channel/:id/update",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    CURLOPT_POSTFIELDS => json_encode(array (
  'name' => 'Acme Corp',
  'description' => 'channel for items for Acme Corp',
  'color' => '#FFFFFF',
  'starred' => false,
)),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "message": "Channel has been updated successfully."
}
Delete Channel
DELETE https://8jo.de/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 'https://8jo.de/api/channel/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/channel/:id/delete",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "DELETE",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "message": "Channel has been deleted successfully."
}

Codes QR

List QR codes
GET https://8jo.de/api/qr?limit=2&page=1

Pour obtenir vos codes QR via l'API, vous pouvez utiliser ce point de terminaison. Vous pouvez également filtrer les données (voir le tableau pour plus d'informations).

ParamètreLa description
limit (optional) Per page data result
page (optional) Current page request
curl --location --request GET 'https://8jo.de/api/qr?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/qr?limit=2&page=1",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": "0",
    "data": {
        "result": 2,
        "perpage": 2,
        "currentpage": 1,
        "nextpage": 1,
        "maxpage": 1,
        "qrs": [
            {
                "id": 2,
                "link": "https:\/\/8jo.de\/qr\/a2d5e",
                "scans": 0,
                "name": "Google",
                "date": "2020-11-10 18:01:43"
            },
            {
                "id": 1,
                "link": "https:\/\/8jo.de\/qr\/b9edfe",
                "scans": 5,
                "name": "Google Canada",
                "date": "2020-11-10 18:00:25"
            }
        ]
    }
}
Obtenez un seul code QR
GET https://8jo.de/api/qr/:id

Pour obtenir les détails d'un seul code QR via l'API, vous pouvez utiliser ce point de terminaison.

curl --location --request GET 'https://8jo.de/api/qr/:id' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/qr/:id",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "details": {
        "id": 1,
        "link": "https:\/\/8jo.de\/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
        }
    }
}
Créer un code QR
POST https://8jo.de/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).

ParamètreLa description
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
curl --location --request POST 'https://8jo.de/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"
}'
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/qr/add",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    CURLOPT_POSTFIELDS => json_encode(array (
  'type' => 'link',
  'data' => 'https://google.com',
  'background' => 'rgb(255,255,255)',
  'foreground' => 'rgb(0,0,0)',
  'logo' => 'https://site.com/logo.png',
)),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "id": 3,
    "link": "https:\/\/8jo.de\/qr\/a58f79"
}
Update QR Code
PUT https://8jo.de/api/qr/:id/update

Pour mettre à jour un QR Code, vous devez envoyer une donnée valide au format JSON via une requête PUT. Les données doivent être envoyées en tant que corps brut de votre demande, comme indiqué ci-dessous. L'exemple ci-dessous montre tous les paramètres que vous pouvez envoyer mais vous n'êtes pas obligé de tous les envoyer (voir le tableau pour plus d'informations).

ParamètreLa description
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 'https://8jo.de/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"
}'
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/qr/:id/update",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    CURLOPT_POSTFIELDS => json_encode(array (
  'type' => 'link',
  'data' => 'https://google.com',
  'background' => 'rgb(255,255,255)',
  'foreground' => 'rgb(0,0,0)',
  'logo' => 'https://site.com/logo.png',
)),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "message": "QR has been updated successfully."
}
Supprimer un code QR
DELETE https://8jo.de/api/qr/:id/delete

Pour supprimer un code QR, vous devez envoyer une demande DELETE.

curl --location --request DELETE 'https://8jo.de/api/qr/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/qr/:id/delete",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "DELETE",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "message": "QR Code has been deleted successfully."
}

Compte

Obtenir un compte
GET https://8jo.de/api/account

Pour obtenir des informations sur le compte, vous pouvez envoyer une demande à ce point de terminaison et il renverra des données sur le compte.

curl --location --request GET 'https://8jo.de/api/account' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/account",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "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"
    }
}
Compte mis à jour
PUT https://8jo.de/api/account/update

Pour mettre à jour les informations sur le compte, vous pouvez envoyer une demande à ce point de terminaison et il mettra à jour les données sur le compte.

curl --location --request PUT 'https://8jo.de/api/account/update' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "newemail@google.com",
    "password": "newpassword"
}'
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/account/update",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    CURLOPT_POSTFIELDS => json_encode(array (
  'email' => 'newemail@google.com',
  'password' => 'newpassword',
)),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "message": "Account has been successfully updated."
}

Domaines de marque

List Branded Domains
GET https://8jo.de/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).

ParamètreLa description
limit (optional) Per page data result
page (optional) Current page request
curl --location --request GET 'https://8jo.de/api/domains?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/domains?limit=2&page=1",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "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 https://8jo.de/api/domain/add

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

ParamètreLa description
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 'https://8jo.de/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"
}'
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/domain/add",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    CURLOPT_POSTFIELDS => json_encode(array (
  'domain' => 'https://domain1.com',
  'redirectroot' => 'https://rootdomain.com',
  'redirect404' => 'https://rootdomain.com/404',
)),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "id": 1
}
Mettre à jour le domaine
PUT https://8jo.de/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).

ParamètreLa description
redirectroot (optional) Root redirect when someone visits your domain
redirect404 (optional) Custom 404 redirect
curl --location --request PUT 'https://8jo.de/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"
}'
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/domain/:id/update",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    CURLOPT_POSTFIELDS => json_encode(array (
  'redirectroot' => 'https://rootdomain-new.com',
  'redirect404' => 'https://rootdomain-new.com/404',
)),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "message": "Domain has been updated successfully."
}
Delete Domain
DELETE https://8jo.de/api/domain/:id/delete

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

curl --location --request DELETE 'https://8jo.de/api/domain/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/domain/:id/delete",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "DELETE",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "message": "Domain has been deleted successfully."
}

Liens


Pixels

List Pixels
GET https://8jo.de/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).

ParamètreLa description
limit (optional) Per page data result
page (optional) Current page request
curl --location --request GET 'https://8jo.de/api/pixels?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/pixels?limit=2&page=1",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "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 https://8jo.de/api/pixel/add

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

ParamètreLa description
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 'https://8jo.de/api/pixel/add' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "type": "gtmpixel",
    "name": "My GTM",
    "tag": "GTM-ABCDE"
}'
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/pixel/add",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    CURLOPT_POSTFIELDS => json_encode(array (
  'type' => 'gtmpixel',
  'name' => 'My GTM',
  'tag' => 'GTM-ABCDE',
)),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "id": 1
}
Mettre à jour le pixel
PUT https://8jo.de/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).

ParamètreLa description
name (optional) Custom name for your pixel
tag (required) The tag for the pixel
curl --location --request PUT 'https://8jo.de/api/pixel/:id/update' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "My GTM",
    "tag": "GTM-ABCDE"
}'
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/pixel/:id/update",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    CURLOPT_POSTFIELDS => json_encode(array (
  'name' => 'My GTM',
  'tag' => 'GTM-ABCDE',
)),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "message": "Pixel has been updated successfully."
}
Delete Pixel
DELETE https://8jo.de/api/pixel/:id/delete

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

curl --location --request DELETE 'https://8jo.de/api/pixel/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/pixel/:id/delete",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "DELETE",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "message": "Pixel has been deleted successfully."
}

Splash personnalisé

List Custom Splash
GET https://8jo.de/api/splash?limit=2&page=1

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

ParamètreLa description
limit (optional) Per page data result
page (optional) Current page request
curl --location --request GET 'https://8jo.de/api/splash?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/splash?limit=2&page=1",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "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"
            }
        ]
    }
}

Superpositions CTA

List CTA Overlays
GET https://8jo.de/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).

ParamètreLa description
limit (optional) Per page data result
page (optional) Current page request
curl --location --request GET 'https://8jo.de/api/overlay?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/overlay?limit=2&page=1",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "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"
            }
        ]
    }
}

Des plans

Ce point de terminaison n'est accessible qu'aux utilisateurs disposant de privilèges d'administrateur.

List Plans
GET https://8jo.de/api/plans

Obtenez une liste de tous les plans sur la plateforme.

curl --location --request GET 'https://8jo.de/api/plans' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/plans",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "data": [
        {
            "id": 2,
            "name": "Business",
            "free": false,
            "prices": {
                "monthly": 9.9900000000000002,
                "yearly": 99.989999999999995,
                "lifetime": 999.99000000000001
            },
            "limits": {
                "links": 100,
                "clicks": 100000,
                "retention": 60,
                "custom": {
                    "enabled": "0"
                },
                "team": {
                    "enabled": "0",
                    "count": "0"
                },
                "splash": {
                    "enabled": "1",
                    "count": "5"
                },
                "overlay": {
                    "enabled": "1",
                    "count": "10"
                },
                "pixels": {
                    "enabled": "1",
                    "count": "10"
                },
                "domain": {
                    "enabled": "1",
                    "count": "1"
                },
                "multiple": {
                    "enabled": "0"
                },
                "alias": {
                    "enabled": "1"
                },
                "device": {
                    "enabled": "0"
                },
                "geo": {
                    "enabled": "0"
                },
                "bundle": {
                    "enabled": "0"
                },
                "parameters": {
                    "enabled": "0"
                },
                "export": {
                    "enabled": "0"
                },
                "api": {
                    "enabled": "0"
                }
            }
        },
        {
            "id": 1,
            "name": "Starter",
            "free": true,
            "prices": null,
            "limits": {
                "links": 10,
                "clicks": 1000,
                "retention": 7,
                "custom": {
                    "enabled": "0"
                },
                "team": {
                    "enabled": "0",
                    "count": "0"
                },
                "splash": {
                    "enabled": "0",
                    "count": "0"
                },
                "overlay": {
                    "enabled": "0",
                    "count": "10"
                },
                "pixels": {
                    "enabled": "0",
                    "count": "10"
                },
                "domain": {
                    "enabled": "0",
                    "count": "0"
                },
                "multiple": {
                    "enabled": "0"
                },
                "alias": {
                    "enabled": "0"
                },
                "device": {
                    "enabled": "0"
                },
                "geo": {
                    "enabled": "0"
                },
                "bundle": {
                    "enabled": "0"
                },
                "parameters": {
                    "enabled": "0"
                },
                "export": {
                    "enabled": "0"
                },
                "api": {
                    "enabled": "0"
                }
            }
        }
    ]
}
Subscribe a User to a Plan
PUT https://8jo.de/api/plan/:planid/user/:userid

Pour abonner un utilisateur au forfait, envoyez une demande PUT à ce point de terminaison avec l'ID du forfait et l'ID utilisateur. Le type d'abonnement et la date d'expiration devront être précisés. Si la date d'expiration n'est pas spécifiée, la date sera ajustée en fonction du type.

ParamètreLa description
type monthly | yearly | lifetime
expiration (facultatif) Date d'expiration du plan, par ex.2024-04-28 10:45:40
curl --location --request PUT 'https://8jo.de/api/plan/:planid/user/:userid' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "type": "monthly",
    "expiration": "2024-04-28 10:45:40"
}'
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/plan/:planid/user/:userid",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    CURLOPT_POSTFIELDS => json_encode(array (
  'type' => 'monthly',
  'expiration' => '2024-04-28 10:45:40',
)),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "message": "User has been subscribed to this plan."
}

Utilisateurs

Ce point de terminaison n'est accessible qu'aux utilisateurs disposant de privilèges d'administrateur.

List Users
GET https://8jo.de/api/users?filter=free

Obtenez une liste de tous les utilisateurs de la plateforme. Les données peuvent être filtrées en envoyant un paramètre de filtre dans l'url.

ParamètreLa description
filter admin | free | pro
email Search a user by email
curl --location --request GET 'https://8jo.de/api/users?filter=free' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/users?filter=free",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "data": [
        {
            "id": 2,
            "email": "sample2@domain.com",
            "username": "sample2user",
            "avatar": "https:\\\/\\\/domain.com\/content\/avatar2.png",
            "status": "free",
            "planid": 1,
            "expires": null,
            "registered": "2020-11-10 18:01:43",
            "apikey": "ABC123DEF456"
        },
        {
            "id": 1,
            "email": "sample@domain.com",
            "username": "sampleuser",
            "avatar": "https:\\\/\\\/domain.com\/content\/avatar.png",
            "status": "pro",
            "planid": 2,
            "expires": "2022-11-15 15:00:00",
            "registered": "2020-11-10 18:01:43",
            "apikey": "ABC123DEF456"
        }
    ]
}
List a Single User
GET https://8jo.de/api/user/:id

Get data for a single user.

curl --location --request GET 'https://8jo.de/api/user/:id' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/user/:id",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "data": {
        "id": 2,
        "email": "sample2@domain.com",
        "username": "sample2user",
        "avatar": "https:\\\/\\\/domain.com\/content\/avatar2.png",
        "status": "free",
        "planid": 1,
        "expires": null,
        "registered": "2020-11-10 18:01:43",
        "apikey": "ABC123DEF456"
    }
}
Create User
POST https://8jo.de/api/user/add

Pour créer un utilisateur, utilisez ce point de terminaison et envoyez les informations suivantes au format JSON.

ParamètreLa description
username (required) User's username. Needs to be valid.
email (required) User's email. Needs to be valid.
password (required) User's password. Minimum 5 characters.
planid (optional) Premium plan. This can be found in the admin panel.
expiration (optional) Membership expiration example 2020-12-26 12:00:00
curl --location --request POST 'https://8jo.de/api/user/add' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "username": "user",
    "password": "1234567891011",
    "email": "demo@yourwebsite.com",
    "planid": 1,
    "expiration": "2020-11-20 11:00:00"
}'
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/user/add",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    CURLOPT_POSTFIELDS => json_encode(array (
  'username' => 'user',
  'password' => '1234567891011',
  'email' => 'demo@yourwebsite.com',
  'planid' => 1,
  'expiration' => '2020-11-20 11:00:00',
)),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "message": "User has been registered.",
    "data": {
        "id": 3,
        "email": "demo@yourwebsite.com",
        "username": "user"
    }
}
Delete User
DELETE https://8jo.de/api/user/:id/delete

Pour supprimer un utilisateur, utilisez ce point de terminaison.

curl --location --request DELETE 'https://8jo.de/api/user/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/user/:id/delete",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "DELETE",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "message": "User has been deleted."
}
Login User
GET https://8jo.de/api/user/login/:id

This endpoint will generate a unique link that will allow the user to automatically login to the platform. SSO login urls are valid for 1 hour and they can be used a single time.

curl --location --request GET 'https://8jo.de/api/user/login/:id' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://8jo.de/api/user/login/:id",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ),
    
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Une clé API est requise pour les demandes à traiter par le système. Une fois qu'un utilisateur s'enregistre, une clé API est générée automatiquement pour cet utilisateur. La clé API doit être envoyée avec chaque requête via le paramètre clé (voir l'exemple complet ci-dessous). Si la clé API n'est pas envoyée ou a expiré, une erreur se produit. Assurez-vous de garder votre clé secrète de l'API pour éviter tout abus.
{
    "error": 0,
    "url": "https:\/\/8jo.de\/user\/login\/sso\/uclfavjsjkhxuvipxgafvxktscfgewgl"
}