Referência de API para desenvolvedores v3

Começando

O sistema precisa de uma chave de API para processar sua solicitação. Quando um usuário se registra, uma chave de API é gerada automaticamente para esse usuário. Uma chave de API deve ser enviada com cada solicitação (veja o exemplo completo abaixo). Ocorre um erro se a chave de API não for enviada ou expirar. Mantenha suas chaves de API em segredo para evitar abusos.

certificação

Para autenticar com o sistema de API, você deve enviar uma chave de API como um token de autenticação com cada solicitação. Você pode ver o código de exemplo abaixo.

curl --location --request POST 'https://short7.iwinv.net/api/url/add' \ 
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => "https://short7.iwinv.net/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 velocidade

Our API has a rate limiter to safeguard against spike in requests to maximize its stability. Our rate limiter is currently caped at 30 requests per 1 minute.

Vários cabeçalhos são enviados com a resposta e, ao inspecionar esses cabeçalhos, várias informações sobre a solicitação podem ser obtidas.

X-RateLimit-Limit: 30
X-RateLimit-Remaining: 29
X-RateLimit-Reset: TIMESTAMP
processamento de resposta

Todas as respostas da API são retornadas no formato JSON por padrão. Transformar isso em dados utilizáveis ​​requer o uso da função apropriada dependendo do idioma. Em PHP, você pode usar a função json_decode() para converter dados em um objeto (padrão) ou um array (defina o segundo parâmetro como true). É muito importante verificar a chave de erro, que fornece informações sobre se há um erro ou não. Você também pode verificar o código do cabeçalho.

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

conta

Obter conta
GET https://short7.iwinv.net/api/account

Para obter informações sobre uma conta, envie uma solicitação para este endpoint e ele retornará dados sobre a conta.

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

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://short7.iwinv.net/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;
resposta do servidor
{
    "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"
    }
}
atualização de conta
PUT https://short7.iwinv.net/api/account/update

Para atualizar informações sobre sua conta, envie uma solicitação para este endpoint e os dados em sua conta serão atualizados.

curl --location --request PUT 'https://short7.iwinv.net/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://short7.iwinv.net/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 => '{
    "email": "newemail@google.com",
    "password": "newpassword"
}',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
resposta do servidor
{
    "error": 0,
    "message": "Account has been successfully updated."
}

domínio da marca

Listar todos os domínios de marca
GET https://short7.iwinv.net/api/domains?limit=2&page=1

Você pode usar esse endpoint para obter seu código de domínio de marca por meio da API. Você também pode filtrar os dados (consulte a tabela para obter detalhes).

parâmetroExplicação
limit (Opcional) Resultados de dados por página
page (Opcional) Solicitar página atual
curl --location --request GET 'https://short7.iwinv.net/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://short7.iwinv.net/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;
resposta do servidor
{
    "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"
            }
        ]
    }
}
Crie um domínio de marca
POST https://short7.iwinv.net/api/domain/add

Você pode usar esse endpoint para adicionar domínios. Verifique se o domínio está apontando corretamente para o nosso servidor.

parâmetroExplicação
domain (obrigatório) o domínio da sua marca, incluindo http ou https
redirectroot (Opcional) Redirecione a raiz quando alguém visitar seu domínio
redirect404 (opcional) redirecionamento 404 personalizado
curl --location --request POST 'https://short7.iwinv.net/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://short7.iwinv.net/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 => '{
    "domain": "https:\/\/domain1.com",
    "redirectroot": "https:\/\/rootdomain.com",
    "redirect404": "https:\/\/rootdomain.com\/404"
}',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
resposta do servidor
{
    "error": 0,
    "id": 1
}
atualização de domínio
PUT https://short7.iwinv.net/api/domain/:id/update

A atualização do domínio da sua marca requer o envio de dados válidos como JSON por meio de uma solicitação PUT. Os dados devem ser enviados no corpo bruto da solicitação conforme mostrado abaixo. O exemplo abaixo mostra todos os parâmetros que podem ser enviados, mas nem todos precisam ser enviados (consulte a tabela para obter detalhes).

