API Reference for Developers

Getting Started

An API key is required for requests to be processed by the system. Once a user registers, an API key is automatically generated for this user. The API key must be sent with each request (see full example below). If the API key is not sent or is expired, there will be an error. Please make sure to keep your API key secret to prevent abuse.

Authentication

To authenticate with the API system, you need to send your API key as an authorization token with each request. You can see sample code below.

curl --location --request POST 'https://urlkai.com/api/account' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();
curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/account",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
));

$response = curl_exec($curl); 
var request = require('pedido');
var options = {
    «método»: «POST»,
    «url»: «https://urlkai.com/api/account»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    Corpo: ''
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/account"
carga útil = {}
cabeçalhos = {
  «Autorização»: «Portador YOURAPIKEY»,
  'Content-Type': 'aplicativo/json'
}
response = requests.request("GET", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Get, "https://urlkai.com/api/account");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Rate Limit

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. Please note that the rate might change according to the subscribed plan.

Several headers will be sent alongside the response and these can be examined to determine various information about the request.

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

All API response are returned in JSON format by default. To convert this into usable data, the appropriate function will need to be used according to the language. In PHP, the function json_decode() can be used to convert the data to either an object (default) or an array (set the second parameter to true). It is very important to check the error key as that provides information on whether there was an error or not. You can also check the header code.

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

Conta

Obter Conta
GET https://urlkai.com/api/account

Para obter informações sobre a conta, você pode enviar uma solicitação para este ponto de extremidade e ele retornará dados na conta.

curl --location --request GET 'https://urlkai.com/api/account' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/account",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "OBTER",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «GET»,
    «url»: «https://urlkai.com/api/account»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/account"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("GET", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Get, "https://urlkai.com/api/account");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "dados": {
        "id": 1,
        "e-mail": " [email protegido] ",
        "nome de usuário": "sampleuser",
        "avatar": "https:\/\/domain.com\/content\/avatar.png",
        "status": "pro",
        "expira": "2022-11-15 15:00:00",
        "Registado": "2020-11-10 18:01:43"
    }
} 
Atualizar conta
PUT https://urlkai.com/api/account/update

Para atualizar as informações sobre a conta, você pode enviar uma solicitação para este ponto de extremidade e ele atualizará os dados da conta.

curl --location --request PUT 'https://urlkai.com/api/account/update' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "e-mail": " [email protegido] ",
    "password": "novasenha"
}' 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/account/update",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    CURLOPT_POSTFIELDS => 
        '{
	    "e-mail": " [email protegido] ",
	    "password": "novasenha"
	}',
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «PUT»,
    «url»: «https://urlkai.com/api/account/update»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    corpo: JSON.stringify({
    "e-mail": " [email protegido] ",
    "password": "novasenha"
}),
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/account/update"
carga útil = {
    "e-mail": " [email protegido] ",
    "password": "novasenha"
}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
resposta = requests.request("PUT", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Put, "https://urlkai.com/api/account/update");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{
    "e-mail": " [email protegido] ",
    "password": "novasenha"
}", System.Text.Encoding.UTF8, "aplicação/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "message": "A conta foi atualizada com sucesso."
} 

Domínios de Marca

Listar Domínios de Marca
GET https://urlkai.com/api/domains?limit=2&page=1

Para obter seus domínios de marca por meio da API, você pode usar esse ponto de extremidade. Você também pode filtrar dados (Consulte a tabela para obter mais informações).

Parâmetro Descrição
limite (facultativo) Resultado de dados por página
página (facultativo) Pedido de página atual
curl --location --request GET 'https://urlkai.com/api/domains?limit=2&page=1' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/domains?limit=2&page=1",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "OBTER",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «GET»,
    «url»: «https://urlkai.com/api/domains?limit=2&page=1»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/domains?limit=2&page=1"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("GET", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Get, "https://urlkai.com/api/domains?limit=2&page=1");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": "0",
    "dados": {
        "resultado": 2,
        "Perpage": 2,
        "currentpage": 1,
        "página seguinte": 1,
        "maxpage": 1,
        "domínios": [
            {
                "id": 1,
                "domínio": "https:\/\/domain1.com",
                "redirectroot": "https:\/\/rootdomain.com",
                "redirecionamento404": "https:\/\/rootdomain.com\/404"
            },
            {
                "ID": 2,
                "domínio": "https:\/\/domain2.com",
                "redirectroot": "https:\/\/rootdomain2.com",
                "redirecionamento404": "https:\/\/rootdomain2.com\/404"
            }
        ]
    }
} 
Criar um domínio de marca
POST https://urlkai.com/api/domain/add

Um domínio pode ser adicionado usando esse ponto de extremidade. Por favor, certifique-se de que o domínio está corretamente apontado para o nosso servidor.

