User Profile

Get user profile details and update profile details.

Get Profile Details

GET ‎‎https://<domain>/<api prefix>/<version>/user/get/profile/

This API endpoint will give you the user profile details.

Headers

NameTypeDescription

apikey*

string

apikey

Authorization*

string

Bearer access-token

HTTP/1.1 200 OK
Content-Type: application/json

Body:
{
    "status_code": 200,
    "errors": {},
    "data": {
        "UserProfile": [
            {
                "username": "<username>",
                "first_name": "<first name>",
                "last_name": "<last name>",
                "email": "<email>",
                "phone_code": "<phone code>",
                "phone_number": "<phone number>",
                "country_code": "<country code>"
            }
        ]
        "ProfileImage": "<image_path>",
        "UserLocInfo":{
            "lan": "<language_key>",
            "tz": "<timezone>",
            "currency": "<currency_code>"
        }
    }
}

Sample code

Node

var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://<domain>/<api prefix>/<version>/user/get/profile/',
  'headers': {
    'apikey': '<apikey>',
    'Authorization': 'Bearer <access-token>',
  },
  formData: {}
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://<domain>/<api prefix>/<version>/user/get/profile/",
  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",
  CURLOPT_HTTPHEADER => array(
    "apikey: <apikey>",
    "Authorization: Bearer <access-token>"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Update Profile Details

POST ‎‎‎‎‎‎‎‎https://<domain>/<api prefix>/<version>/user/update/profile/

This API endpoint will update user profile details.

If the email address is changed, need to add token checksum field and token field for verification.

Headers

NameTypeDescription

apikey*

string

apikey

Authorization*

string

Bearer access-token

Request Body

NameTypeDescription

first_name

string

first name

last_name

string

last name

email*

string

email address

phone_number

string

phone number

languages

string

language code

currencies

string

currency code

timezones

string

timezone

token_field

string

Required when user update mail id,

token_checksum_field

string

Required when user update mail id,

HTTP/1.1 200 OK
Content-Type: application/json

Body:
{
    "status_code": 200,
    "errors": {},
    "data": {}
}

Sample code

Node

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://<domain>/<api prefix>/<version>/user/update/profile/',
  'headers': {
    'apikey': '<apikey>',
    'Authorization': 'Bearer <access-token>',
  },
  formData: {
    'first_name': '<first_name>',
    'last_name': '<last_name>',
    'email': '<email>',
    'phone_number': '<phone_number>'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://<domain>/<api prefix>/<version>/user/update/profile/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => array('first_name' => '<first_name>','last_name' => '<last_name>','email' => '<email>','phone_number' => '<phone_number>'),
  CURLOPT_HTTPHEADER => array(
    "apikey: <apikey>",
    "Authorization: Bearer <access-token>"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Error Responses

Status Code

Error Type

Field

Description

400

Validation Error

email

Enter a valid email address.

This field is required.

400

Validation Error

phone_number

Phone number must be entered in the format: '999999999'. Up to 15 digits allowed.

400

Validation Error

first_name

Ensure this field has no more than 255 characters.

400

Validation Error

last_name

Ensure this field has no more than 255 characters.

400

Validation Error

token_checksum_field

This field is required.

400

Validation Error

token_field

This field is required.

Token is not matching.

Upload profile image

POST ‎‎‎‎https://<domain>/<api prefix>/<version>/user/profile-image/

This API endpoint is for uploading a user profile image

Headers

NameTypeDescription

apikey*

string

apikey

Authorization*

string

Bearer access-token

Request Body

NameTypeDescription

image*

object

image file(Type file)

cropped_image*

object

image file(Type file)

HTTP/1.1 200 OK
Content-Type: application/json

Body:
{
    "status_code": 200,
    "errors": {},
    "data": {
        "image_url": "<image_url>"
    }
}

Sample code

Node

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://<domain>/<api prefix>/<version>/user/profile/profile-image/',
  'headers': {
    'apikey': '<apikey>',
    'Authorization': 'Bearer <access-token>',
  },
  formData: {
    'image': {
      'value': <image uri>,
      'options': {
        'filename': '<image name>',
        'contentType': null
      },
    'cropped_image': {
      'value': <cropped_image uri>,
      'options': {
        'filename': '<cropped_image name>',
        'contentType': null
    }
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://<domain>/<api prefix>/<version>/user/profile/profile-image/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => array('image'=> new CURLFILE('<image root path>'), 'cropped_image'=> new CURLFILE('<cropped_image root path>')),
  CURLOPT_HTTPHEADER => array(
    "apikey: <apikey>",
    "Authorization: Bearer <access-token>"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Error Responses

Status Code

Error Type

Field

Description

400

Validation Error

image

Upload a valid image. The file you uploaded was either not an image or a corrupted image.

400

Validation Error

cropped_image

Upload a valid image. The file you uploaded was either not an image or a corrupted image.

429

Throttled

Your daily profile update limit exceeded. Expected available in <HH> hours <M minutes and ss seconds.

Get Local Info

GET ‎https://<domain>/<api prefix>/<version>/get/local-info/

This API endpoint will return list site-local info such as currency list, language list, and timezones list.

Headers

NameTypeDescription

apikey*

string

Apikey

Authorization*

string

Bearer access token

HTTP/1.1 200 OK
Content-Type: application/json

{
    "status_code": 200,
    "errors": {},
    "data": {
        "languages": [
            {
                "key": "<language_key>",
                "name": "<language_name>"
            },
            ...
        ],
        "currencies": [
            {
                "key": "<currency_code>",
                "name": "<currency_name>"
            },
            ...
        ],
        "timezones": [
            {
                "key": "<timezone_key>",
                "name": "<timezone_name>"
            },
        ]
    }
}
        

Sample Code

Node

var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://<domain>/<api prefix>/<version>/get/local-info/',
  'headers': {
    'apikey': '<apikey>',
    'Authorization': 'Bearer <access token>',
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/get/local-info/',
  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',
  CURLOPT_HTTPHEADER => array(
    'apikey: <apikey>',
    'Authorization: Bearer <access token>'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Last updated