Solution:
You must add shortcode function using add_shortcode hook in your functions https://codex.wordpress.org/Function_Reference/add_shortcode
and in vc map Parameters add your shortcode in base parameter also add shortcode attributes in params Array https://wpbakery.atlassian.net/wiki/spaces/VC/pages/524332/vc+map
For example you have your own shortcode bartag with foo attribute
// [bartag foo="foo-value"]
add_shortcode( 'bartag', 'bartag_func' );
function bartag_func( $atts ) {
extract( shortcode_atts( array(
'foo' => 'something'
), $atts ) );
return "foo = {$foo}";
}
vc_map( array(
"name" => __( "Bar tag test", "my-text-domain" ),
"base" => "bartag",
"class" => "",
"category" => __( "Content", "my-text-domain"),
'admin_enqueue_js' => array(get_template_directory_uri().'/vc_extend/bartag.js'),
'admin_enqueue_css' => array(get_template_directory_uri().'/vc_extend/bartag.css'),
"params" => array(
array(
"type" => "textfield",
"holder" => "div",
"class" => "",
"heading" => __( "Text", "my-text-domain" ),
"param_name" => "foo",
"value" => __( "Default param value", "my-text-domain" ),
"description" => __( "Description for foo param.", "my-text-domain" )
)
)
) );