Parâmetro Descrição
domínio (obrigatório) Domínio de marca, incluindo http ou https
raiz de redirecionamento (facultativo) Redirecionamento de raiz quando alguém visita o seu domínio
redirecionamento404 (facultativo) Redirecionamento personalizado 404
curl --location --request POST 'https://urlkai.com/api/domain/add' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "domínio": "https:\/\/domain1.com",
    "redirectroot": "https:\/\/rootdomain.com",
    "redirecionamento404": "https:\/\/rootdomain.com\/404"
}' 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/domain/add",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    CURLOPT_POSTFIELDS => 
        '{
	    "domínio": "https:\/\/domain1.com",
	    "redirectroot": "https:\/\/rootdomain.com",
	    "redirecionamento404": "https:\/\/rootdomain.com\/404"
	}',
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «POST»,
    «url»: «https://urlkai.com/api/domain/add»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    corpo: JSON.stringify({
    "domínio": "https:\/\/domain1.com",
    "redirectroot": "https:\/\/rootdomain.com",
    "redirecionamento404": "https:\/\/rootdomain.com\/404"
}),
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/domain/add"
carga útil = {
    "domínio": "https://domain1.com",
    "redirectroot": "https://rootdomain.com",
    "redirect404": "https://rootdomain.com/404"
}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("POST", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Post, "https://urlkai.com/api/domain/add");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{
    "domínio": "https:\/\/domain1.com",
    "redirectroot": "https:\/\/rootdomain.com",
    "redirecionamento404": "https:\/\/rootdomain.com\/404"
}", System.Text.Encoding.UTF8, "aplicação/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "ID": 1
} 
Update Domain
PUT https://urlkai.com/api/domain/:id/update

Para atualizar um domínio de marca, você precisa enviar dados válidos em JSON por meio de uma solicitação PUT. Os dados devem ser enviados como o corpo bruto do seu pedido, conforme mostrado abaixo. O exemplo abaixo mostra todos os parâmetros que você pode enviar, mas não é obrigado a enviar todos (Consulte a tabela para obter mais informações).

Parâmetro Descrição
raiz de redirecionamento (facultativo) Redirecionamento de raiz quando alguém visita o seu domínio
redirecionamento404 (facultativo) Redirecionamento personalizado 404
curl --location --request PUT 'https://urlkai.com/api/domain/:id/update' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "redirectroot": "https:\/\/rootdomain-new.com",
    "redirecionamento404": "https:\/\/rootdomain-new.com\/404"
}' 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/domain/:id/update",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    CURLOPT_POSTFIELDS => 
        '{
	    "redirectroot": "https:\/\/rootdomain-new.com",
	    "redirecionamento404": "https:\/\/rootdomain-new.com\/404"
	}',
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «PUT»,
    'url': 'https://urlkai.com/api/domain/:id/update',
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    corpo: JSON.stringify({
    "redirectroot": "https:\/\/rootdomain-new.com",
    "redirecionamento404": "https:\/\/rootdomain-new.com\/404"
}),
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/domain/:id/update"
carga útil = {
    "redirectroot": "https://rootdomain-new.com",
    "redirect404": "https://rootdomain-new.com/404"
}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
resposta = requests.request("PUT", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Put, "https://urlkai.com/api/domain/:id/update");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{
    "redirectroot": "https:\/\/rootdomain-new.com",
    "redirecionamento404": "https:\/\/rootdomain-new.com\/404"
}", System.Text.Encoding.UTF8, "aplicação/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "message": "O domínio foi atualizado com êxito."
} 
Excluir domínio
DELETE https://urlkai.com/api/domain/:id/delete

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

curl --location --request DELETE 'https://urlkai.com/api/domain/:id/delete' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/domain/:id/delete",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "ELIMINAR",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «ELIMINAR»,
    «url»: «https://urlkai.com/api/domain/:id/delete»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/domain/:id/delete"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
resposta = requests.request("DELETE", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Delete, "https://urlkai.com/api/domain/:id/delete");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "message": "O domínio foi excluído com êxito."
} 

Sobreposições de CTA

Listar sobreposições de CTA
GET https://urlkai.com/api/overlay?limit=2&page=1

Para obter sobreposições de cta por meio da API, você pode usar esse ponto de extremidade. Você também pode filtrar dados (Consulte a tabela para obter mais informações).

Parâmetro Descrição
limite (facultativo) Resultado de dados por página
página (facultativo) Pedido de página atual
curl --location --request GET 'https://urlkai.com/api/overlay?limit=2&page=1' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/overlay?limit=2&page=1",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "OBTER",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «GET»,
    «url»: «https://urlkai.com/api/overlay?limit=2&page=1»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/overlay?limit=2&page=1"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("GET", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Get, "https://urlkai.com/api/overlay?limit=2&page=1");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": "0",
    "dados": {
        "resultado": 2,
        "Perpage": 2,
        "currentpage": 1,
        "página seguinte": 1,
        "maxpage": 1,
        "CTA": [
            {
                "id": 1,
                "type": "mensagem",
                "nome": "Produto 1 Promo",
                "Data": "2020-11-10 18:00:00"
            },
            {
                "ID": 2,
                "type": "contacto",
                "nome": "Página de Contacto",
                "Data": "2020-11-10 18:10:00"
            }
        ]
    }
} 

Campanhas

Listar Campanhas
GET https://urlkai.com/api/campaigns?limit=2&page=1

Para obter suas campanhas por meio da API, você pode usar esse ponto de extremidade. Você também pode filtrar dados (Consulte a tabela para obter mais informações).

Parâmetro Descrição
limite (facultativo) Resultado de dados por página
página (facultativo) Pedido de página atual
curl --location --request GET 'https://urlkai.com/api/campaigns?limit=2&page=1' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/campaigns?limit=2&page=1",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "OBTER",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «GET»,
    «url»: «https://urlkai.com/api/campaigns?limit=2&page=1»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/campaigns?limit=2&page=1"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("GET", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Get, "https://urlkai.com/api/campaigns?limit=2&page=1");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": "0",
    "dados": {
        "resultado": 2,
        "Perpage": 2,
        "currentpage": 1,
        "página seguinte": 1,
        "maxpage": 1,
        "campanhas": [
            {
                "id": 1,
                "nome": "Amostra de Campanha",
                "público": falso,
                "rotator": falso,
                "lista": "https:\/\/domain.com\/u\/admin\/list-1"
            },
            {
                "ID": 2,
                "domínio": "Campanha no Facebook",
                "público": verdadeiro,
                "rotator": "https:\/\/domain.com\/r\/test",
                "lista": "https:\/\/domain.com\/u\/admin\/test-2"
            }
        ]
    }
} 
Create a Campaign
POST https://urlkai.com/api/campaign/add