parâmetroExplicação
redirectroot (Opcional) Redirecione a raiz quando alguém visitar seu domínio
redirect404 (opcional) redirecionamento 404 personalizado
curl --location --request PUT 'https://short7.iwinv.net/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://short7.iwinv.net/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 => '{
    "redirectroot": "https:\/\/rootdomain-new.com",
    "redirect404": "https:\/\/rootdomain-new.com\/404"
}',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
resposta do servidor
{
    "error": 0,
    "message": "Domain has been updated successfully."
}
Excluir domínio
DELETE https://short7.iwinv.net/api/domain/:id/delete

Para excluir um domínio, você deve enviar uma solicitação DELETE.

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

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://short7.iwinv.net/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;
resposta do servidor
{
    "error": 0,
    "message": "Domain has been deleted successfully."
}

respingo personalizado

Listar todos os splashes personalizados
GET https://short7.iwinv.net/api/splash?limit=2&page=1

Você pode usar esse endpoint para obter uma página inicial personalizada por meio da API. Você também pode filtrar os dados (consulte a tabela para obter detalhes).

parâmetroExplicação
limit (Opcional) Resultados de dados por página
page (Opcional) Solicitar página atual
curl --location --request GET 'https://short7.iwinv.net/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://short7.iwinv.net/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;
resposta do servidor
{
    "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"
            }
        ]
    }
}

Sobreposição de CTA

Listar todas as sobreposições de CTA
GET https://short7.iwinv.net/api/overlay?limit=2&page=1

Você pode usar esse endpoint para obter a sobreposição de CTA por meio da API. Você também pode filtrar os dados (consulte a tabela para obter detalhes).

parâmetroExplicação
limit (Opcional) Resultados de dados por página
page (Opcional) Solicitar página atual
curl --location --request GET 'https://short7.iwinv.net/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://short7.iwinv.net/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;
resposta do servidor
{
    "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"
            }
        ]
    }
}

link


pixel

listar todos os pixels
GET https://short7.iwinv.net/api/pixels?limit=2&page=1

Você pode usar esse endpoint para obter seu código de pixel via API. Você também pode filtrar os dados (consulte a tabela para obter detalhes).

parâmetroExplicação
limit (Opcional) Resultados de dados por página
page (Opcional) Solicitar página atual
curl --location --request GET 'https://short7.iwinv.net/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://short7.iwinv.net/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;
resposta do servidor
{
    "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"
            }
        ]
    }
}
Criar pixels
POST https://short7.iwinv.net/api/pixel/add

Você pode usar esse ponto de extremidade para criar pixels. Você precisa enviar o tipo de pixel e a tag.

parâmetroExplicação
type (required) gtmpixel | gapixel | fbpixel | adwordspixel | linkedinpixel | twitterpixel | adrollpixel | quorapixel | pinterest | bing | snapchat | reddit
name (obrigatório) nome personalizado para pixel
tag (obrigatório) tag de pixel
curl --location --request POST 'https://short7.iwinv.net/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://short7.iwinv.net/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 => '{
    "type": "gtmpixel",
    "name": "My GTM",
    "tag": "GTM-ABCDE"
}',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
resposta do servidor
{
    "error": 0,
    "id": 1
}
atualização de pixel
PUT https://short7.iwinv.net/api/pixel/:id/update

A atualização de um pixel requer o envio de dados válidos como JSON por meio de uma solicitação PUT. Os dados devem ser enviados no corpo bruto da solicitação conforme mostrado abaixo. O exemplo abaixo mostra todos os parâmetros que podem ser enviados, mas nem todos precisam ser enviados (consulte a tabela para obter detalhes).

parâmetroExplicação
name (opcional) nome personalizado para o pixel
tag (obrigatório) tag de pixel
curl --location --request PUT 'https://short7.iwinv.net/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://short7.iwinv.net/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 => '{
    "name": "My GTM",
    "tag": "GTM-ABCDE"
}',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
resposta do servidor
{
    "error": 0,
    "message": "Pixel has been updated successfully."
}
Excluir Pixels
DELETE https://short7.iwinv.net/api/pixel/:id/delete

