Skip to content

umpordez/ae-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ae-api

The simplest module to make requests to Aliexpress API you'll ever find!

This is just a module to sign the requests, generate the authorization URL and keep a sanity in the .lastRequest/.lastResponse.

We don't do any normalization or store the token/app key, it's all up to you.

You can use this to get the authorization code as following:

const AeClient = require('ae-api');

const YOUR_APP_KEY = '';
const YOUR_APP_SECRET = '';

const authorizationCallbackUrl = 'https://myurl.com';

const client = new AeClient('prod', YOUR_APP_KEY, YOUR_APP_SECRET);
const url = client.getAuthorizeUrl(authorizationCallbackUrl);

console.log(url); // https://api-sg.aliexpress.com/oauth/authorize?response...

After you get the aliexpress account code, you can request the access token by this:

const client = new AeClient('prod', YOUR_APP_KEY, YOUR_APP_SECRET);
const token = await client.getAcessTokenByCode(CODE_RECEIVED_IN_CALLBACK_URL);

console.log(token);

/*
    {
        refresh_token_valid_time: 1704531678000,
        havana_id: '',
        expire_time: 1704445278000,
        locale: 'zh_CN',
        user_nick: '',
        access_token: '',
        refresh_token: '',
        user_id: '',
        account_platform: 'buyerApp',
        refresh_expires_in: 172800,
        expires_in: 86400,
        sp: 'ae',
        seller_id: '',
        account: '',
        code: '0',
        request_id: ''
    }
*/

After that, you can make requests to the API:

const client = new AeClient(
    'prod',
    YOUR_APP_KEY,
    YOUR_APP_SECRET,
    ALIEXPRESS_ACCOUNT_ACCESS_TOKEN
);

const response = await client.doAuthenticateRequest(
    'aliexpress.ds.product.get', // api method
    { product_id: '1005006057059635' } // other params
);

console.log(response);

When you need to refresh the access token, you can get a new one with this:

const client = new AeClient('prod', YOUR_APP_KEY, YOUR_APP_SECRET);
const token = await client.getAccessTokenByRefreshToken(
    ALIEXPRESS_ACCOUNT_REFRESH_TOKEN
);

console.log(token);

Also, you can always get the last request body and response by:

const client = new AeClient(
    'prod',
    YOUR_APP_KEY,
    YOUR_APP_SECRET,
    ALIEXPRESS_ACCOUNT_ACCESS_TOKEN
);

try {
    const response = await client.doAuthenticateRequest(
        'aliexpress.ds.product.get', // api method
        { product_id: '1005006057059635' } // other params
    );

    console.log(response);
} catch (ex) {
    console.error(ex);
}

console.log(client.lastRequest);
console.log(client.lastResponse);

Have fun! \o/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published