Uma campanha pode ser adicionada usando este ponto de extremidade.

Parâmetro Descrição
Designação (facultativo) Nome da campanha
lesma (facultativo) Lesma Rotadora
público (facultativo) Acesso
curl --localização --request POST 'https://urlkai.com/api/campaign/add' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "nome": "Nova Campanha",
    "lesma": "nova campanha",
    "público": verdadeiro
}' 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/campaign/add",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    CURLOPT_POSTFIELDS => 
        '{
	    "nome": "Nova Campanha",
	    "lesma": "nova campanha",
	    "público": verdadeiro
	}',
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «POST»,
    «url»: «https://urlkai.com/api/campaign/add»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    corpo: JSON.stringify({
    "nome": "Nova Campanha",
    "lesma": "nova campanha",
    "público": verdadeiro
}),
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/campaign/add"
carga útil = {
    "nome": "Nova Campanha",
    "lesma": "nova campanha",
    "público": verdadeiro
}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("POST", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Post, "https://urlkai.com/api/campaign/add");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{
    "nome": "Nova Campanha",
    "lesma": "nova campanha",
    "público": verdadeiro
}", System.Text.Encoding.UTF8, "aplicação/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "ID": 3,
    "domínio": "Nova Campanha",
    "público": verdadeiro,
    "rotator": "https:\/\/domain.com\/r\/new-campaign",
    "lista": "https:\/\/domain.com\/u\/admin\/new-campaign-3"
} 
POST https://urlkai.com/api/campaign/:campaignid/assign/:linkid

Um link curto pode ser atribuído a uma campanha usando esse ponto de extremidade. O endpoint requer o ID da campanha e o ID do link curto.

curl --location --request POST 'https://urlkai.com/api/campaign/:campaignid/assign/:linkid' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/campaign/:campaignid/assign/:linkid",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «POST»,
    «url»: «https://urlkai.com/api/campaign/:campaignid/assign/:linkid»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/campaign/:campaignid/assign/:linkid"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("POST", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Post, "https://urlkai.com/api/campaign/:campaignid/assign/:linkid");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "message": "Link adicionado com sucesso à campanha."
} 
Update Campaign
PUT https://urlkai.com/api/campaign/:id/update

Para atualizar uma campanha, você precisa enviar dados válidos em JSON por meio de uma solicitação PUT. Os dados devem ser enviados como o corpo bruto do seu pedido, conforme mostrado abaixo. O exemplo abaixo mostra todos os parâmetros que você pode enviar, mas não é obrigado a enviar todos (Consulte a tabela para obter mais informações).

Parâmetro Descrição
Designação (obrigatório) Nome da campanha
lesma (facultativo) Lesma Rotadora
público (facultativo) Acesso
curl --location --request PUT 'https://urlkai.com/api/campaign/:id/update' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "nome": "Campanha no Twitter",
    "lesma": "Twitter-campanha",
    "público": verdadeiro
}' 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/campaign/:id/update",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    CURLOPT_POSTFIELDS => 
        '{
	    "nome": "Campanha no Twitter",
	    "lesma": "Twitter-campanha",
	    "público": verdadeiro
	}',
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «PUT»,
    «url»: «https://urlkai.com/api/campaign/:id/update»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    corpo: JSON.stringify({
    "nome": "Campanha no Twitter",
    "lesma": "Twitter-campanha",
    "público": verdadeiro
}),
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/campaign/:id/update"
carga útil = {
    "nome": "Campanha no Twitter",
    "lesma": "Twitter-campanha",
    "público": verdadeiro
}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
resposta = requests.request("PUT", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Put, "https://urlkai.com/api/campaign/:id/update");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{
    "nome": "Campanha no Twitter",
    "lesma": "Twitter-campanha",
    "público": verdadeiro
}", System.Text.Encoding.UTF8, "aplicação/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "ID": 3,
    "domínio": "Twitter Campaign",
    "público": verdadeiro,
    "rotator": "https:\/\/domain.com\/r\/twitter-campaign",
    "lista": "https:\/\/domain.com\/u\/admin\/twitter-campaign-3"
} 
Excluir campanha
DELETE https://urlkai.com/api/campaign/:id/delete

Para excluir uma campanha, você precisa enviar uma solicitação DELETE.

curl --location --request DELETE 'https://urlkai.com/api/campaign/:id/delete' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/campaign/:id/delete",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "ELIMINAR",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «ELIMINAR»,
    «url»: «https://urlkai.com/api/campaign/:id/delete»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/campaign/:id/delete"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
resposta = requests.request("DELETE", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Delete, "https://urlkai.com/api/campaign/:id/delete");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "message": "A campanha foi excluída com êxito."
} 

Canais

Listar canais
GET https://urlkai.com/api/channels?limit=2&page=1

Para obter seus canais por meio da API, você pode usar esse ponto de extremidade. Você também pode filtrar dados (Consulte a tabela para obter mais informações).