Para excluir um pixel, você deve enviar uma solicitação DELETE.

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

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://short7.iwinv.net/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;
resposta do servidor
{
    "error": 0,
    "message": "Pixel has been deleted successfully."
}

Código QR

Listar todos os códigos QR
GET https://short7.iwinv.net/api/qr?limit=2&page=1

Você pode usar este endpoint para obter o código QR via API. Você também pode filtrar os dados (consulte a tabela para obter detalhes).

parâmetroExplicação
limit (Opcional) Resultados de dados por página
page (Opcional) Solicitar página atual
curl --location --request GET 'https://short7.iwinv.net/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://short7.iwinv.net/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;
resposta do servidor
{
    "error": "0",
    "data": {
        "result": 2,
        "perpage": 2,
        "currentpage": 1,
        "nextpage": 1,
        "maxpage": 1,
        "qrs": [
            {
                "id": 2,
                "link": "https:\/\/short7.iwinv.net\/qr\/a2d5e",
                "scans": 0,
                "name": "Google",
                "date": "2020-11-10 18:01:43"
            },
            {
                "id": 1,
                "link": "https:\/\/short7.iwinv.net\/qr\/b9edfe",
                "scans": 5,
                "name": "Google Canada",
                "date": "2020-11-10 18:00:25"
            }
        ]
    }
}
Obtenha um único código QR
GET https://short7.iwinv.net/api/qr/:id

Você pode usar esse endpoint para obter detalhes sobre um único código QR via API.

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

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://short7.iwinv.net/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;
resposta do servidor
{
    "error": 0,
    "details": {
        "id": 1,
        "link": "https:\/\/short7.iwinv.net\/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
        }
    }
}
Criar um código QR
POST https://short7.iwinv.net/api/qr/add

Para gerar um código QR, você precisa enviar dados válidos como JSON por meio de uma solicitação POST. Os dados devem ser enviados no corpo bruto da solicitação conforme mostrado abaixo. O exemplo abaixo mostra todos os parâmetros que podem ser enviados, mas nem todos precisam ser enviados (consulte a tabela para obter detalhes).

parâmetroExplicação
type (required) text | vcard | link | email | phone | sms | wifi
data (Obrigatório) Dados a serem inseridos no código QR. Os dados podem ser uma string ou uma matriz, dependendo de seu tipo.
background (Opcional) Exemplo de cor RGB. RGB(255.255.255)
foreground Opcional) Exemplo de cor RGB. RGB(0,0,0)
logo (opcional) caminho do logotipo png ou jpg
curl --location --request POST 'https://short7.iwinv.net/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://short7.iwinv.net/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 => '{
    "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;
resposta do servidor
{
    "error": 0,
    "id": 3,
    "link": "https:\/\/short7.iwinv.net\/qr\/a58f79"
}
Atualização do código QR
PUT https://short7.iwinv.net/api/qr/:id/update

Para atualizar o código QR, você deve enviar dados JSON válidos por meio de uma solicitação PUT. Os dados devem ser enviados no corpo bruto da solicitação conforme mostrado abaixo. O exemplo abaixo mostra todos os parâmetros que podem ser enviados, mas nem todos precisam ser enviados (consulte a tabela para obter detalhes).

parâmetroExplicação
data (Obrigatório) Dados a serem inseridos no código QR. Os dados podem ser uma string ou uma matriz, dependendo de seu tipo.
background (Opcional) Exemplo de cor RGB. RGB(255.255.255)
foreground Opcional) Exemplo de cor RGB. RGB(0,0,0)
logo (opcional) caminho do logotipo png ou jpg
curl --location --request PUT 'https://short7.iwinv.net/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://short7.iwinv.net/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 => '{
    "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;
resposta do servidor
{
    "error": 0,
    "message": "QR has been updated successfully."
}
Excluir código QR
DELETE https://short7.iwinv.net/api/qr/:id/delete

Para excluir um código QR, você deve enviar uma solicitação DELETE.

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

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://short7.iwinv.net/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;
resposta do servidor
{
    "error": 0,
    "message": "QR Code has been deleted successfully."
}

plano

Este endpoint só pode ser acessado por usuários com privilégios de administrador.

listar todos os planos
GET https://short7.iwinv.net/api/plans

Obtenha uma lista de todos os planos para a plataforma.

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

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://short7.iwinv.net/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;
resposta do servidor
{
    "error": 0,
    "data": [
        {
            "id": 2,
            "name": "Business",
            "free": false,
            "prices": {
                "monthly": 9.99,
                "yearly": 99.99,
                "lifetime": 999.99
            },
            "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"
                }
            }
        }
    ]
}
Inscrever usuários em um plano
PUT https://short7.iwinv.net/api/plan/:planid/user/:userid

