To get the details of a shortened URL , you will need to make a HTTP GET request to
https://<your_api_key>:<your_api_token><subdomain>/v2/accounts/<your_sid>/links/<uuid>
<your_api_key>
and <your_api_token>
with the API key and token created by you.<your_sid>
with your “Account sid”<subdomain>
with the region of your account
<your_api_key>
, <your_api_token>
and <your_sid>
are available in the API settings page of your Exotel Dashboard
curl --location --request GET 'http://<your_api_key>:<your_api_token><subdomain>/v2/accounts/<account_sid>/links/<uuid>
var http = require('follow-redirects').http; var fs = require('fs'); var options = { 'method': 'GET', 'hostname': '<your_api_key>', 'port': <your_api_token><subdomain>, 'path': '/v2/accounts/<account_sid>/links/<uuid>', 'headers': { }, 'maxRedirects': 20 }; var req = http.request(options, function (res) { var chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function (chunk) { var body = Buffer.concat(chunks); console.log(body.toString()); }); res.on("error", function (error) { console.error(error); }); }); req.end();
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'http://%3Cyour_api_key%3E:%3Cyour_api_token%3E%3Csubdomain%3E/v2/accounts/%3Caccount_sid%3E/links/%3Cuuid%3E', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', )); $response = curl_exec($curl); curl_close($curl); echo $response;
import requests url = "http://<your_api_key>:<your_api_token><subdomain>/v2/accounts/<account_sid>/links/<uuid>" payload={} headers = {} response = requests.request("GET", url, headers=headers, data=payload) print(response.text)
require "uri" require "net/http" url = URI("http://<your_api_key>:<your_api_token><subdomain>/v2/accounts/<account_sid>/links/<uuid>") http = Net::HTTP.new(url.host, url.port); request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body
HTTP Response:
{ "request_id": "c3586f381db043e899138770673bc527", "method": "POST", "http_code": 200, "metadata": { "failed": 0, "total": 1, "success": 1 }, "response": [ { "code": 200, "error_data": null, "status": "success", "data": { "sid": "6275306c51104f25802ba900eb4a977d", "short_url": "https://exo.tl/VhK5vk", "short_code": "VhK5vk", "long_url": "https://www.google.co.in/", "tracking": true, "custom_field": "Order details", "expires_at": "2023-01-09 18:39:26", "created_time": "2023-01-09 16:59:26", "last_viewed": "0001-01-01T00:00:00Z" "total_clicks": 0, } } ] }
Description of parameters mentioned in the above response:
Parameter Name |
Type & Value |
code |
The code to show the status of the request. Please refer to the error log below for more details |
Sid |
string; an alpha-numeric unique identifier of the shortened URL |
short_url |
string; the shortened URL will be added here |
short_code |
String; unique key of the shortened URL |
long_url |
String ; Original long URL which needed to be shortened |
tracking |
String ; Whether to track the short URL click. Can be: "true" or "false". "ShortenUrl" needs to be "true" for Tracking to work. |
custom_field |
String ;Set a Custom Field relevant to your use case while sending a long URL. E.g Order ID, Payment ID, Login Attempt etc. Any content / json body upto 1024 chars |
expires_at |
Time in format YYYY-MM-DD HH:mm:ss; time when short URL will expire |
created_time |
Time in format YYYY-MM-DD HH:mm:ss; The time when the short URL was created |
last_viewed | Time in format YYYY-MM-DD HH:mm:ss; time when short URL was last viewed |
total_clicks | String ;count of total views of short url |
HTTP Error codes -
Scenario |
HTTP Error Codes |
API Error code |
Error Message |
On success |
200 |
- |
- |
On Partial Success |
207 |
- |
- |
Mandatory parameters are missing in the request body |
400 |
1001 |
Bad Request - Mandatory Parameter missing |
values in the request body are invalid |
400 |
1002 |
Bad Request - Invalid parameter |
Invalid request body |
400 |
1007 |
Bad Request - Invalid request body,failed parsing |
Invalid credentials |
401 |
1015 |
Unauthorized - Authentication failed |
User don’t have the access |
403 |
1010 |
Forbidden - Your credentials are valid, but you don’t have access to the requested resource. |
Get request on invalid Sid or short_code |
404 |
1012 |
Not Found - short code not found or expired |
Invalid Endpoint |
404 |
Not Found |
|
For any errors because of issue at server side |
5xx |
Server Errors - Something went wrong at our end. Please try again. |