Parâmetro Descrição
limite (facultativo) Resultado de dados por página
página (facultativo) Pedido de página atual
curl --location --request GET 'https://urlkai.com/api/channels?limit=2&page=1' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/channels?limit=2&page=1",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "OBTER",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «GET»,
    «url»: «https://urlkai.com/api/channels?limit=2&page=1»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/channels?limit=2&page=1"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("GET", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Get, "https://urlkai.com/api/channels?limit=2&page=1");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": "0",
    "dados": {
        "resultado": 2,
        "Perpage": 2,
        "currentpage": 1,
        "página seguinte": 1,
        "maxpage": 1,
        "canais": [
            {
                "id": 1,
                "nome": "Canal 1",
                "descrição": "Descrição do canal 1",
                "cor": "#000000",
                "estrelado": verdadeiro
            },
            {
                "ID": 2,
                "nome": "Canal 2",
                "descrição": "Descrição do canal 2",
                "cor": "#FF0000",
                "estrelado": falso
            }
        ]
    }
} 
Listar itens do canal
GET https://urlkai.com/api/channel/:id?limit=1&page=1

Para obter itens em um canal selecionado por meio da API, você pode usar esse ponto de extremidade. Você também pode filtrar dados (Consulte a tabela para obter mais informações).

Parâmetro Descrição
limite (facultativo) Resultado de dados por página
página (facultativo) Pedido de página atual
curl --location --request GET 'https://urlkai.com/api/channel/:id?limit=1&page=1' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/channel/:id?limit=1&page=1",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "OBTER",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «GET»,
    «url»: «https://urlkai.com/api/channel/:id?limit=1&page=1»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/channel/:id?limit=1&page=1"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("GET", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Get, "https://urlkai.com/api/channel/:id?limit=1&page=1");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": "0",
    "dados": {
        "resultado": 2,
        "Perpage": 2,
        "currentpage": 1,
        "página seguinte": 1,
        "maxpage": 1,
        "itens": [
            {
                "tipo": "links",
                "id": 1,
                "title": "Meu link de amostra",
                "pré-visualização": "https:\/\/google.com",
                "link": "https:\/\/urlkai.com\/google",
                "Data": "2022-05-12"
            },
            {
                "tipo": "bio",
                "id": 1,
                "title": "Minha Amostra Bio",
                "pré-visualização": "https:\/\/urlkai.com\/mybio",
                "link": "https:\/\/urlkai.com\/mybio",
                "Data": "2022-06-01"
            }
        ]
    }
} 
Create a Channel
POST https://urlkai.com/api/channel/add

Um canal pode ser adicionado usando este ponto de extremidade.

Parâmetro Descrição
Designação (obrigatório) Nome do canal
Descrição (facultativo) Descrição do canal
Cor (facultativo) Cor do selo do canal (HEX)
estrelado (facultativo) Marcar ou não o canal (verdadeiro ou falso)
curl --localização --request POST 'https://urlkai.com/api/channel/add' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "nome": "Novo Canal",
    "descrição": "meu novo canal",
    "cor": "#000000",
    "estrelado": verdadeiro
}' 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/channel/add",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    CURLOPT_POSTFIELDS => 
        '{
	    "nome": "Novo Canal",
	    "descrição": "meu novo canal",
	    "cor": "#000000",
	    "estrelado": verdadeiro
	}',
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «POST»,
    «url»: «https://urlkai.com/api/channel/add»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    corpo: JSON.stringify({
    "nome": "Novo Canal",
    "descrição": "meu novo canal",
    "cor": "#000000",
    "estrelado": verdadeiro
}),
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/channel/add"
carga útil = {
    "nome": "Novo Canal",
    "descrição": "meu novo canal",
    "cor": "#000000",
    "estrelado": verdadeiro
}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("POST", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Post, "https://urlkai.com/api/channel/add");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{
    "nome": "Novo Canal",
    "descrição": "meu novo canal",
    "cor": "#000000",
    "estrelado": verdadeiro
}", System.Text.Encoding.UTF8, "aplicação/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "ID": 3,
    "nome": "Novo Canal",
    "descrição": "meu novo canal",
    "cor": "#000000",
    "estrelado": verdadeiro
} 
Atribuir um item a um canal
POST https://urlkai.com/api/channel/:channelid/assign/:type/:itemid

Um item pode ser atribuído a qualquer canal enviando uma solicitação com o ID do canal, tipo de item (links, bio ou qr) e ID do item.

Parâmetro Descrição
:canalid (obrigatório) ID do canal
:tipo (obrigatório) links ou bio ou qr
:itemid (obrigatório) Item ID
curl --location --request POST 'https://urlkai.com/api/channel/:channelid/assign/:type/:itemid' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/channel/:channelid/assign/:type/:itemid",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «POST»,
    'url': 'https://urlkai.com/api/channel/:channelid/assign/:type/:itemid',
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/channel/:channelid/assign/:type/:itemid"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("POST", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Post, "https://urlkai.com/api/channel/:channelid/assign/:type/:itemid");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "message": "Item adicionado com êxito ao canal."
} 
Update Channel
PUT https://urlkai.com/api/channel/:id/update

Para atualizar um canal, você precisa enviar dados válidos em JSON por meio de uma solicitação PUT. Os dados devem ser enviados como o corpo bruto do seu pedido, conforme mostrado abaixo. O exemplo abaixo mostra todos os parâmetros que você pode enviar, mas não é obrigado a enviar todos (Consulte a tabela para obter mais informações).