Para forçar um usuário a ingressar em um plano, envie uma solicitação PUT para este terminal com o ID do plano e o ID do usuário. Você deve especificar o tipo de assinatura e a data de expiração. Se nenhuma data de expiração for especificada, a data será ajustada de acordo com o tipo.

parâmetroExplicação
type monthly | yearly | lifetime
expiration (Opcional) Exemplo de data de expiração do plano:2025-11-19 13:02:21
curl --location --request PUT 'https://short7.iwinv.net/api/plan/:planid/user/:userid' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "type": "monthly",
    "expiration": "2025-11-19 13:02:21"
}'
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://short7.iwinv.net/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 => '{
    "type": "monthly",
    "expiration": "2025-11-19 13:02:21"
}',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
resposta do servidor
{
    "error": 0,
    "message": "User has been subscribed to this plan."
}

do utilizador

Este endpoint só pode ser acessado por usuários com privilégios de administrador.

listar todos os usuários
GET https://short7.iwinv.net/api/users?filter=free

Obtenha uma lista de todos os usuários na plataforma. Você pode filtrar dados enviando um parâmetro de filtro na URL.

parâmetroExplicação
filter admin | free | pro
email Pesquisar usuários por e-mail
curl --location --request GET 'https://short7.iwinv.net/api/users?filter=free' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://short7.iwinv.net/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;
resposta do servidor
{
    "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"
        }
    ]
}
Listar um único usuário
GET https://short7.iwinv.net/api/user/:id

Obtenha dados para um único usuário.

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

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://short7.iwinv.net/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;
resposta do servidor
{
    "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"
    }
}
Criar usuário
POST https://short7.iwinv.net/api/user/add

Para criar um usuário, use este endpoint e envie as seguintes informações como JSON:

parâmetroExplicação
username (Obrigatório) O nome de usuário do usuário. Deve ser válido.
email (Obrigatório) E-mail do usuário. Deve ser válido.
password (Obrigatório) Senha do usuário. Mínimo de 5 caracteres.
planid (Opcional) Plano Premium. Isso pode ser encontrado no painel de administração.
expiration (Opcional) Exemplo de expiração de associação 2020-12-26 12:00:00
curl --location --request POST 'https://short7.iwinv.net/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://short7.iwinv.net/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 => '{
    "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;
resposta do servidor
{
    "error": 0,
    "message": "User has been registered.",
    "data": {
        "id": 3,
        "email": "demo@yourwebsite.com",
        "username": "user"
    }
}
deletar usuário
DELETE https://short7.iwinv.net/api/user/:id/delete

Use este endpoint para excluir um usuário.

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

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://short7.iwinv.net/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;
resposta do servidor
{
    "error": 0,
    "message": "User has been deleted."
}
login de usuário
GET https://short7.iwinv.net/api/user/login/:id

Esse endpoint cria um link exclusivo que permite que os usuários façam login automaticamente na plataforma. O URL de login do SSO é válido por 1 hora e pode ser usado uma vez.

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

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://short7.iwinv.net/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;
resposta do servidor
{
    "error": 0,
    "url": "https:\/\/short7.iwinv.net\/user\/login\/sso\/ijwrknbipoujxznxsaamnomrxiygsiul"
}