Referência de API para desenvolvedores

Começando

Uma chave de API é necessária para que as solicitações sejam processadas pelo sistema. Depois que um usuário se registra, uma chave de API é gerada automaticamente para esse usuário. A chave de API deve ser enviada com cada solicitação (veja o exemplo completo abaixo). Se a chave de API não for enviada ou tiver expirado, ocorrerá um erro. Certifique-se de manter sua chave de API em segredo para evitar abusos.

Autenticação

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

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()); 
Taxa limite

Nossa API tem um limitador de taxa para proteger contra picos de solicitações para maximizar sua estabilidade. Nosso limitador de taxa está limitado a 30 solicitações por 1 minuto. Por favor, note que a tarifa pode mudar de acordo com o plano subscrito.

Vários cabeçalhos serão enviados juntamente com a resposta e estes podem ser examinados para determinar várias informações sobre a solicitação.

X-RateLimit-Limit: 30
X-RateLimit-Remaining: 29
X-RateLimit-Reset: TIMESTAMP
Tratamento de respostas

Todas as respostas da API são retornadas no formato JSON por padrão. Para converter isso em dados utilizáveis, a função apropriada precisará ser usada de acordo com o idioma. Em PHP, a função json_decode() pode ser usada para converter os dados em um objeto (padrão) ou um array (defina o segundo parâmetro como true). É muito importante verificar a chave de erro, pois ela fornece informações sobre se houve ou não um erro. Você também pode verificar o código do cabeçalho.

{
    "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()); 
Resposta do servidor
{
    "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()); 
Resposta do servidor
{
    "erro": 0,
    "message": "A conta foi atualizada com sucesso."
} 

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()); 
Resposta do servidor
{
    "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"
            }
        ]
    }
} 
Crie uma campanha
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()); 
Resposta do servidor
{
    "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()); 
Resposta do servidor
{
    "erro": 0,
    "message": "Link adicionado com sucesso à campanha."
} 
Atualizar campanha
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()); 
Resposta do servidor
{
    "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()); 
Resposta do servidor
{
    "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()); 
Resposta do servidor
{
    "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()); 
Resposta do servidor
{
    "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"
            }
        ]
    }
} 
Criar um canal
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()); 
Resposta do servidor
{
    "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()); 
Resposta do servidor
{
    "erro": 0,
    "message": "Item adicionado com êxito ao canal."
} 
Atualizar canal
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()); 
Resposta do servidor
{
    "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()); 
Resposta do servidor
{
    "erro": 0,
    "message": "O canal 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()); 
Resposta do servidor
{
    "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()); 
Resposta do servidor
{
    "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()); 
Resposta do servidor
{
    "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()); 
Resposta do servidor
{
    "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()); 
Resposta do servidor
{
    "erro": 0,
    "message": "QR Code foi excluído 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()); 
Resposta do servidor
{
    "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()); 
Resposta do servidor
{
    "erro": 0,
    "ID": 1
} 
Atualizar domínio
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()); 
Resposta do servidor
{
    "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()); 
Resposta do servidor
{
    "erro": 0,
    "message": "O domínio foi excluído com êxito."
} 

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());
Resposta do servidor
{
    "error": 0,
    "result": 3,
    "perpage": 15,
    "currentpage": 1,
    "nextpage": null,
    "maxpage": 1,
    "list": [
        {
            "id": 1,
            "name": "My Photo",
            "downloads": 10,
            "shorturl": "https:\/\/urlkai.com\/UmRVU",
            "date": "2022-08-09 17:00:00"
        },
        {
            "id": 2,
            "name": "My Documents",
            "downloads": 15,
            "shorturl": "https:\/\/urlkai.com\/DaCnh",
            "date": "2022-08-10 17:01:00"
        },
        {
            "id": 3,
            "name": "My Files",
            "downloads": 5,
            "shorturl": "https:\/\/urlkai.com\/tMBQd",
            "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());
Resposta do servidor
{
    "error": 0,
    "id": 1,
    "shorturl": "https:\/\/urlkai.com\/ROyPi"
}

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()); 
Resposta do servidor
{
    "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()); 
Resposta do servidor
{
    "erro": 0,
    "ID": 1
} 
Atualizar 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()); 
Resposta do servidor
{
    "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()); 
Resposta do servidor
{
    "erro": 0,
    "message": "O pixel 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()); 
Resposta do servidor
{
    "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"
            }
        ]
    }
} 

Splash personalizado

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()); 
Resposta do servidor
{
    "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"
            }
        ]
    }
}