Parâmetro Descrição
Designação (facultativo) Nome do canal
Descrição (facultativo) Descrição do canal
Cor (facultativo) Cor do selo do canal (HEX)
estrelado (facultativo) Marcar ou não o canal (verdadeiro ou falso)
curl --location --request PUT 'https://urlkai.com/api/channel/:id/update' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "nome": "Acme Corp",
    "descrição": "canal para itens para Acme Corp",
    "cor": "#FFFFFF",
    "estrelado": falso
}' 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/channel/:id/update",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    CURLOPT_POSTFIELDS => 
        '{
	    "nome": "Acme Corp",
	    "descrição": "canal para itens para Acme Corp",
	    "cor": "#FFFFFF",
	    "estrelado": falso
	}',
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «PUT»,
    «url»: «https://urlkai.com/api/channel/:id/update»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    corpo: JSON.stringify({
    "nome": "Acme Corp",
    "descrição": "canal para itens para Acme Corp",
    "cor": "#FFFFFF",
    "estrelado": falso
}),
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/channel/:id/update"
carga útil = {
    "nome": "Acme Corp",
    "descrição": "canal para itens para Acme Corp",
    "cor": "#FFFFFF",
    "estrelado": falso
}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
resposta = requests.request("PUT", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Put, "https://urlkai.com/api/channel/:id/update");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{
    "nome": "Acme Corp",
    "descrição": "canal para itens para Acme Corp",
    "cor": "#FFFFFF",
    "estrelado": falso
}", System.Text.Encoding.UTF8, "aplicação/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "message": "O canal foi atualizado com êxito."
} 
Excluir canal
DELETE https://urlkai.com/api/channel/:id/delete

Para excluir um canal, você precisa enviar uma solicitação DELETE. Todos os itens também não serão atribuídos.

curl --location --request DELETE 'https://urlkai.com/api/channel/:id/delete' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/channel/:id/delete",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "ELIMINAR",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «ELIMINAR»,
    «url»: «https://urlkai.com/api/channel/:id/delete»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/channel/:id/delete"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
resposta = requests.request("DELETE", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Delete, "https://urlkai.com/api/channel/:id/delete");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "message": "O canal foi excluído com êxito."
} 

Custom Splash

Listar Splash Personalizado
GET https://urlkai.com/api/splash?limit=2&page=1

Para obter páginas iniciais personalizadas por meio da API, você pode usar esse ponto de extremidade. Você também pode filtrar dados (Consulte a tabela para obter mais informações).

Parâmetro Descrição
limite (facultativo) Resultado de dados por página
página (facultativo) Pedido de página atual
curl --location --request GET 'https://urlkai.com/api/splash?limit=2&page=1' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/splash?limit=2&page=1",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "OBTER",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «GET»,
    'url': 'https://urlkai.com/api/splash?limit=2&page=1',
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/splash?limit=2&page=1"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("GET", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Get, "https://urlkai.com/api/splash?limit=2&page=1");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": "0",
    "dados": {
        "resultado": 2,
        "Perpage": 2,
        "currentpage": 1,
        "página seguinte": 1,
        "maxpage": 1,
        "Salpico": [
            {
                "id": 1,
                "nome": "Produto 1 Promo",
                "Data": "2020-11-10 18:00:00"
            },
            {
                "ID": 2,
                "nome": "Produto 2 Promo",
                "Data": "2020-11-10 18:10:00"
            }
        ]
    }
} 

Files

List Files
GET https://urlkai.com/api/files?limit=2&page=1

Get all of your files. You can also search by name.

Parâmetro Descrição
Designação (optional) Search for a file by name
limite (facultativo) Resultado de dados por página
página (facultativo) Pedido de página atual
curl --location --request GET 'https://urlkai.com/api/files?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();

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

$response = curl_exec($curl);

curl_close($curl);
echo $response;
var request = require('request');
var options = {
    'method': 'GET',
    'url': 'https://urlkai.com/api/files?limit=2&page=1',
    'headers': {
        'Authorization': 'Bearer YOURAPIKEY',
        'Content-Type': 'application/json'
    },
    
};
request(options, function (error, response) {
    if (error) throw new Error(error);
    console.log(response.body);
});
import requests
url = "https://urlkai.com/api/files?limit=2&page=1"
payload = {}
headers = {
    'Authorization': 'Bearer YOURAPIKEY',
    'Content-Type': 'application/json'
}
response = requests.request("GET", url, headers=headers, json=payload)
print(response.text)
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://urlkai.com/api/files?limit=2&page=1");
request.Headers.Add("Authorization", "Bearer YOURAPIKEY");
var content = new StringContent("{}", System.Text.Encoding.UTF8, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
Server response
{
    "error": 0,
    "result": 3,
    "perpage": 15,
    "currentpage": 1,
    "nextpage": null,
    "maxpage": 1,
    "list": [
        {
            "id": 1,
            "name": "My Photo",
            "downloads": 10,
            "shorturl": "https:\/\/urlkai.com\/JIGBA",
            "date": "2022-08-09 17:00:00"
        },
        {
            "id": 2,
            "name": "My Documents",
            "downloads": 15,
            "shorturl": "https:\/\/urlkai.com\/issLo",
            "date": "2022-08-10 17:01:00"
        },
        {
            "id": 3,
            "name": "My Files",
            "downloads": 5,
            "shorturl": "https:\/\/urlkai.com\/qGGSn",
            "date": "2022-08-11 19:01:00"
        }
    ]
}
Upload a file
POST https://urlkai.com/api/files/upload/:filename?name=My+File

Upload a file by sending the binary data as the post body. You need to send the file name including the extension instead of :filename in the url (e.g. brandkit.zip). You can set options by sending the following parameters.

Parâmetro Descrição
Designação (optional) File name
Personalizado (facultativo) Alias personalizado em vez de alias aleatório.
domínio (facultativo) Domínio Personalizado
palavra-passe (facultativo) Proteção por palavra-passe
expiração (optional) Expiration for the download example 2021-09-28
maxdownloads (optional) Maximum number of downloads
curl --location --request POST 'https://urlkai.com/api/files/upload/:filename?name=My+File' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '"BINARY DATA"'
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://urlkai.com/api/files/upload/:filename?name=My+File",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer YOURAPIKEY",
        "Content-Type: application/json",
    ],
    CURLOPT_POSTFIELDS => 
        '"BINARY DATA"',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
