Referencia de API para desarrolladores
Empezando
Se requiere una clave API para que el sistema procese las solicitudes. Una vez que un usuario se registra, se genera automáticamente una clave API para este usuario. La clave API debe enviarse con cada solicitud (consulte el ejemplo completo a continuación). Si la clave API no se envía o está caducada, habrá un error. Asegúrese de mantener en secreto su clave API para evitar abusos.
Autenticación
Para autenticarse con el sistema API, debe enviar su clave API como un token de autorización con cada solicitud. Puede ver el código de muestra a continuación.
curl --location --request POST 'https://linko.me/api/url/add' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/url/add",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
Límite de tarifa
Nuestra API tiene un limitador de velocidad para protegerse contra picos en las solicitudes para maximizar su estabilidad. Nuestro limitador de frecuencia actualmente tiene un límite de 30 solicitudes por 1 minuto.
Se enviarán varios encabezados junto con la respuesta y estos se pueden examinar para determinar información diversa sobre la solicitud.
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 29
X-RateLimit-Reset: TIMESTAMP
Manejo de respuestas
Todas las respuestas de la API se devuelven en formato JSON de forma predeterminada. Para convertir esto en datos utilizables, será necesario utilizar la función adecuada según el idioma. En PHP, la función json_decode() se puede usar para convertir los datos en un objeto (predeterminado) o en una matriz (establezca el segundo parámetro en verdadero). Es muy importante verificar la clave de error ya que proporciona información sobre si hubo un error o no. También puede consultar el código de cabecera.
{
"error": 1,
"message": "An error ocurred"
}
Campañas
List Campaigns
https://linko.me/api/campaigns?limit=2&page=1
To get your campaigns via the API, you can use this endpoint. You can also filter data (See table for more info).
Parámetro | Descripción |
---|---|
limit | (optional) Per page data result |
page | (optional) Current page request |
curl --location --request GET 'https://linko.me/api/campaigns?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/campaigns?limit=2&page=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"campaigns": [
{
"id": 1,
"name": "Sample Campaign",
"public": false,
"rotator": false,
"list": "https:\/\/domain.com\/u\/admin\/list-1"
},
{
"id": 2,
"domain": "Facebook Campaign",
"public": true,
"rotator": "https:\/\/domain.com\/r\/test",
"list": "https:\/\/domain.com\/u\/admin\/test-2"
}
]
}
}
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"campaigns": [
{
"id": 1,
"name": "Sample Campaign",
"public": false,
"rotator": false,
"list": "https:\/\/domain.com\/u\/admin\/list-1"
},
{
"id": 2,
"domain": "Facebook Campaign",
"public": true,
"rotator": "https:\/\/domain.com\/r\/test",
"list": "https:\/\/domain.com\/u\/admin\/test-2"
}
]
}
}
Crear una campaña
https://linko.me/api/campaign/add
A campaign can be added using this endpoint.
Parámetro | Descripción |
---|---|
name | (optional) Campaign name |
slug | (optional) Rotator Slug |
public | (optional) Access |
curl --location --request POST 'https://linko.me/api/campaign/add' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "New Campaign",
"slug": "new-campaign",
"public": true
}'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/campaign/add",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
CURLOPT_POSTFIELDS => json_encode(array (
'name' => 'New Campaign',
'slug' => 'new-campaign',
'public' => true,
)),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"id": 3,
"domain": "New Campaign",
"public": true,
"rotator": "https:\/\/domain.com\/r\/new-campaign",
"list": "https:\/\/domain.com\/u\/admin\/new-campaign-3"
}
{
"error": 0,
"id": 3,
"domain": "New Campaign",
"public": true,
"rotator": "https:\/\/domain.com\/r\/new-campaign",
"list": "https:\/\/domain.com\/u\/admin\/new-campaign-3"
}
Assign a Link to a Campaign
https://linko.me/api/campaign/:campaignid/assign/:linkid
A short link can be assigned to a campaign using this endpoint. The endpoint requires the campaign ID and the short link ID.
curl --location --request POST 'https://linko.me/api/campaign/:campaignid/assign/:linkid' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/campaign/:campaignid/assign/:linkid",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"message": "Link successfully added to the campaign."
}
{
"error": 0,
"message": "Link successfully added to the campaign."
}
Actualizar campaña
https://linko.me/api/campaign/:id/update
To update a campaign, you need to send a valid data in JSON via a PUT request. The data must be sent as the raw body of your request as shown below. The example below shows all the parameters you can send but you are not required to send all (See table for more info).
Parámetro | Descripción |
---|---|
name | (required) Campaign name |
slug | (optional) Rotator Slug |
public | (optional) Access |
curl --location --request PUT 'https://linko.me/api/campaign/:id/update' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Twitter Campaign",
"slug": "twitter-campaign",
"public": true
}'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/campaign/:id/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
CURLOPT_POSTFIELDS => json_encode(array (
'name' => 'Twitter Campaign',
'slug' => 'twitter-campaign',
'public' => true,
)),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"id": 3,
"domain": "Twitter Campaign",
"public": true,
"rotator": "https:\/\/domain.com\/r\/twitter-campaign",
"list": "https:\/\/domain.com\/u\/admin\/twitter-campaign-3"
}
{
"error": 0,
"id": 3,
"domain": "Twitter Campaign",
"public": true,
"rotator": "https:\/\/domain.com\/r\/twitter-campaign",
"list": "https:\/\/domain.com\/u\/admin\/twitter-campaign-3"
}
Delete Campaign
https://linko.me/api/campaign/:id/delete
To delete a campaign, you need to send a DELETE request.
curl --location --request DELETE 'https://linko.me/api/campaign/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/campaign/:id/delete",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"message": "Campaign has been deleted successfully."
}
{
"error": 0,
"message": "Campaign has been deleted successfully."
}
Canales
List Channels
https://linko.me/api/channels?limit=2&page=1
To get your channels via the API, you can use this endpoint. You can also filter data (See table for more info).
Parámetro | Descripción |
---|---|
limit | (optional) Per page data result |
page | (optional) Current page request |
curl --location --request GET 'https://linko.me/api/channels?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/channels?limit=2&page=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"channels": [
{
"id": 1,
"name": "Channel 1",
"description": "Description of channel 1",
"color": "#000000",
"starred": true
},
{
"id": 2,
"name": "Channel 2",
"description": "Description of channel 2",
"color": "#FF0000",
"starred": false
}
]
}
}
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"channels": [
{
"id": 1,
"name": "Channel 1",
"description": "Description of channel 1",
"color": "#000000",
"starred": true
},
{
"id": 2,
"name": "Channel 2",
"description": "Description of channel 2",
"color": "#FF0000",
"starred": false
}
]
}
}
List Channel Items
https://linko.me/api/channel/:id?limit=1&page=1
To get items in a select channels via the API, you can use this endpoint. You can also filter data (See table for more info).
Parámetro | Descripción |
---|---|
limit | (optional) Per page data result |
page | (optional) Current page request |
curl --location --request GET 'https://linko.me/api/channel/:id?limit=1&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/channel/:id?limit=1&page=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"items": [
{
"type": "links",
"id": 1,
"title": "My Sample Link",
"preview": "https:\/\/google.com",
"link": "https:\/\/linko.me\/google",
"date": "2022-05-12"
},
{
"type": "bio",
"id": 1,
"title": "My Sample Bio",
"preview": "https:\/\/linko.me\/mybio",
"link": "https:\/\/linko.me\/mybio",
"date": "2022-06-01"
}
]
}
}
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"items": [
{
"type": "links",
"id": 1,
"title": "My Sample Link",
"preview": "https:\/\/google.com",
"link": "https:\/\/linko.me\/google",
"date": "2022-05-12"
},
{
"type": "bio",
"id": 1,
"title": "My Sample Bio",
"preview": "https:\/\/linko.me\/mybio",
"link": "https:\/\/linko.me\/mybio",
"date": "2022-06-01"
}
]
}
}
Crear un canal
https://linko.me/api/channel/add
A channel can be added using this endpoint.
Parámetro | Descripción |
---|---|
name | (required) Channel name |
description | (optional) Channel description |
color | (optional) Channel badge color (HEX) |
starred | (optional) Star the channel or not (true or false) |
curl --location --request POST 'https://linko.me/api/channel/add' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "New Channel",
"description": "my new channel",
"color": "#000000",
"starred": true
}'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/channel/add",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
CURLOPT_POSTFIELDS => json_encode(array (
'name' => 'New Channel',
'description' => 'my new channel',
'color' => '#000000',
'starred' => true,
)),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"id": 3,
"name": "New Channel",
"description": "my new channel",
"color": "#000000",
"starred": true
}
{
"error": 0,
"id": 3,
"name": "New Channel",
"description": "my new channel",
"color": "#000000",
"starred": true
}
Assign an Item to a Channel
https://linko.me/api/channel/:channelid/assign/:type/:itemid
An item can be assigned to any channel by sending a request with the channel id, item type (links, bio or qr) and item id.
Parámetro | Descripción |
---|---|
:channelid | (required) Channel ID |
:type | (required) links or bio or qr |
:itemid | (required) Item ID |
curl --location --request POST 'https://linko.me/api/channel/:channelid/assign/:type/:itemid' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/channel/:channelid/assign/:type/:itemid",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"message": "Item successfully added to the channel."
}
{
"error": 0,
"message": "Item successfully added to the channel."
}
Actualizar canal
https://linko.me/api/channel/:id/update
To update a channel, you need to send a valid data in JSON via a PUT request. The data must be sent as the raw body of your request as shown below. The example below shows all the parameters you can send but you are not required to send all (See table for more info).
Parámetro | Descripción |
---|---|
name | (optional) Channel name |
description | (optional) Channel description |
color | (optional) Channel badge color (HEX) |
starred | (optional) Star the channel or not (true or false) |
curl --location --request PUT 'https://linko.me/api/channel/:id/update' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Acme Corp",
"description": "channel for items for Acme Corp",
"color": "#FFFFFF",
"starred": false
}'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/channel/:id/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
CURLOPT_POSTFIELDS => json_encode(array (
'name' => 'Acme Corp',
'description' => 'channel for items for Acme Corp',
'color' => '#FFFFFF',
'starred' => false,
)),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"message": "Channel has been updated successfully."
}
{
"error": 0,
"message": "Channel has been updated successfully."
}
Delete Channel
https://linko.me/api/channel/:id/delete
To delete a channel, you need to send a DELETE request. All items will be unassigned as well.
curl --location --request DELETE 'https://linko.me/api/channel/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/channel/:id/delete",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"message": "Channel has been deleted successfully."
}
{
"error": 0,
"message": "Channel has been deleted successfully."
}
Cuenta
Obtener cuenta
https://linko.me/api/account
Para obtener información sobre la cuenta, puede enviar una solicitud a este punto final y devolverá datos sobre la cuenta.
curl --location --request GET 'https://linko.me/api/account' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/account",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"data": {
"id": 1,
"email": "[email protected]",
"username": "sampleuser",
"avatar": "https:\/\/domain.com\/content\/avatar.png",
"status": "pro",
"expires": "2022-11-15 15:00:00",
"registered": "2020-11-10 18:01:43"
}
}
{
"error": 0,
"data": {
"id": 1,
"email": "[email protected]",
"username": "sampleuser",
"avatar": "https:\/\/domain.com\/content\/avatar.png",
"status": "pro",
"expires": "2022-11-15 15:00:00",
"registered": "2020-11-10 18:01:43"
}
}
Actualizar cuenta
https://linko.me/api/account/update
Para actualizar la información de la cuenta, puede enviar una solicitud a este punto final y actualizará los datos de la cuenta.
curl --location --request PUT 'https://linko.me/api/account/update' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "[email protected]",
"password": "newpassword"
}'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/account/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
CURLOPT_POSTFIELDS => json_encode(array (
'email' => '[email protected]',
'password' => 'newpassword',
)),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"message": "Account has been successfully updated."
}
{
"error": 0,
"message": "Account has been successfully updated."
}
Códigos QR
List QR codes
https://linko.me/api/qr?limit=2&page=1
Para obtener sus códigos QR a través de la API, puede usar este punto final. También puede filtrar datos (Ver tabla para más información).
Parámetro | Descripción |
---|---|
limit | (optional) Per page data result |
page | (optional) Current page request |
curl --location --request GET 'https://linko.me/api/qr?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/qr?limit=2&page=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"qrs": [
{
"id": 2,
"link": "https:\/\/linko.me\/qr\/a2d5e",
"scans": 0,
"name": "Google",
"date": "2020-11-10 18:01:43"
},
{
"id": 1,
"link": "https:\/\/linko.me\/qr\/b9edfe",
"scans": 5,
"name": "Google Canada",
"date": "2020-11-10 18:00:25"
}
]
}
}
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"qrs": [
{
"id": 2,
"link": "https:\/\/linko.me\/qr\/a2d5e",
"scans": 0,
"name": "Google",
"date": "2020-11-10 18:01:43"
},
{
"id": 1,
"link": "https:\/\/linko.me\/qr\/b9edfe",
"scans": 5,
"name": "Google Canada",
"date": "2020-11-10 18:00:25"
}
]
}
}
Obtenga un solo código QR
https://linko.me/api/qr/:id
Para obtener detalles de un solo código QR a través de la API, puede usar este punto final.
curl --location --request GET 'https://linko.me/api/qr/:id' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/qr/:id",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"details": {
"id": 1,
"link": "https:\/\/linko.me\/qr\/b9edfe",
"scans": 5,
"name": "Google Canada",
"date": "2020-11-10 18:00:25"
},
"data": {
"clicks": 1,
"uniqueClicks": 1,
"topCountries": {
"Unknown": "1"
},
"topReferrers": {
"Direct, email and other": "1"
},
"topBrowsers": {
"Chrome": "1"
},
"topOs": {
"Windows 10": "1"
},
"socialCount": {
"facebook": 0,
"twitter": 0,
"instagram": 0
}
}
}
{
"error": 0,
"details": {
"id": 1,
"link": "https:\/\/linko.me\/qr\/b9edfe",
"scans": 5,
"name": "Google Canada",
"date": "2020-11-10 18:00:25"
},
"data": {
"clicks": 1,
"uniqueClicks": 1,
"topCountries": {
"Unknown": "1"
},
"topReferrers": {
"Direct, email and other": "1"
},
"topBrowsers": {
"Chrome": "1"
},
"topOs": {
"Windows 10": "1"
},
"socialCount": {
"facebook": 0,
"twitter": 0,
"instagram": 0
}
}
}
Crear un código QR
https://linko.me/api/qr/add
To create a QR Code, you need to send a valid data in JSON via a POST request. The data must be sent as the raw body of your request as shown below. The example below shows all the parameters you can send but you are not required to send all (See table for more info).
Parámetro | Descripción |
---|---|
type | (required) text | vcard | link | email | phone | sms | wifi |
data | (required) Data to be embedded inside the QR code. The data can be string or array depending on the type |
background | (optional) RGB color e.g. rgb(255,255,255) |
foreground | (optional) RGB color e.g. rgb(0,0,0) |
logo | (optional) Path to the logo either png or jpg |
curl --location --request POST 'https://linko.me/api/qr/add' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"type": "link",
"data": "https:\/\/google.com",
"background": "rgb(255,255,255)",
"foreground": "rgb(0,0,0)",
"logo": "https:\/\/site.com\/logo.png"
}'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/qr/add",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
CURLOPT_POSTFIELDS => json_encode(array (
'type' => 'link',
'data' => 'https://google.com',
'background' => 'rgb(255,255,255)',
'foreground' => 'rgb(0,0,0)',
'logo' => 'https://site.com/logo.png',
)),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"id": 3,
"link": "https:\/\/linko.me\/qr\/a58f79"
}
{
"error": 0,
"id": 3,
"link": "https:\/\/linko.me\/qr\/a58f79"
}
Update QR Code
https://linko.me/api/qr/:id/update
Para actualizar un código QR, debe enviar datos válidos en JSON a través de una solicitud PUT. Los datos deben enviarse como el cuerpo sin procesar de su solicitud, como se muestra a continuación. El siguiente ejemplo muestra todos los parámetros que puede enviar, pero no es necesario que los envíe todos (consulte la tabla para obtener más información).
Parámetro | Descripción |
---|---|
data | (required) Data to be embedded inside the QR code. The data can be string or array depending on the type |
background | (optional) RGB color e.g. rgb(255,255,255) |
foreground | (optional) RGB color e.g. rgb(0,0,0) |
logo | (optional) Path to the logo either png or jpg |
curl --location --request PUT 'https://linko.me/api/qr/:id/update' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"type": "link",
"data": "https:\/\/google.com",
"background": "rgb(255,255,255)",
"foreground": "rgb(0,0,0)",
"logo": "https:\/\/site.com\/logo.png"
}'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/qr/:id/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
CURLOPT_POSTFIELDS => json_encode(array (
'type' => 'link',
'data' => 'https://google.com',
'background' => 'rgb(255,255,255)',
'foreground' => 'rgb(0,0,0)',
'logo' => 'https://site.com/logo.png',
)),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"message": "QR has been updated successfully."
}
{
"error": 0,
"message": "QR has been updated successfully."
}
Eliminar un código QR
https://linko.me/api/qr/:id/delete
Para eliminar un código QR, debe enviar una solicitud de ELIMINACIÓN.
curl --location --request DELETE 'https://linko.me/api/qr/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/qr/:id/delete",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"message": "QR Code has been deleted successfully."
}
{
"error": 0,
"message": "QR Code has been deleted successfully."
}
Dominios de marca
List Branded Domains
https://linko.me/api/domains?limit=2&page=1
To get your branded domains via the API, you can use this endpoint. You can also filter data (See table for more info).
Parámetro | Descripción |
---|---|
limit | (optional) Per page data result |
page | (optional) Current page request |
curl --location --request GET 'https://linko.me/api/domains?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/domains?limit=2&page=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"domains": [
{
"id": 1,
"domain": "https:\/\/domain1.com",
"redirectroot": "https:\/\/rootdomain.com",
"redirect404": "https:\/\/rootdomain.com\/404"
},
{
"id": 2,
"domain": "https:\/\/domain2.com",
"redirectroot": "https:\/\/rootdomain2.com",
"redirect404": "https:\/\/rootdomain2.com\/404"
}
]
}
}
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"domains": [
{
"id": 1,
"domain": "https:\/\/domain1.com",
"redirectroot": "https:\/\/rootdomain.com",
"redirect404": "https:\/\/rootdomain.com\/404"
},
{
"id": 2,
"domain": "https:\/\/domain2.com",
"redirectroot": "https:\/\/rootdomain2.com",
"redirect404": "https:\/\/rootdomain2.com\/404"
}
]
}
}
Create a Branded Domain
https://linko.me/api/domain/add
A domain can be added using this endpoint. Please make sure the domain is correctly pointed to our server.
Parámetro | Descripción |
---|---|
domain | (required) Branded domain including http or https |
redirectroot | (optional) Root redirect when someone visits your domain |
redirect404 | (optional) Custom 404 redirect |
curl --location --request POST 'https://linko.me/api/domain/add' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"domain": "https:\/\/domain1.com",
"redirectroot": "https:\/\/rootdomain.com",
"redirect404": "https:\/\/rootdomain.com\/404"
}'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/domain/add",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
CURLOPT_POSTFIELDS => json_encode(array (
'domain' => 'https://domain1.com',
'redirectroot' => 'https://rootdomain.com',
'redirect404' => 'https://rootdomain.com/404',
)),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"id": 1
}
{
"error": 0,
"id": 1
}
Actualizar dominio
https://linko.me/api/domain/:id/update
To update a branded domain, you need to send a valid data in JSON via a PUT request. The data must be sent as the raw body of your request as shown below. The example below shows all the parameters you can send but you are not required to send all (See table for more info).
Parámetro | Descripción |
---|---|
redirectroot | (optional) Root redirect when someone visits your domain |
redirect404 | (optional) Custom 404 redirect |
curl --location --request PUT 'https://linko.me/api/domain/:id/update' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"redirectroot": "https:\/\/rootdomain-new.com",
"redirect404": "https:\/\/rootdomain-new.com\/404"
}'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/domain/:id/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
CURLOPT_POSTFIELDS => json_encode(array (
'redirectroot' => 'https://rootdomain-new.com',
'redirect404' => 'https://rootdomain-new.com/404',
)),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"message": "Domain has been updated successfully."
}
{
"error": 0,
"message": "Domain has been updated successfully."
}
Delete Domain
https://linko.me/api/domain/:id/delete
To delete a domain, you need to send a DELETE request.
curl --location --request DELETE 'https://linko.me/api/domain/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/domain/:id/delete",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"message": "Domain has been deleted successfully."
}
{
"error": 0,
"message": "Domain has been deleted successfully."
}
Enlaces
List Links
https://linko.me/api/urls?limit=2&page=1&order=date
Para obtener sus enlaces a través de la API, puede usar este punto final. También puede filtrar datos (Ver tabla para más información).
Parámetro | Descripción |
---|---|
limit | (optional) Per page data result |
page | (optional) Current page request |
order | (optional) Sort data between date or click |
curl --location --request GET 'https://linko.me/api/urls?limit=2&page=1&order=date' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/urls?limit=2&page=1&order=date",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"urls": [
{
"id": 2,
"alias": "google",
"shorturl": "https:\/\/linko.me\/google",
"longurl": "https:\/\/google.com",
"clicks": 0,
"title": "Google",
"description": "",
"date": "2020-11-10 18:01:43"
},
{
"id": 1,
"alias": "googlecanada",
"shorturl": "https:\/\/linko.me\/googlecanada",
"longurl": "https:\/\/google.ca",
"clicks": 0,
"title": "Google Canada",
"description": "",
"date": "2020-11-10 18:00:25"
}
]
}
}
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"urls": [
{
"id": 2,
"alias": "google",
"shorturl": "https:\/\/linko.me\/google",
"longurl": "https:\/\/google.com",
"clicks": 0,
"title": "Google",
"description": "",
"date": "2020-11-10 18:01:43"
},
{
"id": 1,
"alias": "googlecanada",
"shorturl": "https:\/\/linko.me\/googlecanada",
"longurl": "https:\/\/google.ca",
"clicks": 0,
"title": "Google Canada",
"description": "",
"date": "2020-11-10 18:00:25"
}
]
}
}
Get a Single Link
https://linko.me/api/url/:id
Para obtener detalles de un solo enlace a través de la API, puede usar este punto final.
curl --location --request GET 'https://linko.me/api/url/:id' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/url/:id",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"details": {
"id": 1,
"shorturl": "https:\/\/linko.me\/googlecanada",
"longurl": "https:\/\/google.com",
"title": "Google",
"description": "",
"location": {
"canada": "https:\/\/google.ca",
"united states": "https:\/\/google.us"
},
"device": {
"iphone": "https:\/\/google.com",
"android": "https:\/\/google.com"
},
"expiry": null,
"date": "2020-11-10 18:01:43"
},
"data": {
"clicks": 0,
"uniqueClicks": 0,
"topCountries": 0,
"topReferrers": 0,
"topBrowsers": 0,
"topOs": 0,
"socialCount": {
"facebook": 0,
"twitter": 0,
"google": 0
}
}
}
{
"error": 0,
"details": {
"id": 1,
"shorturl": "https:\/\/linko.me\/googlecanada",
"longurl": "https:\/\/google.com",
"title": "Google",
"description": "",
"location": {
"canada": "https:\/\/google.ca",
"united states": "https:\/\/google.us"
},
"device": {
"iphone": "https:\/\/google.com",
"android": "https:\/\/google.com"
},
"expiry": null,
"date": "2020-11-10 18:01:43"
},
"data": {
"clicks": 0,
"uniqueClicks": 0,
"topCountries": 0,
"topReferrers": 0,
"topBrowsers": 0,
"topOs": 0,
"socialCount": {
"facebook": 0,
"twitter": 0,
"google": 0
}
}
}
acortar un enlace
https://linko.me/api/url/add
Para acortar un enlace, debe enviar datos válidos en JSON a través de una solicitud POST. Los datos deben enviarse como el cuerpo sin procesar de su solicitud, como se muestra a continuación. El siguiente ejemplo muestra todos los parámetros que puede enviar, pero no es necesario que los envíe todos (consulte la tabla para obtener más información).
Parámetro | Descripción |
---|---|
url | (required) Long URL to shorten. |
custom | (optional) Custom alias instead of random alias. |
type | (optional) Redirection type [direct, frame, splash], only id for custom splash page or overlay-id for cta pages |
password | (optional) Password protection |
domain | (optional) Custom Domain |
expiry | (optional) Expiration for the link example 2021-09-28 23:11:16 |
geotarget | (optional) Geo targeting data |
devicetarget | (optional) Device targeting data |
languagetarget | (optional) Language targeting data |
metatitle | (optional) Meta title |
metadescription | (optional) Meta description |
metaimage | (optional) Link to a jpg or png image |
curl --location --request POST 'https://linko.me/api/url/add' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"url": "https:\/\/google.com",
"custom": "google",
"password": "mypass",
"expiry": "2020-11-11 12:00:00",
"type": "splash",
"metatitle": "Not Google",
"metadescription": "Not Google description",
"metaimage": "https:\/\/www.mozilla.org\/media\/protocol\/img\/logos\/firefox\/browser\/og.4ad05d4125a5.png",
"geotarget": [
{
"location": "Canada",
"link": "https:\/\/google.ca"
},
{
"location": "United States",
"link": "https:\/\/google.us"
}
],
"devicetarget": [
{
"device": "iPhone",
"link": "https:\/\/google.com"
},
{
"device": "Android",
"link": "https:\/\/google.com"
}
],
"languagetarget": [
{
"language": "en",
"link": "https:\/\/google.com"
},
{
"language": "fr",
"link": "https:\/\/google.ca"
}
],
"parameters": [
{
"name": "aff",
"value": "3"
},
{
"device": "gtm_source",
"link": "api"
}
]
}'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/url/add",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
CURLOPT_POSTFIELDS => json_encode(array (
'url' => 'https://google.com',
'custom' => 'google',
'password' => 'mypass',
'expiry' => '2020-11-11 12:00:00',
'type' => 'splash',
'metatitle' => 'Not Google',
'metadescription' => 'Not Google description',
'metaimage' => 'https://www.mozilla.org/media/protocol/img/logos/firefox/browser/og.4ad05d4125a5.png',
'geotarget' =>
array (
0 =>
array (
'location' => 'Canada',
'link' => 'https://google.ca',
),
1 =>
array (
'location' => 'United States',
'link' => 'https://google.us',
),
),
'devicetarget' =>
array (
0 =>
array (
'device' => 'iPhone',
'link' => 'https://google.com',
),
1 =>
array (
'device' => 'Android',
'link' => 'https://google.com',
),
),
'languagetarget' =>
array (
0 =>
array (
'language' => 'en',
'link' => 'https://google.com',
),
1 =>
array (
'language' => 'fr',
'link' => 'https://google.ca',
),
),
'parameters' =>
array (
0 =>
array (
'name' => 'aff',
'value' => '3',
),
1 =>
array (
'device' => 'gtm_source',
'link' => 'api',
),
),
)),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"id": 3,
"shorturl": "https:\/\/linko.me\/google"
}
{
"error": 0,
"id": 3,
"shorturl": "https:\/\/linko.me\/google"
}
Actualizar enlace
https://linko.me/api/url/:id/update
Para actualizar un enlace, debe enviar datos válidos en JSON a través de una solicitud PUT. Los datos deben enviarse como el cuerpo sin procesar de su solicitud, como se muestra a continuación. El siguiente ejemplo muestra todos los parámetros que puede enviar, pero no es necesario que los envíe todos (consulte la tabla para obtener más información).
Parámetro | Descripción |
---|---|
url | (required) Long URL to shorten. |
custom | (optional) Custom alias instead of random alias. |
type | (optional) Redirection type [direct, frame, splash] |
password | (optional) Password protection |
domain | (optional) Custom Domain |
expiry | (optional) Expiration for the link example 2021-09-28 23:11:16 |
geotarget | (optional) Geo targeting data |
devicetarget | (optional) Device targeting data |
languagetarget | (optional) Language targeting data |
metatitle | (optional) Meta title |
metadescription | (optional) Meta description |
metaimage | (optional) Link to a jpg or png image |
curl --location --request PUT 'https://linko.me/api/url/:id/update' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"url": "https:\/\/google.com",
"custom": "google",
"password": "mypass",
"expiry": "2020-11-11 12:00:00",
"type": "splash",
"geotarget": [
{
"location": "Canada",
"link": "https:\/\/google.ca"
},
{
"location": "United States",
"link": "https:\/\/google.us"
}
],
"devicetarget": [
{
"device": "iPhone",
"link": "https:\/\/google.com"
},
{
"device": "Android",
"link": "https:\/\/google.com"
}
],
"parameters": [
{
"name": "aff",
"value": "3"
},
{
"device": "gtm_source",
"link": "api"
}
]
}'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/url/:id/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
CURLOPT_POSTFIELDS => json_encode(array (
'url' => 'https://google.com',
'custom' => 'google',
'password' => 'mypass',
'expiry' => '2020-11-11 12:00:00',
'type' => 'splash',
'geotarget' =>
array (
0 =>
array (
'location' => 'Canada',
'link' => 'https://google.ca',
),
1 =>
array (
'location' => 'United States',
'link' => 'https://google.us',
),
),
'devicetarget' =>
array (
0 =>
array (
'device' => 'iPhone',
'link' => 'https://google.com',
),
1 =>
array (
'device' => 'Android',
'link' => 'https://google.com',
),
),
'parameters' =>
array (
0 =>
array (
'name' => 'aff',
'value' => '3',
),
1 =>
array (
'device' => 'gtm_source',
'link' => 'api',
),
),
)),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"id": 3,
"short": "https:\/\/linko.me\/google"
}
{
"error": 0,
"id": 3,
"short": "https:\/\/linko.me\/google"
}
Eliminar un enlace
https://linko.me/api/url/:id/delete
Para eliminar un enlace, debe enviar una solicitud de ELIMINACIÓN.
curl --location --request DELETE 'https://linko.me/api/url/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/url/:id/delete",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"message": "Link has been deleted successfully"
}
{
"error": 0,
"message": "Link has been deleted successfully"
}
Personalizar página de bienvenida
List Custom Splash
https://linko.me/api/splash?limit=2&page=1
To get custom splash pages via the API, you can use this endpoint. You can also filter data (See table for more info).
Parámetro | Descripción |
---|---|
limit | (optional) Per page data result |
page | (optional) Current page request |
curl --location --request GET 'https://linko.me/api/splash?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/splash?limit=2&page=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"splash": [
{
"id": 1,
"name": "Product 1 Promo",
"date": "2020-11-10 18:00:00"
},
{
"id": 2,
"name": "Product 2 Promo",
"date": "2020-11-10 18:10:00"
}
]
}
}
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"splash": [
{
"id": 1,
"name": "Product 1 Promo",
"date": "2020-11-10 18:00:00"
},
{
"id": 2,
"name": "Product 2 Promo",
"date": "2020-11-10 18:10:00"
}
]
}
}
Pixels
List Pixels
https://linko.me/api/pixels?limit=2&page=1
To get your pixels codes via the API, you can use this endpoint. You can also filter data (See table for more info).
Parámetro | Descripción |
---|---|
limit | (optional) Per page data result |
page | (optional) Current page request |
curl --location --request GET 'https://linko.me/api/pixels?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/pixels?limit=2&page=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"pixels": [
{
"id": 1,
"type": "gtmpixel",
"name": "GTM Pixel",
"tag": "GA-123456789",
"date": "2020-11-10 18:00:00"
},
{
"id": 2,
"type": "twitterpixel",
"name": "Twitter Pixel",
"tag": "1234567",
"date": "2020-11-10 18:10:00"
}
]
}
}
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"pixels": [
{
"id": 1,
"type": "gtmpixel",
"name": "GTM Pixel",
"tag": "GA-123456789",
"date": "2020-11-10 18:00:00"
},
{
"id": 2,
"type": "twitterpixel",
"name": "Twitter Pixel",
"tag": "1234567",
"date": "2020-11-10 18:10:00"
}
]
}
}
Create a Pixel
https://linko.me/api/pixel/add
A pixel can be created using this endpoint. You need to send the pixel type and the tag.
Parámetro | Descripción |
---|---|
type | (required) gtmpixel | gapixel | fbpixel | adwordspixel | linkedinpixel | twitterpixel | adrollpixel | quorapixel | pinterest | bing | snapchat | reddit | tiktok |
name | (required) Custom name for your pixel |
tag | (required) The tag for the pixel |
curl --location --request POST 'https://linko.me/api/pixel/add' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"type": "gtmpixel",
"name": "My GTM",
"tag": "GTM-ABCDE"
}'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/pixel/add",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
CURLOPT_POSTFIELDS => json_encode(array (
'type' => 'gtmpixel',
'name' => 'My GTM',
'tag' => 'GTM-ABCDE',
)),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"id": 1
}
{
"error": 0,
"id": 1
}
Actualizar píxel
https://linko.me/api/pixel/:id/update
To update a pixel, you need to send a valid data in JSON via a PUT request. The data must be sent as the raw body of your request as shown below. The example below shows all the parameters you can send but you are not required to send all (See table for more info).
Parámetro | Descripción |
---|---|
name | (optional) Custom name for your pixel |
tag | (required) The tag for the pixel |
curl --location --request PUT 'https://linko.me/api/pixel/:id/update' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "My GTM",
"tag": "GTM-ABCDE"
}'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/pixel/:id/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
CURLOPT_POSTFIELDS => json_encode(array (
'name' => 'My GTM',
'tag' => 'GTM-ABCDE',
)),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"message": "Pixel has been updated successfully."
}
{
"error": 0,
"message": "Pixel has been updated successfully."
}
Delete Pixel
https://linko.me/api/pixel/:id/delete
To delete a pixel, you need to send a DELETE request.
curl --location --request DELETE 'https://linko.me/api/pixel/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/pixel/:id/delete",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"message": "Pixel has been deleted successfully."
}
{
"error": 0,
"message": "Pixel has been deleted successfully."
}
Superposiciones de CTA
List CTA Overlays
https://linko.me/api/overlay?limit=2&page=1
To get cta overlays via the API, you can use this endpoint. You can also filter data (See table for more info).
Parámetro | Descripción |
---|---|
limit | (optional) Per page data result |
page | (optional) Current page request |
curl --location --request GET 'https://linko.me/api/overlay?limit=2&page=1' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/overlay?limit=2&page=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"cta": [
{
"id": 1,
"type": "message",
"name": "Product 1 Promo",
"date": "2020-11-10 18:00:00"
},
{
"id": 2,
"type": "contact",
"name": "Contact Page",
"date": "2020-11-10 18:10:00"
}
]
}
}
{
"error": "0",
"data": {
"result": 2,
"perpage": 2,
"currentpage": 1,
"nextpage": 1,
"maxpage": 1,
"cta": [
{
"id": 1,
"type": "message",
"name": "Product 1 Promo",
"date": "2020-11-10 18:00:00"
},
{
"id": 2,
"type": "contact",
"name": "Contact Page",
"date": "2020-11-10 18:10:00"
}
]
}
}
Usuarios
Solo los usuarios con privilegios de administrador pueden acceder a este punto final.
List Users
https://linko.me/api/users?filter=free
Obtenga una lista de todos los usuarios en la plataforma. Los datos se pueden filtrar enviando un parámetro de filtro en la URL.
Parámetro | Descripción |
---|---|
filter | admin | free | pro |
Search a user by email |
curl --location --request GET 'https://linko.me/api/users?filter=free' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/users?filter=free",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"data": [
{
"id": 2,
"email": "[email protected]",
"username": "sample2user",
"avatar": "https:\\\/\\\/domain.com\/content\/avatar2.png",
"status": "free",
"planid": 1,
"expires": null,
"registered": "2020-11-10 18:01:43",
"apikey": "ABC123DEF456"
},
{
"id": 1,
"email": "[email protected]",
"username": "sampleuser",
"avatar": "https:\\\/\\\/domain.com\/content\/avatar.png",
"status": "pro",
"planid": 2,
"expires": "2022-11-15 15:00:00",
"registered": "2020-11-10 18:01:43",
"apikey": "ABC123DEF456"
}
]
}
{
"error": 0,
"data": [
{
"id": 2,
"email": "[email protected]",
"username": "sample2user",
"avatar": "https:\\\/\\\/domain.com\/content\/avatar2.png",
"status": "free",
"planid": 1,
"expires": null,
"registered": "2020-11-10 18:01:43",
"apikey": "ABC123DEF456"
},
{
"id": 1,
"email": "[email protected]",
"username": "sampleuser",
"avatar": "https:\\\/\\\/domain.com\/content\/avatar.png",
"status": "pro",
"planid": 2,
"expires": "2022-11-15 15:00:00",
"registered": "2020-11-10 18:01:43",
"apikey": "ABC123DEF456"
}
]
}
List a Single User
https://linko.me/api/user/:id
Get data for a single user.
curl --location --request GET 'https://linko.me/api/user/:id' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/user/:id",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"data": {
"id": 2,
"email": "[email protected]",
"username": "sample2user",
"avatar": "https:\\\/\\\/domain.com\/content\/avatar2.png",
"status": "free",
"planid": 1,
"expires": null,
"registered": "2020-11-10 18:01:43",
"apikey": "ABC123DEF456"
}
}
{
"error": 0,
"data": {
"id": 2,
"email": "[email protected]",
"username": "sample2user",
"avatar": "https:\\\/\\\/domain.com\/content\/avatar2.png",
"status": "free",
"planid": 1,
"expires": null,
"registered": "2020-11-10 18:01:43",
"apikey": "ABC123DEF456"
}
}
Create User
https://linko.me/api/user/add
Para crear un usuario, use este punto final y envíe la siguiente información como JSON.
Parámetro | Descripción |
---|---|
username | (required) User's username. Needs to be valid. |
(required) User's email. Needs to be valid. | |
password | (required) User's password. Minimum 5 characters. |
planid | (optional) Premium plan. This can be found in the admin panel. |
expiration | (optional) Membership expiration example 2020-12-26 12:00:00 |
curl --location --request POST 'https://linko.me/api/user/add' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"username": "user",
"password": "1234567891011",
"email": "[email protected]",
"planid": 1,
"expiration": "2020-11-20 11:00:00"
}'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/user/add",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
CURLOPT_POSTFIELDS => json_encode(array (
'username' => 'user',
'password' => '1234567891011',
'email' => '[email protected]',
'planid' => 1,
'expiration' => '2020-11-20 11:00:00',
)),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"message": "User has been registered.",
"data": {
"id": 3,
"email": "[email protected]",
"username": "user"
}
}
{
"error": 0,
"message": "User has been registered.",
"data": {
"id": 3,
"email": "[email protected]",
"username": "user"
}
}
Delete User
https://linko.me/api/user/:id/delete
Para eliminar un usuario, utilice este punto final.
curl --location --request DELETE 'https://linko.me/api/user/:id/delete' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/user/:id/delete",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"message": "User has been deleted."
}
{
"error": 0,
"message": "User has been deleted."
}
Login User
https://linko.me/api/user/login/:id
This endpoint will generate a unique link that will allow the user to automatically login to the platform. SSO login urls are valid for 1 hour and they can be used a single time.
curl --location --request GET 'https://linko.me/api/user/login/:id' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/user/login/:id",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"url": "https:\/\/linko.me\/user\/login\/sso\/lgoruitepuyugmycwantaihstemwqyqq"
}
{
"error": 0,
"url": "https:\/\/linko.me\/user\/login\/sso\/lgoruitepuyugmycwantaihstemwqyqq"
}
planes
Solo los usuarios con privilegios de administrador pueden acceder a este punto final.
List Plans
https://linko.me/api/plans
Obtenga una lista de todos los planes en la plataforma.
curl --location --request GET 'https://linko.me/api/plans' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/plans",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"data": [
{
"id": 2,
"name": "Business",
"free": false,
"prices": {
"monthly": 9.99,
"yearly": 99.99,
"lifetime": 999.99
},
"limits": {
"links": 100,
"clicks": 100000,
"retention": 60,
"custom": {
"enabled": "0"
},
"team": {
"enabled": "0",
"count": "0"
},
"splash": {
"enabled": "1",
"count": "5"
},
"overlay": {
"enabled": "1",
"count": "10"
},
"pixels": {
"enabled": "1",
"count": "10"
},
"domain": {
"enabled": "1",
"count": "1"
},
"multiple": {
"enabled": "0"
},
"alias": {
"enabled": "1"
},
"device": {
"enabled": "0"
},
"geo": {
"enabled": "0"
},
"bundle": {
"enabled": "0"
},
"parameters": {
"enabled": "0"
},
"export": {
"enabled": "0"
},
"api": {
"enabled": "0"
}
}
},
{
"id": 1,
"name": "Starter",
"free": true,
"prices": null,
"limits": {
"links": 10,
"clicks": 1000,
"retention": 7,
"custom": {
"enabled": "0"
},
"team": {
"enabled": "0",
"count": "0"
},
"splash": {
"enabled": "0",
"count": "0"
},
"overlay": {
"enabled": "0",
"count": "10"
},
"pixels": {
"enabled": "0",
"count": "10"
},
"domain": {
"enabled": "0",
"count": "0"
},
"multiple": {
"enabled": "0"
},
"alias": {
"enabled": "0"
},
"device": {
"enabled": "0"
},
"geo": {
"enabled": "0"
},
"bundle": {
"enabled": "0"
},
"parameters": {
"enabled": "0"
},
"export": {
"enabled": "0"
},
"api": {
"enabled": "0"
}
}
}
]
}
{
"error": 0,
"data": [
{
"id": 2,
"name": "Business",
"free": false,
"prices": {
"monthly": 9.99,
"yearly": 99.99,
"lifetime": 999.99
},
"limits": {
"links": 100,
"clicks": 100000,
"retention": 60,
"custom": {
"enabled": "0"
},
"team": {
"enabled": "0",
"count": "0"
},
"splash": {
"enabled": "1",
"count": "5"
},
"overlay": {
"enabled": "1",
"count": "10"
},
"pixels": {
"enabled": "1",
"count": "10"
},
"domain": {
"enabled": "1",
"count": "1"
},
"multiple": {
"enabled": "0"
},
"alias": {
"enabled": "1"
},
"device": {
"enabled": "0"
},
"geo": {
"enabled": "0"
},
"bundle": {
"enabled": "0"
},
"parameters": {
"enabled": "0"
},
"export": {
"enabled": "0"
},
"api": {
"enabled": "0"
}
}
},
{
"id": 1,
"name": "Starter",
"free": true,
"prices": null,
"limits": {
"links": 10,
"clicks": 1000,
"retention": 7,
"custom": {
"enabled": "0"
},
"team": {
"enabled": "0",
"count": "0"
},
"splash": {
"enabled": "0",
"count": "0"
},
"overlay": {
"enabled": "0",
"count": "10"
},
"pixels": {
"enabled": "0",
"count": "10"
},
"domain": {
"enabled": "0",
"count": "0"
},
"multiple": {
"enabled": "0"
},
"alias": {
"enabled": "0"
},
"device": {
"enabled": "0"
},
"geo": {
"enabled": "0"
},
"bundle": {
"enabled": "0"
},
"parameters": {
"enabled": "0"
},
"export": {
"enabled": "0"
},
"api": {
"enabled": "0"
}
}
}
]
}
Subscribe a User to a Plan
https://linko.me/api/plan/:planid/user/:userid
Para suscribir a un usuario al plan, envíe una solicitud PUT a este extremo con la identificación del plan y la identificación del usuario. Será necesario especificar el tipo de suscripción y la fecha de vencimiento. Si no se especifica la fecha de caducidad, la fecha se ajustará según el tipo.
Parámetro | Descripción |
---|---|
type | monthly | yearly | lifetime |
expiration | (opcional) Fecha de vencimiento del plan, p.2023-03-06 09:20:18 |
curl --location --request PUT 'https://linko.me/api/plan/:planid/user/:userid' \
--header 'Authorization: Bearer YOURAPIKEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"type": "monthly",
"expiration": "2023-03-06 09:20:18"
}'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://linko.me/api/plan/:planid/user/:userid",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 2,
CURLOPT_TIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer YOURAPIKEY",
"Content-Type: application/json",
),
CURLOPT_POSTFIELDS => json_encode(array (
'type' => 'monthly',
'expiration' => '2023-03-06 09:20:18',
)),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Respuesta del servidor
{
"error": 0,
"message": "User has been subscribed to this plan."
}
{
"error": 0,
"message": "User has been subscribed to this plan."
}