var request = require('request');
var options = {
    'method': 'POST',
    'url': 'https://urlkai.com/api/files/upload/:filename?name=My+File',
    'headers': {
        'Authorization': 'Bearer YOURAPIKEY',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify("BINARY DATA"),
};
request(options, function (error, response) {
    if (error) throw new Error(error);
    console.log(response.body);
});
import requests
url = "https://urlkai.com/api/files/upload/:filename?name=My+File"
payload = "BINARY DATA"
headers = {
    'Authorization': 'Bearer YOURAPIKEY',
    'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, json=payload)
print(response.text)
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://urlkai.com/api/files/upload/:filename?name=My+File");
request.Headers.Add("Authorization", "Bearer YOURAPIKEY");
var content = new StringContent(""BINARY DATA"", System.Text.Encoding.UTF8, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
Server response
{
    "error": 0,
    "id": 1,
    "shorturl": "https:\/\/urlkai.com\/baoPk"
}

Ligações


Píxeis

Lista de pixels
GET https://urlkai.com/api/pixels?limit=2&page=1

Para obter seus códigos de pixels por meio da API, você pode usar esse ponto de extremidade. Você também pode filtrar dados (Consulte a tabela para obter mais informações).

Parâmetro Descrição
limite (facultativo) Resultado de dados por página
página (facultativo) Pedido de página atual
curl --location --request GET 'https://urlkai.com/api/pixels?limit=2&page=1' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/pixels?limit=2&page=1",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "OBTER",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «GET»,
    'url': 'https://urlkai.com/api/pixels?limit=2&page=1',
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/pixels?limit=2&page=1"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("GET", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Get, "https://urlkai.com/api/pixels?limit=2&page=1");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": "0",
    "dados": {
        "resultado": 2,
        "Perpage": 2,
        "currentpage": 1,
        "página seguinte": 1,
        "maxpage": 1,
        "pixels": [
            {
                "id": 1,
                "tipo": "gtmpixel",
                "nome": "GTM Pixel",
                "tag": "GA-123456789",
                "Data": "2020-11-10 18:00:00"
            },
            {
                "ID": 2,
                "tipo": "twitterpixel",
                "nome": "Twitter Pixel",
                "tag": "1234567",
                "Data": "2020-11-10 18:10:00"
            }
        ]
    }
} 
Criar um pixel
POST https://urlkai.com/api/pixel/add

Um pixel pode ser criado usando esse ponto de extremidade. Você precisa enviar o tipo de pixel e a tag.

Parâmetro Descrição
tipo (obrigatório) gtmpixel | Gapixel - Brasil | FBPeril | adwordspixel | linkedinpixel | twitterpixel | Adrollpixel | quorapixel | Pinterest | Bing | Snapchat - Brasil | reddit | TikTok
Designação (obrigatório) Nome personalizado para o pixel
tag (obrigatório) A tag para o pixel
curl --location --request POST 'https://urlkai.com/api/pixel/add' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "tipo": "gtmpixel",
    "nome": "Meu GTM",
    "tag": "GTM-ABCDE"
}' 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/pixel/add",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    CURLOPT_POSTFIELDS => 
        '{
	    "tipo": "gtmpixel",
	    "nome": "Meu GTM",
	    "tag": "GTM-ABCDE"
	}',
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «POST»,
    'url': 'https://urlkai.com/api/pixel/add',
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    corpo: JSON.stringify({
    "tipo": "gtmpixel",
    "nome": "Meu GTM",
    "tag": "GTM-ABCDE"
}),
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/pixel/add"
carga útil = {
    "tipo": "gtmpixel",
    "nome": "Meu GTM",
    "tag": "GTM-ABCDE"
}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("POST", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Post, "https://urlkai.com/api/pixel/add");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{
    "tipo": "gtmpixel",
    "nome": "Meu GTM",
    "tag": "GTM-ABCDE"
}", System.Text.Encoding.UTF8, "aplicação/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "ID": 1
} 
Update Pixel
PUT https://urlkai.com/api/pixel/:id/update

Para atualizar um pixel, você precisa enviar dados válidos em JSON por meio de uma solicitação PUT. Os dados devem ser enviados como o corpo bruto do seu pedido, conforme mostrado abaixo. O exemplo abaixo mostra todos os parâmetros que você pode enviar, mas não é obrigado a enviar todos (Consulte a tabela para obter mais informações).

Parâmetro Descrição
Designação (facultativo) Nome personalizado para o pixel
tag (obrigatório) A tag para o pixel
curl --location --request PUT 'https://urlkai.com/api/pixel/:id/update' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "nome": "Meu GTM",
    "tag": "GTM-ABCDE"
}' 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/pixel/:id/update",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    CURLOPT_POSTFIELDS => 
        '{
	    "nome": "Meu GTM",
	    "tag": "GTM-ABCDE"
	}',
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «PUT»,
    «url»: «https://urlkai.com/api/pixel/:id/update»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    corpo: JSON.stringify({
    "nome": "Meu GTM",
    "tag": "GTM-ABCDE"
}),
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/pixel/:id/update"
carga útil = {
    "nome": "Meu GTM",
    "tag": "GTM-ABCDE"
}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
resposta = requests.request("PUT", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Put, "https://urlkai.com/api/pixel/:id/update");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{
    "nome": "Meu GTM",
    "tag": "GTM-ABCDE"
}", System.Text.Encoding.UTF8, "aplicação/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "message": "O pixel foi atualizado com êxito."
} 
Excluir pixel
DELETE https://urlkai.com/api/pixel/:id/delete

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

curl --location --request DELETE 'https://urlkai.com/api/pixel/:id/delete' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/pixel/:id/delete",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "ELIMINAR",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «ELIMINAR»,
    «url»: «https://urlkai.com/api/pixel/:id/delete»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/pixel/:id/delete"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
resposta = requests.request("DELETE", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Delete, "https://urlkai.com/api/pixel/:id/delete");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "message": "O pixel foi excluído com êxito."
} 

Códigos QR

Listar códigos QR
GET https://urlkai.com/api/qr?limit=2&page=1

Para obter seus códigos QR através da API, você pode usar este endpoint. Você também pode filtrar dados (Consulte a tabela para obter mais informações).

Parâmetro Descrição
limite (facultativo) Resultado de dados por página
página (facultativo) Pedido de página atual
curl --location --request GET 'https://urlkai.com/api/qr?limit=2&page=1' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/qr?limit=2&page=1",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "OBTER",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «GET»,
    «url»: «https://urlkai.com/api/qr?limit=2&page=1»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/qr?limit=2&page=1"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("GET", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Get, "https://urlkai.com/api/qr?limit=2&page=1");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": "0",
    "dados": {
        "resultado": 2,
        "Perpage": 2,
        "currentpage": 1,
        "página seguinte": 1,
        "maxpage": 1,
        "QRS": [
            {
                "ID": 2,
                "link": "https:\/\/urlkai.com\/qr\/a2d5e",
                "Exames": 0,
                "nome": "Google",
                "Data": "2020-11-10 18:01:43"
            },
            {
                "id": 1,
                "link": "https:\/\/urlkai.com\/qr\/b9edfe",
                "Exames": 5,
                "nome": "Google Canadá",
                "Data": "2020-11-10 18:00:25"
            }
        ]
    }
} 
Obtenha um único QR Code
GET https://urlkai.com/api/qr/:id

Para obter detalhes para um único código QR através da API, você pode usar este ponto de extremidade.

curl --location --request GET 'https://urlkai.com/api/qr/:id' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/qr/:id",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "OBTER",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «GET»,
    'url': 'https://urlkai.com/api/qr/:id',
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/qr/:id"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("GET", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Get, "https://urlkai.com/api/qr/:id");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "detalhes": {
        "id": 1,
        "link": "https:\/\/urlkai.com\/qr\/b9edfe",
        "Exames": 5,
        "nome": "Google Canadá",
        "Data": "2020-11-10 18:00:25"
    },
    "dados": {
        "cliques": 1,
        "uniqueClicks": 1,
        "topCountries": {
            "Desconhecido": "1"
        },
        "topReferrers": {
            "Direto, e-mail e outros": "1"
        },
        "topBrowsers": {
            "Chrome": "1"
        },
        "topOs": {
            "Windows 10": "1"
        },
        "socialCount": {
            "Facebook": 0,
            "Twitter": 0,
            "Instagram": 0
        }
    }
} 
Crie um QR Code
POST https://urlkai.com/api/qr/add

Para criar um QR Code, você precisa enviar um dado válido em JSON por meio de uma solicitação POST. Os dados devem ser enviados como o corpo bruto do seu pedido, conforme mostrado abaixo. O exemplo abaixo mostra todos os parâmetros que você pode enviar, mas não é obrigado a enviar todos (Consulte a tabela para obter mais informações).

Parâmetro Descrição
tipo texto (obrigatório) | vcard | ligação | e-mail | telefone | SMS | Wi-Fi
dados (obrigatório) Dados a incorporar dentro do código QR. Os dados podem ser string ou array, dependendo do tipo
Contexto geral (facultativo) Cor RGB, por exemplo, rgb(255,255,255)
primeiro plano (facultativo) Cor RGB, por exemplo, rgb(0,0,0)
Logótipo (facultativo) Caminho para o logotipo png ou jpg
Designação (facultativo) Nome do código QR
curl --location --request POST 'https://urlkai.com/api/qr/add' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "tipo": "link",
    "dados": "https:\/\/google.com",
    "Antecedentes": "RGB(255,255,255)",
    "primeiro plano": "rgb(0,0,0)",
    "logótipo": "https:\/\/site.com\/logo.png",
    "nome": "QR Code API"
}' 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/qr/add",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    CURLOPT_POSTFIELDS => 
        '{
	    "tipo": "link",
	    "dados": "https:\/\/google.com",
	    "Antecedentes": "RGB(255,255,255)",
	    "primeiro plano": "rgb(0,0,0)",
	    "logótipo": "https:\/\/site.com\/logo.png",
	    "nome": "QR Code API"
	}',
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «POST»,
    «url»: «https://urlkai.com/api/qr/add»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    corpo: JSON.stringify({
    "tipo": "link",
    "dados": "https:\/\/google.com",
    "Antecedentes": "RGB(255,255,255)",
    "primeiro plano": "rgb(0,0,0)",
    "logótipo": "https:\/\/site.com\/logo.png",
    "nome": "QR Code API"
}),
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/qr/add"
carga útil = {
    "tipo": "link",
    "dados": "https://google.com",
    "Antecedentes": "RGB(255,255,255)",
    "primeiro plano": "rgb(0,0,0)",
    "logótipo": "https://site.com/logo.png",
    "nome": "QR Code API"
}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
response = requests.request("POST", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Post, "https://urlkai.com/api/qr/add");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{
    "tipo": "link",
    "dados": "https:\/\/google.com",
    "Antecedentes": "RGB(255,255,255)",
    "primeiro plano": "rgb(0,0,0)",
    "logótipo": "https:\/\/site.com\/logo.png",
    "nome": "QR Code API"
}", System.Text.Encoding.UTF8, "aplicação/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "ID": 3,
    "link": "https:\/\/urlkai.com\/qr\/a58f79"
} 
Atualizar QR Code
PUT https://urlkai.com/api/qr/:id/update

Para atualizar um QR Code, você precisa enviar um dado válido em JSON por meio de uma solicitação PUT. Os dados devem ser enviados como o corpo bruto do seu pedido, conforme mostrado abaixo. O exemplo abaixo mostra todos os parâmetros que você pode enviar, mas não é obrigado a enviar todos (Consulte a tabela para obter mais informações).

Parâmetro Descrição
dados (obrigatório) Dados a incorporar dentro do código QR. Os dados podem ser string ou array, dependendo do tipo
Contexto geral (facultativo) Cor RGB, por exemplo, rgb(255,255,255)
primeiro plano (facultativo) Cor RGB, por exemplo, rgb(0,0,0)
Logótipo (facultativo) Caminho para o logotipo png ou jpg
curl --location --request PUT 'https://urlkai.com/api/qr/:id/update' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "tipo": "link",
    "dados": "https:\/\/google.com",
    "Antecedentes": "RGB(255,255,255)",
    "primeiro plano": "rgb(0,0,0)",
    "logotipo": "https:\/\/site.com\/logo.png"
}' 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/qr/:id/update",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    CURLOPT_POSTFIELDS => 
        '{
	    "tipo": "link",
	    "dados": "https:\/\/google.com",
	    "Antecedentes": "RGB(255,255,255)",
	    "primeiro plano": "rgb(0,0,0)",
	    "logotipo": "https:\/\/site.com\/logo.png"
	}',
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «PUT»,
    «url»: «https://urlkai.com/api/qr/:id/update»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    corpo: JSON.stringify({
    "tipo": "link",
    "dados": "https:\/\/google.com",
    "Antecedentes": "RGB(255,255,255)",
    "primeiro plano": "rgb(0,0,0)",
    "logotipo": "https:\/\/site.com\/logo.png"
}),
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/qr/:id/update"
carga útil = {
    "tipo": "link",
    "dados": "https://google.com",
    "Antecedentes": "RGB(255,255,255)",
    "primeiro plano": "rgb(0,0,0)",
    "logótipo": "https://site.com/logo.png"
}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
resposta = requests.request("PUT", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Put, "https://urlkai.com/api/qr/:id/update");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{
    "tipo": "link",
    "dados": "https:\/\/google.com",
    "Antecedentes": "RGB(255,255,255)",
    "primeiro plano": "rgb(0,0,0)",
    "logotipo": "https:\/\/site.com\/logo.png"
}", System.Text.Encoding.UTF8, "aplicação/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "message": "QR foi atualizado com sucesso."
} 
Excluir um QR Code
DELETE https://urlkai.com/api/qr/:id/delete

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

curl --location --request DELETE 'https://urlkai.com/api/qr/:id/delete' \
--cabeçalho 'Autorização: Portador YOURAPIKEY' \
--header 'Content-Type: application/json' \ 
$curl = curl_init();

curl_setopt_array($curl, matriz(
    CURLOPT_URL => "https://urlkai.com/api/qr/:id/delete",
    CURLOPT_RETURNTRANSFER => verdadeiro,
    CURLOPT_MAXREDIRS => 2,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_FOLLOWLOCATION => verdadeiro,
    CURLOPT_CUSTOMREQUEST => "ELIMINAR",
    CURLOPT_HTTPHEADER => [
        "Autorização: Portador YOURAPIKEY",
        "Tipo de conteúdo: application/json",
    ],
    
));

$response = curl_exec($curl);

curl_close($curl);
eco $response; 
var request = require('pedido');
var options = {
    «método»: «ELIMINAR»,
    «url»: «https://urlkai.com/api/qr/:id/delete»,
    'cabeçalhos': {
        «Autorização»: «Portador YOURAPIKEY»,
        'Content-Type': 'aplicativo/json'
    },
    
};
request(options, function (error, response) {
    se (erro) lançar novo Error(error);
    console.log(resposta.corpo);
}); 
Pedidos de importação
url = "https://urlkai.com/api/qr/:id/delete"
carga útil = {}
cabeçalhos = {
    «Autorização»: «Portador YOURAPIKEY»,
    'Content-Type': 'aplicativo/json'
}
resposta = requests.request("DELETE", url, headers=headers, json=payload)
imprimir(response.text) 
var client = novo HttpClient();
var request = novo HttpRequestMessage(HttpMethod.Delete, "https://urlkai.com/api/qr/:id/delete");
pedido. Headers.Add("Autorização", "Portador YOURAPIKEY");
var content = novo StringContent("{}", System.Text.Encoding.UTF8, "application/json");
pedido. Conteúdo = conteúdo;
var response = await cliente. SendAsync(solicitação);
resposta. EnsureSuccessStatusCode();
Console.WriteLine(aguarde resposta. Content.ReadAsStringAsync()); 
Server response
{
    "erro": 0,
    "message": "QR Code foi excluído com sucesso."
}