NAV Navbar
php

Introduction

curl -X POST \
    -d '{
        "phone_no": "+628975835238",
        "key": "db63f52c1a00d33cf143524083dd3ffd025d672e255cc688",
        "message": "DEMO AKUN WOOWA CURL. tes woowa api v3.0 mohon di abaikan"
    }' \
    -H "Content-Type: application/json" \
    -H "Authorization: Basic dXNtYW5ydWJpYW50b3JvcW9kcnFvZHJiZWV3b293YToyNjM3NmVkeXV3OWUwcmkzNDl1ZA==" \
http://45.77.34.32:8000/demo/send_message

Sample Demo Send Message Script

$key_demo='db63f52c1a00d33cf143524083dd3ffd025d672e255cc688';
$url='http://45.77.34.32:8000/demo/send_message';
$data = array(
    "phone_no"=> '+628975835238',
    "key"     => $key_demo,
    "message" => 'DEMO AKUN WOOWA. tes woowa api v3.0 mohon di abaikan'
);

$data_string = json_encode($data,1);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_string),
    'Authorization: Basic dXNtYW5ydWJpYW50b3JvcW9kcnFvZHJiZWV3b293YToyNjM3NmVkeXV3OWUwcmkzNDl1ZA=='
));
echo $res=curl_exec($ch);
curl_close($ch);

Welcome to the Woowa API V3.0! You can use our API to access Woowa API endpoints, which can send message,image also file and get information of your account at my.woo-wa.com.

We have language bindings in PHP! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

This is Demo account to try our API

license : 5c286f20169dd
key : db63f52c1a00d33cf143524083dd3ffd025d672e255cc688

You can get new data account (token) at https://woo-wa.com

Woowa Eco (web.whatsapp in woowa server)

Send WA

Send Message Sync

Curl

curl -X POST \
    -d '{
        "phone_no": "+628975835238",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "message": "DEMO AKUN WOOWA CURL. tes woowa api v3.0 mohon di abaikan",
        "skip_link": true
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/send_message

Sample Script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/send_message';
$data = array(
  "phone_no"  => '+628975835238',
  "key"       => $key,
  "message"   => 'DEMO AKUN WOOWA. tes woowa api v3.0 mohon di abaikan',
  "skip_link" => True // This optional for skip snapshot of link in message
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

success

This endpoint is used to send text message.

HTTP Request

POST http://116.203.191.58/api/send_message

POST Parameters

Parameter Description
phone_no Client's whatsapp number.
key Key partner.
message text to be sent.
skip_link This optional for skip snapshot of link in message

Response

String Description
success Text sent successfully.
phone_offline Number is offline.
[20190909143509] Number not found Number not found.

Send Message Async

Curl

curl -X POST \
    -d '{
        "phone_no": "+628975835238",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "message": "DEMO AKUN WOOWA CURL. tes woowa api v3.0 mohon di abaikan",
        "skip_link": true
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/send_message

Sample Script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/async_send_message';
$data = array(
  "phone_no"  => '+628975835238',
  "key"       => $key,
  "message"   => 'DEMO AKUN WOOWA. tes woowa api v3.0 mohon di abaikan',
  "skip_link" => True // This optional for skip snapshot of link in message
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

15683286008530

This endpoint is used to send text message.

HTTP Request

POST http://116.203.191.58/api/async_send_message

POST Parameters

Parameter Description
phone_no Client's whatsapp number.
key Key partner.
message text to be sent.
skip_link This optional for skip snapshot of link in message

Response

String Description
15683286008530 ID queue

Upload Image

Curl

curl -X 'POST' \
  'http://116.203.92.59/api/upload/db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx' \
  -H 'Content-Type: multipart/form-data' \
  -F 'file=@/path/to/file/image_name.png;type=image/png'

Sample Script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.92.59/api/upload/' . $key;
$file_path = '/path/to/file/image_name.png' );
$cfile = new CURLFile($file_path,'text/plain',$file_path);
$data = array('file' => $cfile);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: multipart/form-data',
));
echo $res=curl_exec($ch);
curl_close($ch);

Response:

success

This endpoint is used to upload image.

HTTP Request

POST http://116.203.191.58/api/upload

POST Parameters

Parameter Description
key Key partner.
file File path with extension.

Response

String Description
15683286008530 ID queue

Send Image Sync

Curl

curl -X POST \
    -d '{
        "phone_no": "+628975835238",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "message": "DEMO AKUN WOOWA CURL. tes woowa api v3.0 mohon di abaikan",
        "filename": "/media/image_name.png"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/send_image

Sample Script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/send_image';
$data = array(
  "phone_no"  => '+628975835238',
  "key"       => $key,
  "message"   => "DEMO AKUN WOOWA CURL. tes woowa api v3.0 mohon di abaikan",
  "filename"  => "/media/image_name.png"
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

1

This endpoint is used to send image message.

HTTP Request

POST http://116.203.191.58/api/send_image

POST Parameters

Parameter Description
phone_no Client's whatsapp number.
key Key partner.
url URL image to be sent.
message Caption of image.

Response

String Description
success The message success send.
phone_offline Phone is offline.
Number not found Phone number is not found.
Other error System error.
file_not_exists File not upload yet.

Send Image URL Async

Curl

curl -X POST \
    -d '{
        "phone_no": "+628975835238",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "message": "DEMO AKUN WOOWA CURL. tes woowa api v3.0 mohon di abaikan",
        "url": "https://app.woo-wa.com/wp-content/uploads/2018/12/Logo-Woo-WA-PNG-Berwarna-150px.png"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/async_send_image_url

Sample Script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/async_send_image_url';
$img_url='https://app.woo-wa.com/wp-content/uploads/2018/12/Logo-Woo-WA-PNG-Berwarna-150px.png';
$data = array(
  "phone_no"  => '+628975835238',
  "key"       => $key,
  "url"       => $img_url,
  "message"   => 'DEMO AKUN WOOWA. tes woowa api v3.0 mohon di abaikan'
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

15683286008531

This endpoint is used to send image message.

HTTP Request

POST http://116.203.191.58/api/async_send_image_url

POST Parameters

Parameter Description
phone_no Client's whatsapp number.
key Key partner.
url URL image to be sent.
message Caption of image.

Response

String Description
15683286008530 ID Queue.

Send File Sync

Curl

curl -X POST \
    -d '{
        "phone_no": "+628975835238",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "url": "https://app.woo-wa.com/wp-content/uploads/2018/12/Logo-Woo-WA-PNG-Berwarna-150px.png"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/send_file_url

Sample Script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/send_file_url';
$file_path='https://my.woo-wa.com/wp-content/uploads/2018/12/dokumen.pdf';
$data = array(
  "phone_no"  => '+628975835238',
  "key"       => $key,
  "url"       => $file_path
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

success

This endpoint is used to send image message.

HTTP Request

POST http://116.203.191.58/api/send_file_url

POST Parameters

Parameter Description
phone_no Client's whatsapp number.
key Key partner.
url URL file to be sent.

Response

String Description
success The message success send.
phone_offline Phone is offline.
[20190909143509] Number not found Phone number is not found.

Send File Async

Curl

curl -X POST \
    -d '{
        "phone_no": "+628975835238",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "url": "https://app.woo-wa.com/wp-content/uploads/2018/12/Logo-Woo-WA-PNG-Berwarna-150px.png"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/async_send_file_url

Sample Script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/async_send_file_url';
$file_path='https://my.woo-wa.com/wp-content/uploads/2018/12/ducument.pdf';
$data = array(
  "phone_no"  => '+628975835238',
  "key"       => $key,
  "url"       => $file_path
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

15683286008530

This endpoint is used to send image message.

HTTP Request

POST http://116.203.191.58/api/async_send_file_url

POST Parameters

Parameter Description
phone_no Client's whatsapp number.
key Key partner.
url URL file to be sent.

Response

String Description
15683286008530 ID Queue.

Send List Sync

Curl

curl -X POST \
    -d '{
        "phone_no": "+628975835238",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "title": "Faforite Web",
        "body": "Below the button favorite website in the world",
        "btnText": "This is the end",
        "list": "{'\''item'\'': [{'\''description'\'': '\''Coffee'\'', '\''title'\'': '\''Product A'\''}, {'\''description'\'': '\''Milk'\'', '\''title'\'': '\''Product B'\''}], '\''title'\'': '\''Great Product'\''}"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/send_list

Sample Script


$key="db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx"; //this is demo key please change with your own key
$url="http://116.203.191.58/api/send_list";
$data = array(
    "phone_no"    => "+628975835238",
    "key"         => $key,
    "title"       => "Favorite Web",
    "body"        => "Below the button favorite website in the world",
    "btnText"     => "This is the end",
    "list"        => json_encode([
        "item" => [
            [
                "description" => "Coffee",
                "title" => "Product A"
            ],
            [
                "description" => "Milk",
                "title" => "Product B"
            ],
        ],
        "title" => "Great Product",
    ], 1),
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

success

This endpoint is used to send list message.

HTTP Request

POST http://116.203.191.58/api/send_list

POST Parameters

Parameter Description
phone_no Client's whatsapp number.
key Key partner.
title Title text.
body Body text.
btnText Button text to show lists.
list List items.
list(json:[item]) List items.
list(json:[item][{index}][description]) Description item on the index.
list(json:[item][{index}][title]) Title item on the index.
list(json:[title]) Title items group.

Response

String Description
success Success send.
Number not found destination number/username not found in Platform.
phone_offline Sender offline send.

Send Button Sync

Curl

curl -X POST \
    -d '{
        "phone_no": "+628975835238",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "title": "Favorite Web",
        "body": "Below the button favorite website in the world",
        "footer": "This is the end",
        "button": "[{'\''body'\'': '\''Google'\''}, {'\''body'\'': '\''Detik'\''}]"
}' \
    -H "Content-Type: application/json" \
http://116.203.92.59/api/send_button

Sample Script

$key="db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx"; //this is demo key please change with your own key
$url="http://116.203.191.58/api/send_button";
$data = array(
    "phone_no"  => "+628975835238",
    "key"       => $key,
    "title"     => "Favorite Web",
    "body"      => "Below the button favorite website in the world",
    "footer"    => "This is the end",
    "button"    => json_encode([
        [
            "body" => "Google",
        ],
        [
            "body" => "Detik",
        ],
    ],1),
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

success

This endpoint is used to send button message.

HTTP Request

POST http://116.203.191.58/api/send_button

POST Parameters

Parameter Description
phone_no Client's whatsapp number.
key Key partner.
title Title text.
body Body text.
footer Button text to show lists.
button buttons.
button(json:[{index}][body]) Text button.

Response

String Description
success Success send.
Number not found destination number/username not found in Platform.
phone_offline Sender offline send.

Send WA to Group

Send WA to Group Sync

Curl

curl -X POST \
    -d '{
        "group_name": "tes grup",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "message": "DEMO AKUN WOOWA CURL. tes woowa api v3.0 mohon di abaikan"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/send_group

Sample Script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/send_group';
$data = array(
  "group_name"  => 'tes grup',
  "key"         => $key,
  "message"     => 'DEMO AKUN WOOWA. tes woowa api v3.0 mohon di abaikan'
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

response

success

This endpoint is used to send text message to group.

HTTP Request

http://116.203.191.58/api/send_group

POST Parameters

Parameter Description
group_name Group name.
key Key partner.
message Text to be sent.

Response:

String Description
success Text sent succesfully.
group_not_found Group not found.
other_error Error not identified.
phone_offline Phone offline.

Send WA to Group Async

Curl

curl -X POST \
    -d '{
        "group_name": "test grup",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "message": "DEMO AKUN WOOWA CURL. tes woowa api v3.0 mohon di abaikan"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/async_send_group

Sample Script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/async_send_group';
$data = array(
  "group_name"=> 'tes grup',
  "key"     =>$key,
  "message" =>'DEMO AKUN WOOWA. tes woowa api v3.0 mohon di abaikan'
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

response

158107xxxxxx

This endpoint is used to send text message to group.

HTTP Request

http://116.203.191.58/api/async_send_group

POST Parameters

Parameter Description
group_name Group name.
key Key partner.
message Text to be sent.

Response:

String Description
message_id Message ID.

Send WA to Group (Group ID) Sync

Curl

curl -X POST \
    -d '{
        "group_id": "xxxxLFZIhPC3I7ce0W5uk",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "message": "DEMO AKUN WOOWA CURL. tes woowa api v3.0 mohon di abaikan"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/send_message_group_id

Sample Script

$group_id = 'xxxxLFZIhPC3I7ce0W5uk';
$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/send_message_group_id';
$data = array(
  "group_id" =>$group_id,
  "key"     =>$key,
  "message" =>'DEMO AKUN WOOWA. tes woowa api v3.0 mohon di abaikan'
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

response

success

This endpoint is used to send text message to group.

HTTP Request

http://116.203.191.58/api/send_message_group_id

POST Parameters

Parameter Description
group_id Group ID.
key Key partner.
message Text to be sent.

Response

String Description
success Text sent succesfully.
group_not_found Group not found.
other_error Error not identified.
phone_offline Phone offline.

Send WA to Group (Group ID) Async

Curl

curl -X POST \
    -d '{
        "group_id": "xxxxLFZIhPC3I7ce0W5uk",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "message": "DEMO AKUN WOOWA CURL. tes woowa api v3.0 mohon di abaikan"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/async_send_message_group_id

Sample Script

$group_id = 'xxxxLFZIhPC3I7ce0W5uk';
$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/async_send_message_group_id';
$data = array(
  "group_id" =>$group_id,
  "key"       =>$key,
  "message" =>'DEMO AKUN WOOWA. tes woowa api v3.0 mohon di abaikan'
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

response

158107xxxxxx

This endpoint is used to send text message to group.

HTTP Request

http://116.203.191.58/api/async_send_message_group_id

POST Parameters

Parameter Description
group_id Group ID.
key Key partner.
message Text to be sent.

Response

String Description
message_id Message ID.

Send Image to Group Sync

Curl

curl -X POST \
    -d '{
        "group_id": "xxxxLFZIhPC3I7ce0W5uk",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "message": "DEMO AKUN WOOWA CURL. tes woowa api v3.0 mohon di abaikan",
        "url": "https://app.woo-wa.com/wp-content/uploads/2018/12/Logo-Woo-WA-PNG-Berwarna-150px.png"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/send_image_url_group_id

Sample Script

$group_id = 'xxxxLFZIhPC3I7ce0W5uk';
$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/send_image_url_group_id';
$img_url='https://app.woo-wa.com/wp-content/uploads/2018/12/Logo-Woo-WA-PNG-Berwarna-150px.png';
$data = array(
  "group_id" =>$group_id,
  "key"       =>$key,
  "url"       =>$img_url,
  "message" =>'DEMO AKUN WOOWA. tes woowa api v3.0 mohon di abaikan'
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

response

success

This endpoint is used to send image to group.

HTTP Request

http://116.203.191.58/api/send_image_url_group_id

POST Parameters

Parameter Description
group_id Group ID.
key Key partner.
url URL image to be sent.
message Caption of image.

Response

String Description
success Text sent succesfully.
group_not_found Group not found.
other_error Error not identified.
phone_offline Phone offline.

Send Image to Group Async

Curl

curl -X POST \
    -d '{
        "group_id": "xxxxLFZIhPC3I7ce0W5uk",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "message": "DEMO AKUN WOOWA CURL. tes woowa api v3.0 mohon di abaikan",
        "url": "https://app.woo-wa.com/wp-content/uploads/2018/12/Logo-Woo-WA-PNG-Berwarna-150px.png"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/async_send_image_url_group_id

Sample Script

$group_id = 'xxxxLFZIhPC3I7ce0W5uk';
$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/async_send_image_url_group_id';
$img_url='https://app.woo-wa.com/wp-content/uploads/2018/12/Logo-Woo-WA-PNG-Berwarna-150px.png';
$data = array(
  "group_id" =>$group_id,
  "key"       =>$key,
  "url"       =>$img_url,
  "message" =>'DEMO AKUN WOOWA. tes woowa api v3.0 mohon di abaikan'
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

response

158107xxxxxx

This endpoint is used to send image to group.

HTTP Request

http://116.203.191.58/api/async_send_image_url_group_id

POST Parameters

Parameter Description
group_id Group ID.
key Key partner.
url URL image to be sent.
message Caption of image.

Response

String Description
message_id Message ID

Send File to Group Sync

Curl

curl -X POST \
    -d '{
        "group_id": "xxxxLFZIhPC3I7ce0W5uk",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "url": "https://app.woo-wa.com/wp-content/uploads/2018/12/Logo-Woo-WA-PNG-Berwarna-150px.png"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/send_file_url_group_id

Sample Script

$group_id = 'xxxxLFZIhPC3I7ce0W5uk';
$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/send_file_url_group_id';
$img_url='https://my.woo-wa.com/wp-content/uploads/2018/12/document.pdf';
$data = array(
  "group_id" =>$group_id,
  "key"       =>$key,
  "url"       =>$img_url
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

response

success

This endpoint is used to send file to group.

HTTP Request

http://116.203.191.58/api/send_file_url_group_id

POST Parameters

Parameter Description
group_id Group ID.
key Key partner.
url URL image to be sent.
message Caption of image.

Response

String Description
success Text sent succesfully.
group_not_found Group not found.
other_error Error not identified.
phone_offline Phone offline.

Send File to Group Async

Curl

curl -X POST \
    -d '{
        "group_id": "xxxxLFZIhPC3I7ce0W5uk",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "url": "https://app.woo-wa.com/wp-content/uploads/2018/12/Logo-Woo-WA-PNG-Berwarna-150px.png"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/async_send_file_url_group_id

Sample Script

$group_id = 'xxxxLFZIhPC3I7ce0W5uk';
$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/async_send_file_url_group_id';
$img_url='https://my.woo-wa.com/wp-content/uploads/2018/12/document.pdf';
$data = array(
  "group_id" =>$group_id,
  "key"       =>$key,
  "url"       =>$img_url
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

response

158107xxxxxx

This endpoint is used to send file to group.

HTTP Request

http://116.203.191.58/api/async_send_file_url_group_id

POST Parameters

Parameter Description
group_id Group ID.
key Key partner.
url URL image to be sent.
message Caption of image.

Response

String Description
messasge_id Message ID

Schedule

Scheduler

Curl

curl -X POST \
    -d '{
        "phone_no": "+628975835238",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "sch_date": "2019-12-01 21:00",
        "api_type": "image_text",
        "message": "DEMO AKUN WOOWA CURL. tes woowa api v3.0 mohon di abaikan",
        "url": "https://app.woo-wa.com/wp-content/uploads/2018/12/Logo-Woo-WA-PNG-Berwarna-150px.png"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/scheduler

Sample Script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/scheduler';
$img_url='https://app.woo-wa.com/wp-content/uploads/2018/12/Logo-Woo-WA-PNG-Berwarna-150px.png';
$data = array(
  "phone_no" =>'phone number',
  "key"       =>$key,
  "sch_date" =>'2019-12-01 21:00',
  "api_type" =>'image_text', // (text, image_text, image, file)
  "message" =>'DEMO AKUN WOOWA. tes woowa api v3.0 mohon di abaikan',
  "url"       =>$img_url
);

$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

response

158107xxxxxx

This endpoint is used schedule send wa. This API has a limitation that is a maximum of 3 messages / minute that can be set, so that the next message is set at different minutes. The time zone used is UTC + 7 (WIB). So it is conditioned by this time zone

HTTP Request

http://116.203.191.58/api/scheduler

POST Parameters

Parameter Description
phone_no Group ID.
key Key partner.
sch_date Date ex.(2019-12-01 21:00).
api_type API type (text, image_text, image, file).
message Message / Caption of image.
url URL image to be sent.

Response

String Description
msg_id Message ID / Schedule ID

Check Scheduler

Curl

curl -X POST \
    -d '{
        "msg_id": "xxxxLFZIhPC3I7ce0W5uk",
        "key": "db63f52c1a00d33cf143524083dd3ffd025d672e255cc688"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/sch_check

Sample Script

$message_id = '67435xxx';
$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/sch_check';
$data = array(
  "msg_id" =>$message_id,
  "key"    =>$key
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

response

{
  "status": "success",
  "data": [
    {
      "status": "number_not_found",
      "sys_creation_date": "2020-01-20 21:58:27",
      "target": "6289580xxxxx",
      "sch_date": "2020-01-20 21:59:00",
      "msg_id": "157953230xxxxx",
      "filename": null,
      "status_msg_id": "15795325xxxxx",
      "message": "Test Message,Please don\'t reply.",
      "api_type": "send_message"
    }
  ]
}

This endpoint is used to check scheduler.

HTTP Request

http://116.203.191.58/api/sch_check

POST Parameters

Parameter Description
msg_id Message ID.
key Key partner.

Response

JSON Attributes Description
msg_id Message ID
api_type API type
message Text message
target Target Number
status Status message
filename Filename
sch_date Date (scheduler)
sys_creation_date Date (creation)

Remove Scheduler

Curl

curl -X POST \
    -d '{
        "msg_id": "xxxxLFZIhPC3I7ce0W5uk",
        "key": "db63f52c1a00d33cf143524083dd3ffd025d672e255cc688"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/sch_remove

Sample Script

$message_id = '67435xxx';
$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/sch_remove';
$data = array(
  "msg_id" =>$message_id,
  "key"    =>$key
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

response

{
  "status": "success",
  "data": [
    {
      "status": "number_not_found",
      "sys_creation_date": "2020-01-20 21:58:27",
      "target": "6289580xxxxx",
      "sch_date": "2020-01-20 21:59:00",
      "msg_id": "157953230xxxxx",
      "filename": null,
      "status_msg_id": "15795325xxxxx",
      "message": "Test Message,Please don\'t reply.",
      "api_type": "send_message"
    }
  ]
}

This endpoint is used to remove schedule.

HTTP Request

http://116.203.191.58/api/sch_remove

POST Parameters

Parameter Description
msg_id Message ID.
key Key partner.

Response

JSON Attributes Description
msg_id Message ID
api_type API type
message Text message
target Target Number
status Status message
filename Filename
sch_date Date (scheduler)
sys_creation_date Date (creation)

Check Number

Curl

curl -X POST \
    -d '{
        "phone_no": "+628975835238",
        "key": "db63f52c1a00d33cf143524083dd3ffd025d672e255cc688"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/check_number

Sample Script

$phone_no = '67435xxx';
$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/check_number';
$data = array(
  "phone_no" => $phone_no,
  "key"    => $key
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

response

exists

This endpoint is used to check number status.

HTTP Request

http://116.203.191.58/api/check_number

POST Parameters

Parameter Description
phone_no Whatsapp Number
key Key Pelanggan

Response

String Description
exists Number exists
not_exists Number not exists
unknow Number unknow

Web Hook

Set Webhook

Curl

curl -X POST \
    -d 'license=&no_wa=+628975835238&action=set&url=https://yourwebsite.com/listen.php' \
http://api.woo-wa.com/v2.0/webhook

Sample Script

$data["license"]= "5c286f20169dd";
$data["url"]    = "https://yourwebsite.com/listen.php"; // message data will push to this url
$data["no_wa"]  = "+628975835238";    //sender number registered in woowa
$data["action"] = "set";

$url="http://api.woo-wa.com/v2.0/webhook";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$err = curl_error($ch);
curl_close ($ch);
if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $result;
}

Response:

{
  "status": "success",
  "message": "http://yourwebsite.com/listen.php",
}

This endpoint is used set webhook.

HTTP Request

POST http://api.woo-wa.com/v2.0/webhook

POST Parameters

Parameter Description
url Incoming message will push to this url.
license Woo-wa license key.
action Webhook action.
no_wa sender number registeres in woowa.

Response

JSON Attribute Description
status Status message.
message Url to listen the message.

Get Webhook

Curl

curl -X POST \
    -d 'license=5c286f20169dd&no_wa=+628975835238&action=get&url=https://yourwebsite.com/listen.php' \
http://api.woo-wa.com/v2.0/webhook

Sample Script

$data["license"]= "5c286f20169dd";
$data["url"]    = "https://yourwebsite.com/listen.php"; // message data will push to this url
$data["no_wa"]  = "6289648615564";    //sender number registered in woowa
$data["action"] = "get";

$url="http://api.woo-wa.com/v2.0/webhook";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$err = curl_error($ch);
curl_close ($ch);
if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $result;
}

Response:

{
  "status": "success",
  "message": "http://yourwebsite.com/listen.php",
}

This endpoint is used get webhook.

HTTP Request

POST http://api.woo-wa.com/v2.0/webhook

POST Parameters

Parameter Description
url Incoming message will push to this url.
license Woo-wa license key.
action Webhook action.
no_wa Sender number registeres in woowa.

Response

JSON Attribute Description
status Status message.
message Url to listen the message.

Unset Webhook

Curl

curl -X POST \
    -d 'license=5c286f20169dd&no_wa=628975835238&action=unset&url=https://yourwebsite.com/listen.php' \
http://api.woo-wa.com/v2.0/webhook

Sample Script

$data["license"]= "5c286f20169dd";
$data["url"]    = "https://yourwebsite.com/listen.php"; // message data will push to this url
$data["no_wa"]  = "628975835238";    //sender number registered in woowa
$data["action"] = "unset";

$url="http://api.woo-wa.com/v2.0/webhook";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$err = curl_error($ch);
curl_close ($ch);
if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $result;
}

Response:

{
  "status": "success",
  "message": "unset success",
}

This endpoint is used to unset webhook.

HTTP Request

POST http://api.woo-wa.com/v2.0/webhook

POST Parameters

Parameter Description
url Incoming message will push to this url.
license Woo-wa license key.
action Webhook action.
no_wa Sender number registeres in woowa.

Response

JSON Attribute Description
status Status message.
message Url to listen the message.

Get Data

Sample PHP Script for Listening data:

$json = file_get_contents('php://input');
$data = json_decode($json);

file_put_contents("listen.txt", print_r($data,1));
// file_put_contents('listen2.txt', date("Y-m-d H:i:s :: ").print_r($data,1).PHP_EOL, FILE_APPEND|LOCK_EX);

Format data from webhook:

(
    [contact_name] => +628975835238 
    [ip_server] => 116.203.191.58
    [message] => Lix
    [keyword] => default
    [port] => 3787
)

This endpoint is used to get data webhook.

Scrape Number

Curl

curl -X POST \
    -d '{
        "group_id": "xxxxLFZIhPC3I7ce0W5uk",
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/getGroupMember

Sample Script

$group_id = 'xxxxLFZIhPC3I7ce0W5uk';
$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/getGroupMember';
$data = array(
  "group_id"  => $group_id,
  "key"       => $key
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

response

628xxx,xxx,xxx

This endpoint is used to get all number in group whatsapp (suport multidevice only).

HTTP Request

http://116.203.191.58/api/getGroupMember

POST Parameters

Parameter Description
group_id Whatsapp Group ID
key Key Pelanggan

Response

String Description
628xxx,xxx,xxx Number separated by coma
n,o,n,e Group not found or not joined to group_id
failed Failed get member (make sure whatsapp joined multidevice)

Woowa CRM API

Send Message

Curl

curl -X POST \
    -d '{
        "deviceId": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "number": "+628975835238",
        "message": "DEMO AKUN WOOWA. tes woowa api v3.0 mohon di abaikan"
    }' \
    -H "Content-Type: application/json" \
https://crm.woo-wa.com/send/message-text

Sample Script

Get device id from woowa crm extension menu in here

$device_id='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo device_id please change with your own device_id
$url='https://crm.woo-wa.com/send/message-text';
$data = array(
  "deviceId"    => $device_id,
  "number"      => '+628975835238',
  "message"     => 'DEMO AKUN WOOWA. tes woowa api v3.0 mohon di abaikan'
);
$data_string = json_encode($data,1);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json'
));
echo $result = curl_exec($ch);
curl_close($ch);

Response:

{
   "status":true,
   "message":"success send message text!",
   "data":{
      "number":"+628975835238",
      "message":"testing",
      "deviceId":"xar1d3ichald8ac2mxxxx"
   }
}

This endpoint is used to send text message.

HTTP Request

POST https://crm.woo-wa.com/send/message-text

HTTP Headers

Parameter Value
Content-Type application/json

POST Parameters

Parameter Description
deviceId deviceId crm get from extension crm.
number Client's whatsapp number.
message text to be sent.

Response

JSON Attributes Description
status status code.
message message status.
data data response.
number target number.
message message to be sent.
deviceId device id.

Send Message Image/File URL

Curl

curl -X POST \
    -d '{
        "deviceId": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "number": "+628975835238",
        "message": "DEMO AKUN WOOWA. tes woowa api v3.0 mohon di abaikan",
        "imageUrl": "https://app.woo-wa.com/wp-content/uploads/2018/12/Logo-Woo-WA-PNG-Berwarna-150px.png"
    }' \
    -H "Content-Type: application/json" \
https://crm.woo-wa.com/send/message-text

Sample Script

Get device id from woowa crm extension menu in here

$device_id='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo device_id please change with your own device_id
$url='https://crm.woo-wa.com/send/message-image';
$data = array(
    "deviceId"  => $device_id,
    "number"    => '+628975835238',
    "message"   => 'DEMO AKUN WOOWA. tes woowa api v3.0 mohon di abaikan',
    "imageUrl"  => "https://app.woo-wa.com/wp-content/uploads/2018/12/Logo-Woo-WA-PNG-Berwarna-150px.png"
);
$data_string = json_encode($data,1);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json'
));
echo $result = curl_exec($ch);
curl_close($ch);

Response:

{
   "status":true,
   "message":"success send message text!",
   "data":{
      "number":"+628975835238",
      "message":"testing",
      "deviceId":"xar1d3ichald8ac2mxxxx",
      "imageUrl":"https://app.woo-wa.com/wp-content/uploads/2018/12/Logo-Woo-WA-PNG-Berwarna-150px.png"
   }
}

This endpoint is used to send text message with image url.

HTTP Request

POST https://crm.woo-wa.com/send/message-image

HTTP Headers

Parameter Value
Content-Type application/json

POST Parameters

Parameter Description
deviceId deviceId
number Client's whatsapp number.
message text to be sent.
imageUrl image/file url to be sent.

Response

JSON Attributes Description
status status code.
message message status.
data data response.
number target number.
message message to be sent.
deviceId device id.

Woowandroid (Whatsapp in Smartphone)

Send Message

Curl

curl -X POST \
    -d '{
        "app_id": "429d3472-da0f-4b2b-a63e-4644050caf8f",
        "include_player_ids": [
            "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx"
        ],
        "data": {
            "type": "Reminder",
            "message": "Bismillah Demo woowandroid",
            "no_wa": "+628975835238"
        },
        "contents": {
            "en": "Woowa Title"
        },
        "headings": {
            "en": "Woowa Notice"
        }
    }' \
    -H "Content-Type: application/json; charset=utf-8" \
    -H "Authorization: Basic NjY0NzE3MTYtMzc3ZC00YmY5LWJhNzQtOGRiMWM1ZTNhNzBh" \
https://onesignal.com/api/v1/notifications

Sample Script

Get player id from Woowandroid App CS ID menu in here

$param = array(
    'app_id' => '429d3472-da0f-4b2b-a63e-4644050caf8f', //app id don't change
    'include_player_ids' => ['20fe93ea-6bf4-428c-87e5-f7aa6xxxxx'], //you can take Player id from Woowandroid App CS ID menu.
    'data' => array(
        "type"      => 'Reminder', //opsional Reminder/After Checkout/Pending Payment/dll editable
        "message"   => 'Bismillah Demo woowandroid',
        "no_wa"     => '628975835238'
    ),
    'contents'  => array(
        "en"    => 'Woowa Title'
    ),
    "headings"  =>  array(
        "en"    => 'Woowa Notice'
    )
);
$data_json = json_encode($param);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://onesignal.com/api/v1/notifications');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json; charset=utf-8',
    'Authorization: Basic NjY0NzE3MTYtMzc3ZC00YmY5LWJhNzQtOGRiMWM1ZTNhNzBh')); //os_auth don't change
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Response:

{
  "id": "1b789027-41ce-4256-a3e9-d2115e5d100a",
  "recipients": "1",
  "external_id": "null",
}

This endpoint is used to send message.

HTTP Request

POST https://onesignal.com/api/v1/notifications

Header Parameters

Parameter Description
Authorization Basic NjY0NzE3MTYtMzc3ZC00YmY5LWJhNzQtOGRiMWM1ZTNhNzBh
Content-type application/json

Body Parameters

Parameter Description
app_id Aplication ID.
include_player_ids CS ID or Device ID
data[type] message type. Optional
data[message] text message
data[no_wa] destination WA number
contents[en] Notification Content
headings[en] Notification Title

Response

JSON Attribute Description
id 1b789027-41ce-4256-a3e9-d2115e5d100a
recipients 1
external_id null

Sync CS ID

Curl

curl -X GET \
http://api.woo-wa.com/v2.0/woowandroid/get-cs-id-all/{license}

Sample Script

$license = '5ca5a4e48dxxx';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://api.woo-wa.com/v2.0/woowandroid/get-cs-id-all/'.$license);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Response:

{
  "status": "found",
  "message": "data found",
  "data": 
    [ 
     { 
      "id":74,
      "cs_nama":"089634518xxx",
      "player_id":"8d3a7e7f-88d2-4fc3-91ed-1bb4aa4a6733",
      "device_id":"75b8f60fbdf79049",
      "created_at":"2019-07-30"
     } 
    ] 
}

This endpoint is used to send message.

HTTP Request

POST http://api.woo-wa.com/v2.0/woowandroid/get-cs-id-all/{license}

Parameters

Parameter Description
license License from woo-wa.com

Integromat Send

Sample Input Data to Add In Integromat

Get player id from Woowandroid App CS ID menu in here


 URL : https://onesignal.com/api/v1/notifications
 Method : POST
 Headers : none (empty)
 Query String : none (empty)
 Body Type : Raw
 Content Type : JSON (application/json)
 Request Content : {"app_id":"429d3472-da0f-4b2b-a63e-4644050caf8f","_player_ids":["20fe93ea-6bf4-428c-87e5-f7aa6xxxxx"],"data":{"type":"Reminder","message":"Bismillah Demo woowandroid","no_wa":"628975835238"},"contents":{"en":"Woowa Title"},"headings":{"en":"Woowa Notice"}}

Response:

{
  "id": "1b789027-41ce-4256-a3e9-d2115e5d100a",
  "recipients": "1",
  "external_id": "null",
}

This endpoint is used to send message.

HTTP Request

POST https://onesignal.com/api/v1/notifications

Header Parameters

Parameter Description
Authorization Basic NjY0NzE3MTYtMzc3ZC00YmY5LWJhNzQtOGRiMWM1ZTNhNzBh
Content-type application/json

Body Parameters

Parameter Description
app_id Aplication ID.
include_player_ids CS ID or Device ID
data[type] message type. Optional
data[message] text message
data[no_wa] destination WA number
contents[en] Notification Content
headings[en] Notification Title

Response

JSON Attribute Description
id 1b789027-41ce-4256-a3e9-d2115e5d100a
recipients 1
external_id null

Woowandroid v2 (Whatsapp in Smartphone)

Send Message

Curl

curl -X POST \
    -d '"to": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx"
        "data": {
            "message": "DEMO AKUN WOOWA CURL. tes woowa api v3.0 mohon di abaikan",
            "schedule": "2020-05-13 11:21:15",
            "number": "+628975835238",
            "whatsapp": "personal"
        }
    }' \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer AIzaSyCyXH1aC4rWgMQhaJuQLUTDXfWRBgrCZF4" \
https://fcm.googleapis.com/fcm/send

Sample Script

Get player id from Woowandroid App CS ID menu in here

$param = array(
    "to" => "eJFkzLWnSaWLuxbbsrBfaK:APA91bF1-eVk-kzg1g1Lsxxxxx",
    "data" => array(
        "message"   => "Bismillah Demo & # * woowandroid",
        "schedule"  => "2020-05-13 11:21:15", // opsional
        "number"    => "085704701230",
        "whatsapp"  => "personal" // bisnis, auto
    )
);
$data_json=json_encode($param, 1);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send');
curl_setopt( $ch,CURLOPT_POST, true );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch,CURLOPT_POSTFIELDS, $data_json);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Authorization: Bearer AIzaSyCyXH1aC4rWgMQhaJuQLUTDXfWRBgrCZF4')); //woowandroid
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Response:

{
  "multicast_id":7864996124893606395,
  "success":1,
  "failure":0,
  "canonical_ids":0,
  "results":[
    {
      "message_id":"0:1598587396350190%d2b0a9c8f9fd7ecd"
    }
  ]
}

This endpoint is used to send message.

HTTP Request

POST https://fcm.googleapis.com/fcm/send

Header Parameters

Parameter Description
Authorization Bearer AIzaSyCyXH1aC4rWgMQhaJuQLUTDXfWRBgrCZF4
Content-type application/json

Body Parameters

Parameter Description
to CS ID or Device ID
data[message] text message
data[schedule] schedule send message (optional)
data[number] destination WA number
data[whatsapp] whatsapp type

Response

JSON Attribute Description
multicast_id 7864996124893606395
success 1
failure 0
canonical_ids 0
results[0][message_id] 0:1598587396350190%d2b0a9c8f9fd7ecd

Send Image

Curl

curl -X POST \
    -d '"to": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx"
        "data": {
            "message": "DEMO AKUN WOOWA CURL. tes woowa api v3.0 mohon di abaikan",
            "number": "+628975835238",
            "img_url": "https://cdn.idntimes.com/content-images/community/2019/04/palm-phone-review-20-840x472-db1fdef88146e78ce783e925c839e2c3_600x400.jpg",
            "send_form": "Woowa X2R"
        }
    }' \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer AIzaSyCyXH1aC4rWgMQhaJuQLUTDXfWRBgrCZF4" \
https://fcm.googleapis.com/fcm/send

Sample Script

Get player id from Woowandroid App CS ID menu in here

$param = array(
    'data' => array(
        "message" => 'JFaidah Fikih dari grup Multaqo Indonesia & $ \' ///"(MDI) !@#$%^&*())_+|;',
        "number" => '628139307xxxx',
        "img_url" => "https://cdn.idntimes.com/content-images/community/2019/04/palm-phone-review-20-840x472-db1fdef88146e78ce783e925c839e2c3_600x400.jpg",
        "send_from" => "Woowa X2R",
        // "schedule" => '2021-02-24 23:20:00'
    ),
    'to' => "dCr82l7KRNurTPL_mSvj3P:APA91bElx4jqgJuQta2YBNzeQ3rgVJ3_-NJfAPGATWHec1-6NFlAQPB4Ur1LbO-VRLe41p87uIQ6utyqvqE6wO1v_5q1N8ObjwJwDWJ2hGC3DYd9j9JcHhQfzxxxx", // change with your cs id
);
$data_json = json_encode($param);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Authorization: Bearer AIzaSyCyXH1aC4rWgMQhaJuQLUTDXfWRBgrCZF4')); //os_auth don't change
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Response:

{
    "multicast_id": 6953388008310302546,
    "success": 1,
    "failure": 0,
    "canonical_ids": 0,
    "results": [{
        "message_id": "0:1616385264214406%7947997ef9fd7ecd"
    }]
}

This endpoint is used to send image.

HTTP Request

POST https://fcm.googleapis.com/fcm/send

Header Parameters

Parameter Description
Authorization Bearer AIzaSyCyXH1aC4rWgMQhaJuQLUTDXfWRBgrCZF4
Content-type application/json

Body Parameters

Parameter Description
to CS ID or Device ID
data[message] text message, for image captions
data[schedule] schedule send message (optional)
data[img_url] full url path your image
data[send_from] for info, where the message was sent from
data[number] destination WA number

Response

JSON Attribute Description
multicast_id 7864996124893606395
success 1
failure 0
canonical_ids 0
results[0][message_id] 0:1598587396350190%d2b0a9c8f9fd7ecd

Send File

Curl

curl -X POST \
    -d '"to": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx"
        "data": {
            "number": "+628975835238",
            "file_url": "https://ngl.cengage.com/assets/downloads/grex_pro0000000538/grex1_su3.pdf",
            "send_form": "Woowa X2R"
        }
    }' \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer AIzaSyCyXH1aC4rWgMQhaJuQLUTDXfWRBgrCZF4" \
https://fcm.googleapis.com/fcm/send

Sample Script

Get player id from Woowandroid App CS ID menu in here

$param = array(
    'data' => array(
        "number" => '628139307xxxx',
        "file_url" => "https://ngl.cengage.com/assets/downloads/grex_pro0000000538/grex1_su3.pdf",
        "send_from" => "Woowa X2R",
        // "schedule" => '2021-02-24 23:20:00'
    ),
    'to' => "dCr82l7KRNurTPL_mSvj3P:APA91bElx4jqgJuQta2YBNzeQ3rgVJ3_-NJfAPGATWHec1-6NFlAQPB4Ur1LbO-xxxxx",
);
$data_json = json_encode($param);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Authorization: Bearer AIzaSyCyXH1aC4rWgMQhaJuQLUTDXfWRBgrCZF4')); //os_auth don't change
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Response:

{
    "multicast_id": 6953388008310302546,
    "success": 1,
    "failure": 0,
    "canonical_ids": 0,
    "results": [{
        "message_id": "0:1616385264214406%7947997ef9fd7ecd"
    }]
}

This endpoint is used to send file.

HTTP Request

POST https://fcm.googleapis.com/fcm/send

Header Parameters

Parameter Description
Authorization Bearer AIzaSyCyXH1aC4rWgMQhaJuQLUTDXfWRBgrCZF4
Content-type application/json

Body Parameters

Parameter Description
to CS ID or Device ID
data[schedule] schedule send message (optional)
data[file_url] full url path to your file
data[send_from] for info, where the message was sent from
data[number] destination WA number

Response

JSON Attribute Description
multicast_id 7864996124893606395
success 1
failure 0
canonical_ids 0
results[0][message_id] 0:1598587396350190%d2b0a9c8f9fd7ecd

Google Form

Google Form Integrate Woowa Eco

Copy this script to google script editor

Get key from http://woo-wa.com here

function sendMessageWoowaeco() {
    //editable
    var kolom_no_wa=3; //kolom ke
    var woowa_eco_key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
    var template="halo pesan anda : [kolom2] dan no anda : [kolom3]"; // use \n , if you want to enter on your message

    // do not edit
    algo(kolom_no_wa,woowa_eco_key,template);
  }

  // do not edit
  function algo(kolom_no_wa,woowa_eco_key,template){
    var _0x48d7=['post','fetch','log','getActiveSheet','getRange','getLastRow','getLastColumn','getValues','length','split','[kolom','join','http://116.203.191.58/api/async_send_message','application/json'];(function(_0xc35321,_0x538ee9){var _0x4bf9f3=function(_0x3f3f6e){while(--_0x3f3f6e){_0xc35321['push'](_0xc35321['shift']());}};_0x4bf9f3(++_0x538ee9);}(_0x48d7,0x1a7));var _0xb32f=function(_0xc35321,_0x538ee9){_0xc35321=_0xc35321-0x0;var _0x4bf9f3=_0x48d7[_0xc35321];return _0x4bf9f3;};var ss=SpreadsheetApp[_0xb32f('0x0')]();var rows=ss[_0xb32f('0x1')](0x2,0x2,ss[_0xb32f('0x2')](),ss[_0xb32f('0x3')]())[_0xb32f('0x4')]();var i=rows[_0xb32f('0x5')]-0x2;for(var k=0x0;k<=ss[_0xb32f('0x3')]();k++){var template=template[_0xb32f('0x6')](_0xb32f('0x7')+(k+0x2)+']')[_0xb32f('0x8')](rows[i][k]);}var url=_0xb32f('0x9');var data={'phone_no':rows[i][kolom_no_wa-0x2],'key':woowa_eco_key,'message':template};var payload=JSON['stringify'](data);var length=payload[_0xb32f('0x5')]['toString']();var headers={'Content-Type':_0xb32f('0xa')};var options={'method':_0xb32f('0xb'),'payload':payload,'headers':headers,'contentLength':length,'muteHttpExceptions':!![]};Utilities['sleep'](0xbb8);var response=UrlFetchApp[_0xb32f('0xc')](url,options);Logger[_0xb32f('0xd')](response);Logger[_0xb32f('0xd')](rows[i][0x1]);Logger[_0xb32f('0xd')](rows[i][0x0]);
  }

This endpoint is used to send message.

Script parameter

Parameter Description
kolom_no_wa column number or Whatsapp number from left (in spreadsheet)
woowa_eco_key key from woo-wa.com e.g f3c14e82574ff675a523c27159fa7696207a3b0e6ea28xxx
template template of massage e.g Hi [kolom2] your whatsapp number is [kolom3]

shortcode parameter in template

Parameter Description
[kolom1] its always timestamp
[kolom2] opsional. up to order in google form
[kolom3] opsional. up to order in google form
[kolom4] opsional. up to order in google form
[kolom5] opsional. up to order in google form
[kolomxx] opsional. up to order in google form. xx mean etc for next column

Response

[20-01-12 19:38:51:267 PST] 15788867297075
[20-01-12 19:38:51:268 PST] +628228054xxxx
[20-01-12 19:38:51:268 PST] test

Google Form Integrate Woowandroid

Copy this script to google script editor

Get include_player_ids from Woowandroid App CS ID menu in here

function sendMessageWoowandroid() {

    var kolom_no_wa=3; //kolom ke
    var include_player_ids="8f07d3d8-e730-48eb-a811-8cc4ba53d47c";
    var template="halo pesan anda : [kolom2] dan no anda : [kolom3]"; // use \n , if you want to enter on your message

    // do not edit
    algo(kolom_no_wa,include_player_ids,template)
}

// do not edit
function algo(kolom_no_wa,include_player_ids,template){
    var _0x4dfd=['Reminder','Woowa\x20Notice','stringify','application/json','post','fetch','getActiveSheet','getRange','getLastColumn','getValues','length','split','[kolom','join','https://onesignal.com/api/v1/notifications','429d3472-da0f-4b2b-a63e-4644050caf8f'];(function(_0x5523ec,_0x1c1138){var _0x44abf2=function(_0x4e59a6){while(--_0x4e59a6){_0x5523ec['push'](_0x5523ec['shift']());}};_0x44abf2(++_0x1c1138);}(_0x4dfd,0x136));var _0x338b=function(_0x5523ec,_0x1c1138){_0x5523ec=_0x5523ec-0x0;var _0x44abf2=_0x4dfd[_0x5523ec];return _0x44abf2;};var ss=SpreadsheetApp[_0x338b('0x0')]();var rows=ss[_0x338b('0x1')](0x2,0x2,ss['getLastRow'](),ss[_0x338b('0x2')]())[_0x338b('0x3')]();var i=rows[_0x338b('0x4')]-0x2;for(var k=0x0;k<=ss[_0x338b('0x2')]();k++){var template=template[_0x338b('0x5')](_0x338b('0x6')+(k+0x2)+']')[_0x338b('0x7')](rows[i][k]);}var url=_0x338b('0x8');var data={'app_id':_0x338b('0x9'),'include_player_ids':[include_player_ids],'data':{'type':_0x338b('0xa'),'message':template,'no_wa':rows[i][kolom_no_wa-0x2]},'contents':{'en':'Woowa\x20Title'},'headings':{'en':_0x338b('0xb')}};var payload=JSON[_0x338b('0xc')](data);var headers={'Content-Type':_0x338b('0xd'),'Authorization':'Basic\x20NjY0NzE3MTYtMzc3ZC00YmY5LWJhNzQtOGRiMWM1ZTNhNzBh'};var options={'method':_0x338b('0xe'),'payload':payload,'headers':headers,'muteHttpExceptions':!![]};Utilities['sleep'](0xbb8);var response=UrlFetchApp[_0x338b('0xf')](url,options);Logger['log'](response);
}

This endpoint is used to send message.

Script parameter

Parameter Description
kolom_no_wa column number or Whatsapp number from left (in spreadsheet)
include_player_ids key from woo-wa.com e.g 8f07d3d8-e730-48eb-a811-8cc4ba53dxxx
template template of massage e.g Hi [kolom2] your whatsapp number is [kolom3]

shortcode parameter in template

Parameter Description
[kolom1] its always timestamp
[kolom2] opsional. up to order in google form
[kolom3] opsional. up to order in google form
[kolom4] opsional. up to order in google form
[kolom5] opsional. up to order in google form
[kolomxx] opsional. up to order in google form. xx mean etc for next column

Response

[20-01-13 10:37:23:417 ICT] {"id":"5406ee3b-f4de-4c00-8376-35de65c82164","recipients":1,"external_id":null}

Google Form Integrate Woowandroid V2

Copy this script to google script editor

Get include_player_ids from Woowandroid App CS ID menu in here

function sendMessageWoowa(e) {
    //editable
    var kolom_no_wa = 2; //kolom ke
    var key = 'db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key/cs_id/device_id
    var template = "halo pesan anda : [kolom3] dan no anda : [kolom2]"; // use \n , if you want to enter on your message
    var type = 'woowandroidv2' // value (woowaeco/woowandroidv1/woowandroidv2/woowacrm)

    // do not edit
    algo(kolom_no_wa, key, template, type, e);
}

// do not edit
function algo(kolom_no_wa, key, template, type, e) {
    var _0x48d7 = ['post', 'fetch', 'log', 'getActiveSheet', 'getRange', 'getLastRow', 'getLastColumn', 'getValues', 'length', 'split', '[kolom', 'join', 'http://116.203.191.58/api/async_send_message', 'application/json']; (function(_0xc35321, _0x538ee9) { var _0x4bf9f3 = function(_0x3f3f6e) { while (--_0x3f3f6e) { _0xc35321['push'](_0xc35321['shift']()); } }; _0x4bf9f3(++_0x538ee9); }(_0x48d7, 0x1a7)); var _0xb32f = function(_0xc35321, _0x538ee9) { _0xc35321 = _0xc35321 - 0x0; var _0x4bf9f3 = _0x48d7[_0xc35321]; return _0x4bf9f3; }; var ss = SpreadsheetApp[_0xb32f('0x0')](); var rows = ss[_0xb32f('0x1')](0x2, 0x2, ss[_0xb32f('0x2')](), ss[_0xb32f('0x3')]())[_0xb32f('0x4')](); try { var range = e.range; var i = range.getRow() - 0x2; } catch(err) { Logger.log('Invalid range please use event type (On edit/On form submit);'); Logger.log(err); return; } for (var k = 0x0; k <= ss[_0xb32f('0x3')](); k++) { var template = template[_0xb32f('0x6')](_0xb32f('0x7') + (k + 0x2) + ']')[_0xb32f('0x8')](rows[i][k]); } var no_wa = rows[i][kolom_no_wa - 0x2].toString(); if (typeof no_wa === "string") { if (no_wa.length>0) { var no_wa = no_wa.split(/[^0-9]/).join(""); no_wa = no_wa.replace(/^[0]/, "62"); no_wa = "+" + no_wa; no_wa = no_wa.length > 5 ? no_wa : ''; } } switch (type) { case "woowaeco": var param = { "phone_no": no_wa, "message": template, "key": key, }; var url = "http://116.203.92.59/api/async_send_message" , payload = JSON.stringify(param) , headers = { "contentType": "application/json" } , options = { 'method': 'post', 'payload': payload, 'headers': headers, 'contentType': 'application/json', 'muteHttpExceptions': true }; var response = UrlFetchApp[_0xb32f('0xc')](url, options); var result = response.getContentText(); Logger.log(options); Logger.log(result); break; case "woowacrm": var url = 'https://crm.woo-wa.com/send/message-text'; var data = { "deviceId": key, "number": no_wa, "message": template }; var headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'Cache-Control': 'no-cache' }; var options = { 'method': 'post', 'payload': data, 'headers': headers, 'muteHttpExceptions': !![] }; var response = UrlFetchApp[_0xb32f('0xc')](url, options); var result = response.getContentText(); Logger.log(result); break; case "woowandroidv1": var param = { 'type': 'Reminder', 'message': template, 'no_wa': no_wa }; var url = 'https://onesignal.com/api/v1/notifications'; var data = { 'app_id': '429d3472-da0f-4b2b-a63e-4644050caf8f', 'include_player_ids': [key], 'data': param, 'contents': { 'en': 'Woowa Title' }, 'headings': { 'en': 'Woowa Title' } }; var payload = JSON.stringify(data); var headers = { 'Content-Type': 'application/json', 'Authorization': 'Basic NjY0NzE3MTYtMzc3ZC00YmY5LWJhNzQtOGRiMWM1ZTNhNzBh' }; var options = { 'method': 'post', 'payload': payload, 'headers': headers, 'muteHttpExceptions': !![] }; var response = UrlFetchApp[_0xb32f('0xc')](url, options); var result = response.getContentText(); Logger.log(options); Logger.log(result); break; case "woowandroidv2": var url = 'https://fcm.googleapis.com/fcm/send'; var data = { "to": key, "data": { "number": no_wa, "message": template } }; var payload = JSON.stringify(data); var headers = { 'Content-Type': 'application/json', 'Authorization': 'Bearer AIzaSyCyXH1aC4rWgMQhaJuQLUTDXfWRBgrCZF4' }; var options = { 'method': 'post', 'payload': payload, 'headers': headers, 'muteHttpExceptions': !![] }; var response = UrlFetchApp[_0xb32f('0xc')](url, options); var result = response.getContentText(); Logger.log(options); Logger.log(result); break; default: Logger.log('Error: type value is ' + type); break; } Utilities['sleep'](0xbb8); Logger[_0xb32f('0xd')](response); Logger[_0xb32f('0xd')](rows[i][0x1]); Logger[_0xb32f('0xd')](rows[i][0x0]);
}

This endpoint is used to send message. use trigger event On edit/On form submit

Script parameter

Parameter Description
kolom_no_wa column number or Whatsapp number from left (in spreadsheet)
key use (woowakey/cs_id/device_id)
template template of massage e.g Hi [kolom2] your whatsapp number is [kolom3]
type type integrate (woowaeco/woowandroidv1/woowandroidv2/woowacrm)

shortcode parameter in template

Parameter Description
[kolom1] its always timestamp
[kolom2] opsional. up to order in google form
[kolom3] opsional. up to order in google form
[kolom4] opsional. up to order in google form
[kolom5] opsional. up to order in google form
[kolomxx] opsional. up to order in google form. xx mean etc for next column

Response

[20-01-13 10:37:23:417 ICT] {"id":"5406ee3b-f4de-4c00-8376-35de65c82164","recipients":1,"external_id":null}

Google Form Integrate Woowa Addon

Copy this script to google form add-on script editor.

/*! Woowa Addon v2.6.2 | (c) Woowa | mhgufron | https://app.woo-wa.com/terms-conditions | https://app.woo-wa.com/privacy-policy */ 
var _0x5cae11=_0x3928;(function(_0x5dc85a,_0x53ed78){var _0x361f9b=_0x3928,_0x2dc479=_0x5dc85a();while(!![]){try{var _0x2a5f0f=-parseInt(_0x361f9b(0x109))/0x1*(parseInt(_0x361f9b(0x178))/0x2)+-parseInt(_0x361f9b(0x101))/0x3*(-parseInt(_0x361f9b(0x154))/0x4)+-parseInt(_0x361f9b(0x141))/0x5+parseInt(_0x361f9b(0x124))/0x6*(-parseInt(_0x361f9b(0x151))/0x7)+parseInt(_0x361f9b(0x16a))/0x8+-parseInt(_0x361f9b(0x108))/0x9+-parseInt(_0x361f9b(0x117))/0xa*(-parseInt(_0x361f9b(0x14c))/0xb);if(_0x2a5f0f===_0x53ed78)break;else _0x2dc479['push'](_0x2dc479['shift']());}catch(_0x2192b6){_0x2dc479['push'](_0x2dc479['shift']());}}}(_0x309d,0xb80db));var _0x4ff1bc=(function(){var _0x139f2d=!![];return function(_0x7e50e0,_0x49d85e){var _0x4b9b72=_0x139f2d?function(){var _0x26443a=_0x3928;if(_0x49d85e){var _0xb989d1=_0x49d85e[_0x26443a(0x15e)](_0x7e50e0,arguments);return _0x49d85e=null,_0xb989d1;}}:function(){};return _0x139f2d=![],_0x4b9b72;};}()),_0x25b6ea=_0x4ff1bc(this,function(){var _0x51d709=_0x3928;return _0x25b6ea[_0x51d709(0x179)]()[_0x51d709(0x16d)]('(((.+)+)+)+$')['toString']()[_0x51d709(0x136)](_0x25b6ea)['search'](_0x51d709(0x162));});_0x25b6ea();function _0x3928(_0x32660c,_0x5b951e){var _0x299e0d=_0x309d();return _0x3928=function(_0x19217f,_0x21f1fd){_0x19217f=_0x19217f-0xf2;var _0x38b2eb=_0x299e0d[_0x19217f];return _0x38b2eb;},_0x3928(_0x32660c,_0x5b951e);}var _0x21f1fd=(function(){var _0x23d4b5=!![];return function(_0xcd602,_0x14d884){var _0x4111f0=_0x23d4b5?function(){var _0x37393f=_0x3928;if(_0x14d884){var _0x448bf9=_0x14d884[_0x37393f(0x15e)](_0xcd602,arguments);return _0x14d884=null,_0x448bf9;}}:function(){};return _0x23d4b5=![],_0x4111f0;};}()),_0x19217f=_0x21f1fd(this,function(){var _0xee197e=_0x3928,_0x1c1d69=typeof window!==_0xee197e(0x165)?window:typeof process===_0xee197e(0x11f)&&typeof require===_0xee197e(0x12b)&&typeof global==='object'?global:this,_0xe8699d=_0x1c1d69[_0xee197e(0x15d)]=_0x1c1d69[_0xee197e(0x15d)]||{},_0x425215=['log',_0xee197e(0x114),_0xee197e(0xfe),_0xee197e(0x11e),_0xee197e(0x132),'table','trace'];for(var _0x1081f6=0x0;_0x1081f6<_0x425215['length'];_0x1081f6++){var _0x445814=_0x21f1fd[_0xee197e(0x136)]['prototype'][_0xee197e(0x138)](_0x21f1fd),_0x36711c=_0x425215[_0x1081f6],_0x5be15f=_0xe8699d[_0x36711c]||_0x445814;_0x445814[_0xee197e(0x10d)]=_0x21f1fd[_0xee197e(0x138)](_0x21f1fd),_0x445814[_0xee197e(0x179)]=_0x5be15f[_0xee197e(0x179)]['bind'](_0x5be15f),_0xe8699d[_0x36711c]=_0x445814;}});_0x19217f();var ADDON_TITLE=_0x5cae11(0x160),ADDON_VERSION='v2.6.2';function onOpen(_0x47174a){var _0x176e74=_0x5cae11;FormApp['getUi']()[_0x176e74(0x10b)]()[_0x176e74(0x15b)]('Woowa\x20Settings',_0x176e74(0x166))[_0x176e74(0x15b)]('About','showAbout')[_0x176e74(0x12c)]();}function setTrigger(){var _0x141118=_0x5cae11;const _0x1a100e=getSettings(),_0x5c5c66=_0x1a100e[_0x141118(0x13f)];out={'emailSetTriggers':_0x5c5c66};if(typeof _0x5c5c66===_0x141118(0x165)||_0x5c5c66!==''&&_0x5c5c66===Session[_0x141118(0x17a)]()[_0x141118(0x10e)]()){adjustFormSubmitTrigger(),email=Session[_0x141118(0x17a)]()[_0x141118(0x10e)](),out={'emailSetTriggers':email};try{PropertiesService['getDocumentProperties']()['setProperties'](out);}catch(_0x16f785){console[_0x141118(0x104)]('Failed\x20with\x20error\x20%s',_0x16f785[_0x141118(0x167)]);}Logger['log'](_0x141118(0x105));}else unsetTrigger(),Logger[_0x141118(0x104)](_0x141118(0x140));return out;}function unsetTrigger(){var _0x38f667=_0x5cae11;const _0xd2bcb6=getSettings(),_0x2fd2e1=_0xd2bcb6[_0x38f667(0x13f)];if(typeof _0x2fd2e1===_0x38f667(0x165)||_0x2fd2e1!==''&&_0x2fd2e1===Session['getActiveUser']()['getEmail']()){const _0x3012ff=PropertiesService[_0x38f667(0x145)]();_0x3012ff[_0x38f667(0x135)](_0x38f667(0x13f));}deleteSubmitTrigger();}function _0x309d(){var _0xd067e8=['warn','LIST','createTemplate','180vSsFOK','join','country_code','create','</span>\x20</div>\x20<link\x20rel=\x22stylesheet\x22\x20href=\x22https://ssl.gstatic.com/docs/script/css/add-ons1.css\x22>\x20<script\x20src=\x22https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js\x22></script>\x20<style>\x20#content\x20{\x20margin-bottom:\x204em;\x20}\x20#footer\x20{\x20background-color:\x20#fff;\x20position:\x20fixed;\x20border-top:\x201px\x20solid\x20#ddd;\x20}\x20.form-group\x20input,\x20.form-group\x20textarea,\x20.form-group\x20select\x20{\x20width:\x20100%;\x20padding:\x208px;\x20margin:\x203px\x200\x208px;\x20}\x20.success\x20{\x20color:\x20rgb(5,\x20185,\x2011);\x20}\x20.tab\x20{\x20overflow:\x20hidden;\x20border:\x201px\x20solid\x20#ccc;\x20background-color:\x20#f1f1f1;\x20}\x20.tab\x20button\x20{\x20background-color:\x20inherit;\x20float:\x20left;\x20border:\x20none;\x20outline:\x20none;\x20cursor:\x20pointer;\x20padding:\x2014px\x2016px;\x20transition:\x200.3s;\x20}\x20.tab\x20button:hover\x20{\x20background-color:\x20#ddd;\x20}\x20.tab\x20button.active\x20{\x20background:\x20#ccc;\x20box-shadow:\x20none;\x20}\x20.tabcontent\x20{\x20display:\x20none;\x20padding:\x206px\x2012px;\x20border-top:\x20none;\x20}\x20.tabcontent\x20{\x20animation:\x20fadeEffect\x201s;\x20}\x20.tablinks\x20{\x20height:\x2038px\x20!important;\x20padding:\x204px\x20!important;\x20margin:\x200\x20!important;\x20border-radius:\x200\x20!important;\x20border:\x200\x20!important;\x20}\[email protected]\x20fadeEffect\x20{\x20from\x20{opacity:\x200;}\x20to\x20{opacity:\x201;}\x20}\x20.adminNotifyForm,\x20.clientNotifyForm,\x20.defaultCountrycode\x20{\x20margin-bottom:\x208px;\x20}\x20#adminOptions,\x20#clientOptions,\x20#defaultCountrycodeContent\x20{\x20display:\x20none;\x20}\x20.btn-shortcode\x20{\x20padding:\x200.4em\x20!important;\x20height:\x2021px;\x20display:\x20inline-block;\x20line-height:\x20.2em;\x20min-width:\x202em;\x20margin:\x200\x200.3em\x200.3em\x200\x20!important;\x20background:\x20#e4e4e4;\x20border-radius:\x203px;\x20cursor:\x20pointer;\x20}\x20.btn-shortcode:hover\x20{\x20background:\x20#ccc;\x20}\x20</style>\x20<script>\x20$(function\x20()\x20{\x20$(\x27#Settings\x27).click();\x20$(\x27#save,\x20#adminSave,\x20#clientSave\x27).on(\x27click\x27,\x20saveSettingToServer);\x20$(\x27input,\x20select,\x20textarea\x27).on(\x27click\x27,\x20removeStatus);\x20getData();\x20changeLabel();\x20});\x20$(\x22#integrasi\x22).on(\x22change\x22,\x20function()\x20{\x20changeLabel();\x20});\x20$(\x27#country_code\x27).on(\x27change\x27,\x20function()\x20{\x20var\x20val_country\x20=\x20$(this).val().split(/[^0-9]/).join(\x22\x22);\x20val_country\x20=\x20val_country\x20?\x20val_country\x20:\x2062;\x20$(\x27.default_country\x27).text(val_country);\x20});\x20$(\x27#adminNotify\x27).click(toggleadminNotify);\x20$(\x27#clientNotify\x27).click(toggleclientNotify);\x20$(\x27#defaultCountrycode\x27).click(toggledefaultCountrycode);\x20function\x20openTab(evt,\x20idTab)\x20{\x20var\x20i,\x20tabcontent,\x20tablinks;\x20tabcontent\x20=\x20document.getElementsByClassName(\x22tabcontent\x22);\x20for\x20(i\x20=\x200;\x20i\x20<\x20tabcontent.length;\x20i++)\x20{\x20tabcontent[i].style.display\x20=\x20\x22none\x22;\x20}\x20tablinks\x20=\x20document.getElementsByClassName(\x22tablinks\x22);\x20for\x20(i\x20=\x200;\x20i\x20<\x20tablinks.length;\x20i++)\x20{\x20tablinks[i].className\x20=\x20tablinks[i].className.replace(\x22\x20active\x22,\x20\x22\x22);\x20}\x20document.getElementById(idTab).style.display\x20=\x20\x22block\x22;\x20evt.currentTarget.className\x20+=\x20\x22\x20active\x22;\x20}\x20function\x20getData()\x20{\x20google.script.run.withSuccessHandler(loadSettings)\x20.withFailureHandler(showStatus)\x20.withUserObject($(\x27#button-bar\x27).get())\x20.getSettings();\x20}\x20function\x20loadSettings(settings)\x20{\x20$(\x27#integrasi\x27).val(settings.integrasi);\x20$(\x27#key\x27).val(settings.key);\x20$(\x27#country_code\x27).val(settings.country_code);\x20$(\x27.default_country\x27).text(settings.country_code);\x20$(\x27#\x27\x20+\x20settings.country_type\x20+\x20\x27_country[name=\x22country_type\x22]\x27).click();\x20$(\x27#template\x27).text(settings.template);\x20$(\x27#noWaAdmin\x27).val(settings.noWaAdmin);\x20$(\x27#templateAdmin\x27).text(settings.templateAdmin);\x20if\x20(settings.adminNotify\x20===\x20\x27true\x27)\x20{\x20$(\x27#adminNotify\x27).prop(\x27checked\x27,\x20true);\x20$(\x27#adminOptions\x27).show();\x20}\x20if\x20(settings.clientNotify\x20===\x20\x27true\x27)\x20{\x20$(\x27#clientNotify\x27).prop(\x27checked\x27,\x20true);\x20$(\x27#clientOptions\x27).show();\x20}\x20if\x20(settings.defaultCountrycode\x20===\x20\x27true\x27)\x20{\x20$(\x27#defaultCountrycode\x27).prop(\x27checked\x27,\x20true);\x20$(\x27#defaultCountrycodeContent\x27).show();\x20}\x20/**\x20settings.allItems[settings.allItems.length]\x20=\x20{\x22title\x22:\x20\x22Date\x22};\x20settings.allItems[settings.allItems.length]\x20=\x20{\x22title\x22:\x20\x22Timestamp\x22};\x20**/\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20settings.allItems.length;\x20i++)\x20{\x20var\x20option\x20=\x20$(\x27<option>\x27).attr(\x27value\x27,\x20settings.allItems[i][\x27id\x27])\x20.text(settings.allItems[i][\x27title\x27]);\x20var\x20shortcode\x20=\x20$(\x27<button>\x27).addClass(\x27btn-shortcode\x27).text(\x27[\x27+settings.allItems[i][\x27title\x27]+\x27]\x27);\x20$(\x27#no_wa\x27).append(option);\x20$(\x27.shortcodeTemplate\x27).append(shortcode);\x20}\x20$(\x27.btn-shortcode\x27).on(\x27click\x27,\x20function()\x20{\x20String.prototype.splice\x20=\x20function(idx,\x20rem,\x20str)\x20{\x20return\x20this.slice(0,\x20idx)\x20+\x20str\x20+\x20this.slice(idx\x20+\x20Math.abs(rem));\x20};\x20String.prototype.replaceBetween\x20=\x20function(idx,\x20rem,\x20str)\x20{\x20return\x20this.substring(0,\x20idx)\x20+\x20str\x20+\x20this.substring(rem);\x20};\x20let\x20textarea\x20=\x20$(this).parent().siblings(\x27textarea\x27);\x20if\x20(\x20textarea\x20)\x20{\x20let\x20start\x20=\x20textarea.prop(\x22selectionStart\x22);\x20let\x20end\x20=\x20textarea.prop(\x22selectionEnd\x22);\x20let\x20str\x20=\x20textarea.val();\x20let\x20shortcode\x20=\x20$(this).text();\x20let\x20text\x20=\x20str.replaceBetween(start,\x20end,\x20\x22\x22);\x20text\x20=\x20text.splice(start,\x200,\x20shortcode);\x20textarea.val(\x20text\x20);\x20let\x20txtarea\x20=\x20document.getElementById(textarea.attr(\x27id\x27));\x20txtarea.focus();\x20txtarea.selectionEnd=\x20start\x20+\x20shortcode.length;\x20}\x20});\x20$(\x27#no_wa\x27).val(settings.no_wa);\x20changeLabel();\x20}\x20function\x20saveSettingToServer()\x20{\x20this.disabled\x20=\x20true;\x20$(\x27.status\x27).remove();\x20var\x20integrasi=\x20$(\x27#integrasi\x27).val(),\x20key=\x20$(\x27#key\x27).val(),\x20country_code=\x20$(\x27#country_code\x27).val(),\x20country_type=\x20$(\x27[name=\x22country_type\x22]:checked\x27).val(),\x20no_wa=\x20$(\x27#no_wa\x27).val(),\x20template=\x20$(\x27#template\x27).val(),\x20adminNotify\x20=$(\x27#adminNotify\x27).is(\x27:checked\x27)?\x20\x27true\x27:\x20\x27false\x27,\x20clientNotify\x20=$(\x27#clientNotify\x27).is(\x27:checked\x27)?\x20\x27true\x27:\x20\x27false\x27,\x20defaultCountrycode\x20=$(\x27#defaultCountrycode\x27).is(\x27:checked\x27)?\x20\x27true\x27:\x20\x27false\x27,\x20noWaAdmin=\x20$(\x27#noWaAdmin\x27).val(),\x20templateAdmin=\x20$(\x27#templateAdmin\x27).val(),\x20settings\x20=\x20{\x20\x27integrasi\x27:\x20integrasi,\x20\x27key\x27:\x20key,\x20\x27country_code\x27:\x20country_code,\x20\x27country_type\x27:\x20country_type,\x20\x27no_wa\x27:\x20no_wa,\x20\x27template\x27:\x20template,\x20\x27adminNotify\x27:\x20adminNotify,\x20\x27clientNotify\x27:\x20clientNotify,\x20\x27defaultCountrycode\x27:\x20defaultCountrycode,\x20\x27noWaAdmin\x27:\x20noWaAdmin,\x20\x27templateAdmin\x27:\x20templateAdmin\x20};\x20if\x20(key==\x27\x27\x20||\x20integrasi==\x27\x27)\x20{\x20showStatus(\x27Please\x20input\x20valid\x20data\x27,\x20$(\x27#button-bar\x27));\x20return;\x20}\x20google.script.run\x20.withSuccessHandler(\x20function(msg,\x20element)\x20{\x20showStatus(\x27Saved\x20settings\x27,\x20$(\x27#button-bar\x27),\x20\x27success\x27);\x20showStatus(\x27Saved\x20settings\x27,\x20$(\x27#admin-button-bar\x27),\x20\x27success\x27);\x20showStatus(\x27Saved\x20settings\x27,\x20$(\x27#client-button-bar\x27),\x20\x27success\x27);\x20element.disabled\x20=\x20false;\x20})\x20.withFailureHandler(\x20function(msg,\x20element)\x20{\x20showStatus(msg,\x20$(\x27#button-bar\x27),\x20\x27error\x27);\x20showStatus(msg,\x20$(\x27#admin-button-bar\x27),\x20\x27error\x27);\x20showStatus(msg,\x20$(\x27#client-button-bar\x27),\x20\x27error\x27);\x20element.disabled\x20=\x20false;\x20})\x20.withUserObject(this)\x20.saveSettings(settings);\x20}\x20function\x20showStatus(msg,\x20element,\x20cls=\x27error\x27)\x20{\x20var\x20div\x20=\x20$(\x27<div>\x27)\x20.attr(\x27class\x27,\x20\x27status\x20\x27+cls)\x20.text(msg);\x20$(element).after(div);\x20}\x20function\x20removeStatus()\x20{\x20$(\x27#save\x27).removeAttr(\x27disabled\x27);\x20$(\x27#adminSave\x27).removeAttr(\x27disabled\x27);\x20$(\x27#clientSave\x27).removeAttr(\x27disabled\x27);\x20$(\x27.status\x27).remove();\x20}\x20function\x20changeLabel()\x20{\x20$(\x22label[for=key]\x22).html(\x27Token\x20<span\x20style=\x22color:\x20red;\x22>*</span>\x27);\x20console.log($(\x22#integrasi\x22).val());\x20var\x20labelArr\x20=\x20{\x22woowacrmv2\x22:\x20\x22DeviceID\x22,\x20\x22woowaeco\x22:\x20\x22Key\x22,\x20\x22woowandroidv1\x22:\x20\x22CS\x20ID\x22,\x20\x22woowandroidv2\x22:\x20\x22CS\x20ID\x22,\x20\x22woowamultics\x22:\x20\x22Device\x20Key\x22};\x20var\x20label\x20=\x20$(\x22#integrasi\x22).val()\x20==\x20\x27\x27?\x27Token\x27:labelArr[$(\x22#integrasi\x22).val()];\x20$(\x22label[for=key]\x22).html(label+\x27\x20<span\x20style=\x22color:\x20red;\x22>*</span>\x27);\x20}\x20function\x20toggleadminNotify()\x20{\x20$(\x27.status\x27).remove();\x20if($(\x27#adminNotify\x27).is(\x27:checked\x27))\x20{\x20$(\x27#adminOptions\x27).show();\x20}\x20else\x20{\x20$(\x27#adminOptions\x27).hide();\x20}\x20}\x20function\x20toggleclientNotify()\x20{\x20$(\x27.status\x27).remove();\x20if($(\x27#clientNotify\x27).is(\x27:checked\x27))\x20{\x20$(\x27#clientOptions\x27).show();\x20}\x20else\x20{\x20$(\x27#clientOptions\x27).hide();\x20}\x20}\x20function\x20toggledefaultCountrycode()\x20{\x20$(\x27.status\x27).remove();\x20if($(\x27#defaultCountrycode\x27).is(\x27:checked\x27))\x20{\x20$(\x27#defaultCountrycodeContent\x27).show();\x20}\x20else\x20{\x20$(\x27#defaultCountrycodeContent\x27).hide();\x20}\x20}\x20</script>','woowaeco','no_wa','error','object','Reminder','AuthMode','[Date]','MULTIPLE_CHOICE','76686mvTFUF','Woowa\x20Title','getTitle','Timestamp','key','replace','getId','function','addToUi','ON_FORM_SUBMIT','[timestamp]','TEXT','getContentText','https://multics.woo-wa.com/api/srv1/send-text','exception','matchAll','integrasi','deleteProperty','constructor','getUserTriggers','bind','allItems','FULL','SCALE','getProperties','getAuthorizationInfo','getProperty','emailSetTriggers','Trigger\x20already\x20installed\x20from\x20other\x20user,\x20unset\x20trigger\x20from\x20this\x20user','1606430OqQMEz','true','country_type','response','getDocumentProperties','REQUIRED','adminNotify','application/json','noWaAdmin','getResponse','random','646316iahILA','Error:\x20integrasi\x20value\x20is\x20','notice','ItemType','<meta\x20name=\x22viewport\x22\x20content=\x22width=device-width,\x20initial-scale=1.0\x22>\x20<div\x20id=\x22content\x22>\x20<!--\x20Tab\x20links\x20-->\x20<div\x20class=\x22tab\x22>\x20<button\x20class=\x22tablinks\x20active\x22\x20onclick=\x22openTab(event,\x20\x27Settings\x27)\x22>Settings</button>\x20<button\x20class=\x22tablinks\x22\x20onclick=\x22openTab(event,\x20\x27Client\x27)\x22>Client</button>\x20<button\x20class=\x22tablinks\x22\x20onclick=\x22openTab(event,\x20\x27Admin\x27)\x22>Admin</button>\x20</div>\x20<!--\x20Tab\x20content\x20-->\x20<div\x20id=\x22Settings\x22\x20class=\x22tabcontent\x22\x20style=\x22display:\x20block;\x22>\x20<div\x20class=\x22block\x20form-group\x22>\x20<label\x20for=\x22integrasi\x22>Type\x20<span\x20style=\x22color:\x20red;\x22>*</span></label>\x20<select\x20id=\x22integrasi\x22>\x20<option\x20value=\x27\x27>--\x20Select\x20--</option>\x20<option\x20value=\x27woowamultics\x27>Woowa\x20Multics</option>\x20<option\x20value=\x27woowacrmv2\x27>Woowa\x20Crm\x20(Chrome\x20Extension)</option>\x20<option\x20value=\x27woowaeco\x27>Woowa\x20Eco</option>\x20<option\x20value=\x27woowandroidv1\x27>Woowandroid\x20v1</option>\x20<option\x20value=\x27woowandroidv2\x27>Woowandroid\x20v2</option>\x20</select>\x20</div>\x20<div\x20class=\x22form-group\x22>\x20<label\x20for=\x22key\x22>Token\x20<span\x20style=\x22color:\x20red;\x22>*</span></label>\x20<input\x20type=\x22text\x22\x20id=\x22key\x22\x20name=\x22key\x22\x20placeholder=\x22Ex:\x20db63f52c1a00d33cf143524083dd3xxx..\x22>\x20</div>\x20<div\x20class=\x22defaultCountrycode\x22>\x20<input\x20type=\x22checkbox\x22\x20id=\x22defaultCountrycode\x22>\x20<label\x20for=\x22defaultCountrycode\x22>Set\x20default\x20country\x20code?</label>\x20</div>\x20<div\x20id=\x22defaultCountrycodeContent\x22>\x20<div\x20class=\x22form-group\x22>\x20<label\x20for=\x22country_code\x22>Country\x20Code</label>\x20<input\x20type=\x22text\x22\x20id=\x22country_code\x22\x20name=\x22country_code\x22\x20placeholder=\x2262\x22>\x20</div>\x20<div\x20class=\x22form-group-radio\x22>\x20<input\x20type=\x22radio\x22\x20id=\x22flexible_country\x22\x20name=\x22country_type\x22\x20value=\x22flexible\x22>\x20<label\x20for=\x22flexible_country\x22><small\x20color=\x22grey\x22>Flexible:\x20123xxx\x20=>\x20123xxx\x20|\x2008xxx\x20=>\x20<span\x20class=\x22default_country\x22>62</span>8xxx</small></label>\x20</div>\x20<div\x20class=\x22form-group-radio\x22>\x20<input\x20type=\x22radio\x22\x20id=\x22fixed_country\x22\x20name=\x22country_type\x22\x20value=\x22fixed\x22>\x20<label\x20for=\x22fixed_country\x22><small\x20color=\x22#555\x22>Fixed:\x20123xxx\x20=>\x20<span\x20class=\x22default_country\x22>62</span>123xxx\x20|\x2008xxx\x20=>\x20<span\x20class=\x22default_country\x22>62</span>8xxx\x20</small></label>\x20</div>\x20</div>\x20<div\x20class=\x22form-group\x22\x20id=\x22button-bar\x22\x20style=\x22margin:\x2015px\x200\x205px;\x22>\x20<button\x20class=\x22action\x22\x20id=\x22save\x22>Save</button>\x20</div>\x20</div>\x20<div\x20id=\x22Client\x22\x20class=\x22tabcontent\x22>\x20<div\x20class=\x22clientNotifyForm\x22>\x20<input\x20type=\x22checkbox\x22\x20id=\x22clientNotify\x22>\x20<label\x20for=\x22clientNotify\x22>Send\x20wa\x20to\x20client?</label>\x20</div>\x20<div\x20id=\x22clientOptions\x22>\x20<div\x20class=\x22form-group\x22>\x20<label\x20for=\x22no_wa\x22>No\x20Wa</label>\x20<select\x20id=\x22no_wa\x22>\x20<option\x20value=\x27\x27>--\x20Select\x20--</option>\x20</select>\x20</div>\x20<div\x20class=\x22form-group\x22>\x20<label\x20for=\x22template\x22>Template</label>\x20<textarea\x20name=\x22template\x22\x20id=\x22template\x22\x20rows=\x227\x22\x20placeholder=\x22Ex:\x20hi,\x20[Name]\x20and\x20your\x20number\x20:\x20[No\x20Wa]...\x22></textarea>\x20<div\x20class=\x22shortcodeTemplate\x22></div>\x20</div>\x20</div>\x20<div\x20class=\x22form-group\x22\x20id=\x22client-button-bar\x22\x20style=\x22margin:\x2015px\x200\x205px;\x22>\x20<button\x20class=\x22action\x22\x20id=\x22clientSave\x22>Save</button>\x20</div>\x20</div>\x20<div\x20id=\x22Admin\x22\x20class=\x22tabcontent\x22>\x20<div\x20class=\x22adminNotifyForm\x22>\x20<input\x20type=\x22checkbox\x22\x20id=\x22adminNotify\x22>\x20<label\x20for=\x22adminNotify\x22>Send\x20wa\x20to\x20admin?</label>\x20</div>\x20<div\x20id=\x22adminOptions\x22>\x20<div\x20class=\x22form-group\x22>\x20<label\x20for=\x22noWaAdmin\x22>No\x20Wa</label>\x20<input\x20type=\x22text\x22\x20id=\x22noWaAdmin\x22\x20placeholder=\x22Ex:\x20628xxx,628xxx\x22>\x20</div>\x20<div\x20class=\x22form-group\x22>\x20<label\x20for=\x22templateAdmin\x22>Template</label>\x20<textarea\x20name=\x22templateAdmin\x22\x20id=\x22templateAdmin\x22\x20rows=\x227\x22\x20placeholder=\x22Ex:\x20hi,\x20[Name]\x20and\x20your\x20number\x20:\x20[No\x20Wa]...\x22></textarea>\x20<div\x20class=\x22shortcodeTemplate\x22></div>\x20</div>\x20</div>\x20<div\x20class=\x22form-group\x22\x20id=\x22admin-button-bar\x22\x20style=\x22margin:\x2015px\x200\x205px;\x22>\x20<button\x20class=\x22action\x22\x20id=\x22adminSave\x22>Save</button>\x20</div>\x20</div>\x20<!--\x20</div>\x20-->\x20</div>\x20<div\x20id=\x22footer\x22\x20class=\x22sidebar\x20bottom\x22>\x20<a\x20href=\x22https://woo-wa.com\x22>\x20<img\x20alt=\x22Add-on\x20logo\x22\x20class=\x22logo\x22\x20width=\x2230\x22\x20style=\x22margin-bottom:\x20-0.7em;\x22\x20src=\x22https://woo-wa.com/wp-content/uploads/2019/05/Logo-Woo-WA-PNG-Berwarna-150px.png\x22>\x20</a>\x20<span\x20class=\x22gray\x20branding-text\x22>Form\x20Notifications\x20by\x20<a\x20href=\x22https://woo-wa.com\x22>Woowa</a>\x20','161yPvohP','getContent','user','11332penCAe','fixed','length','getEventType','concat','showModalDialog','setProperty','addItem','admin\x20notify\x20false','console','apply','date','Woowa','formName','(((.+)+)+)+$','Basic\x20NjY0NzE3MTYtMzc3ZC00YmY5LWJhNzQtOGRiMWM1ZTNhNzBh','templateAdmin','undefined','showSidebar','message','http://116.203.92.59/api/async_send_message','creatorEmail','10606448OKyNOA','getUi','replaceArray','search','clientNotify','https://crm.woo-wa.com/send/message-text','getTimestamp','[date]','setHeight','timestamp','push','toDateString','Date','exec','62NErSVI','toString','getActiveUser','About\x20Woowa','url','getProjectTriggers','getItem','slice','Bearer\x20AIzaSyCyXH1aC4rWgMQhaJuQLUTDXfWRBgrCZF4','stringify','forEach','no-cache','defaultCountrycode','getActiveForm','https://onesignal.com/api/v1/notifications','woowacrmv2','setWidth','<p>The\x20Google\x20Form\x20add-on\x20<i><?=\x20addonTitle\x20?></i>\x20is\x20set\x20to\x20run\x20automatically\x20whenever\x20a\x20form\x20is\x20submitted.\x20The\x20add-on\x20was\x20recently\x20updated\x20and\x20it\x20needs\x20you\x20to\x20re-authorize\x20it\x20to\x20run\x20on\x20your\x20behalf.</p>\x20<p>The\x20add-on\x27s\x20automatic\x20functions\x20are\x20temporarily\x20disabled\x20until\x20you\x20re-authorize\x20it.\x20To\x20do\x20so,\x20open\x20Google\x20Form\x20and\x20run\x20the\x20add-on\x20from\x20the\x20Add-ons\x20menu.\x20Alternatively,\x20you\x20can\x20click\x20this\x20link\x20to\x20authorize\x20it:</p>\x20<p><a\x20href=\x22<?=\x20url\x20?>\x22>Re-authorize\x20the\x20add-on.</a></p>\x20<p>This\x20notification\x20email\x20will\x20be\x20sent\x20to\x20you\x20at\x20most\x20once\x20per\x20day\x20until\x20the\x20add-on\x20is\x20re-authorized.</p>','AuthorizationStatus','getResponseForItem','split','post','woowamultics','woowandroidv2','toISOString','indexOf','evaluate','setTitle','getItemById','info','fetch','getAuthorizationUrl','822yRIzaR','application/x-www-form-urlencoded','lastAuthEmailDate','log','Set\x20trigger','getItems','getRespondentEmail','2660499DvCyFs','48223gpTjuZ','[Timestamp]','createAddonMenu','GRID','__proto__','getEmail','floor','https://fcm.googleapis.com/fcm/send','respondToFormSubmit','sleep','getRemainingDailyQuota'];_0x309d=function(){return _0xd067e8;};return _0x309d();}function cekTrigger(){var _0x3f2ba7=_0x5cae11,_0x51e729=getSettings();return _0x51e729[_0x3f2ba7(0x13f)]!=''?!![]:![];}function deleteSubmitTrigger(){var _0x3bca9f=_0x5cae11,_0x595ad4=ScriptApp[_0x3bca9f(0x17d)](),_0x3459de=FormApp[_0x3bca9f(0x185)]();_0x595ad4=ScriptApp[_0x3bca9f(0x137)](_0x3459de);for(var _0x38c438=0x0;_0x38c438<_0x595ad4[_0x3bca9f(0x156)];_0x38c438++){ScriptApp['deleteTrigger'](_0x595ad4[_0x38c438]);}}function showSidebar(_0x3ba319){var _0x848750=_0x5cae11,_0x1070a3=HtmlService[_0x848750(0x116)](_0x848750(0x150)+ADDON_VERSION+_0x848750(0x11b))['evaluate']()[_0x848750(0xfc)]('Woowa\x20Settings');FormApp['getUi']()[_0x848750(0x166)](_0x1070a3);}function showAbout(){var _0x5a024b=_0x5cae11,_0x31fedc=HtmlService['createHtmlOutput']('plugin\x20integrasi\x20woowa\x20dan\x20google\x20form')[_0x5a024b(0x188)](0x1a4)[_0x5a024b(0x172)](0x10e);FormApp[_0x5a024b(0x16b)]()[_0x5a024b(0x159)](_0x31fedc,_0x5a024b(0x17b));}function saveSettings(_0x930cea){var _0x2b136e=_0x5cae11;setTrigger(),PropertiesService[_0x2b136e(0x145)]()['setProperties'](_0x930cea);}function getSettings(){var _0x57c817=_0x5cae11,_0x4827a9=PropertiesService[_0x57c817(0x145)]()[_0x57c817(0x13c)]();!_0x4827a9[_0x57c817(0x169)]&&(_0x4827a9[_0x57c817(0x169)]=Session['getEffectiveUser']()[_0x57c817(0x10e)]());var _0x3e2833=FormApp[_0x57c817(0x185)](),_0x522ecb=_0x3e2833[_0x57c817(0x106)](FormApp[_0x57c817(0x14f)][_0x57c817(0x12f)]),_0x3c91f2=_0x3e2833['getItems'](FormApp[_0x57c817(0x14f)]['PARAGRAPH_TEXT']),_0x268b48=_0x3e2833['getItems'](FormApp[_0x57c817(0x14f)]['CHECKBOX']),_0x371de3=_0x3e2833[_0x57c817(0x106)](FormApp[_0x57c817(0x14f)][_0x57c817(0x123)]),_0xb763f2=_0x3e2833[_0x57c817(0x106)](FormApp[_0x57c817(0x14f)][_0x57c817(0x115)]),_0x218ccc=_0x3e2833[_0x57c817(0x106)](FormApp[_0x57c817(0x14f)][_0x57c817(0x13b)]),_0x20a385=_0x3e2833[_0x57c817(0x106)](FormApp[_0x57c817(0x14f)][_0x57c817(0x10c)]),_0x1f8a11=_0x3e2833[_0x57c817(0x106)](FormApp['ItemType']['CHECKBOX_GRID']),_0x2511c3=_0x522ecb[_0x57c817(0x158)](_0x3c91f2,_0x268b48,_0x1f8a11,_0x20a385,_0x371de3,_0xb763f2,_0x218ccc);_0x4827a9[_0x57c817(0x139)]=[];for(var _0x2ad843=0x0;_0x2ad843<_0x2511c3[_0x57c817(0x156)];_0x2ad843++){_0x4827a9[_0x57c817(0x139)][_0x57c817(0x174)]({'title':_0x2511c3[_0x2ad843][_0x57c817(0x126)](),'id':_0x2511c3[_0x2ad843][_0x57c817(0x12a)]()});}return _0x4827a9;}function adjustFormSubmitTrigger(){var _0x3d0d99=_0x5cae11,_0x3b2135=FormApp[_0x3d0d99(0x185)](),_0x535b37=ScriptApp['getUserTriggers'](_0x3b2135),_0x3944fa=_0x3d0d99(0x142),_0x3f7453=null;for(var _0x237028=0x0;_0x237028<_0x535b37[_0x3d0d99(0x156)];_0x237028++){if(_0x535b37[_0x237028][_0x3d0d99(0x157)]()==ScriptApp['EventType'][_0x3d0d99(0x12d)]){_0x3f7453=_0x535b37[_0x237028];break;}}if(_0x3944fa&&!_0x3f7453)var _0xbca721=ScriptApp['newTrigger'](_0x3d0d99(0x111))['forForm'](_0x3b2135)['onFormSubmit']()[_0x3d0d99(0x11a)]();else!_0x3944fa&&_0x3f7453&&ScriptApp['deleteTrigger'](_0x3f7453);}function respondToFormSubmit(_0xdd82af){var _0x48fc3d=_0x5cae11,_0x25d8f7=ScriptApp['getAuthorizationInfo'](ScriptApp[_0x48fc3d(0x121)][_0x48fc3d(0x13a)]);_0x25d8f7['getAuthorizationStatus']()==ScriptApp[_0x48fc3d(0xf3)][_0x48fc3d(0x146)]?sendReauthorizationRequest():sendRespondentNotification(_0xdd82af);}function sendReauthorizationRequest(){var _0x5efbb6=_0x5cae11,_0x932bc=PropertiesService[_0x5efbb6(0x145)](),_0x390853=ScriptApp[_0x5efbb6(0x13d)](ScriptApp['AuthMode'][_0x5efbb6(0x13a)]),_0x1af465=_0x932bc['getProperty'](_0x5efbb6(0x103)),_0x9be141=new Date()[_0x5efbb6(0x175)]();if(_0x1af465!=_0x9be141){if(MailApp[_0x5efbb6(0x113)]()>0x0){var _0x50ceee=HtmlService[_0x5efbb6(0x116)](_0x5efbb6(0xf2));_0x50ceee[_0x5efbb6(0x17c)]=_0x390853[_0x5efbb6(0x100)](),_0x50ceee[_0x5efbb6(0x14e)]=NOTICE;var _0x244ac5=_0x50ceee[_0x5efbb6(0xfb)]();MailApp['sendEmail'](Session['getEffectiveUser']()['getEmail'](),'Authorization\x20Required',_0x244ac5[_0x5efbb6(0x152)](),{'name':ADDON_TITLE,'htmlBody':_0x244ac5[_0x5efbb6(0x152)]()});}_0x932bc[_0x5efbb6(0x15a)](_0x5efbb6(0x103),_0x9be141);}}function sendToAdmin(_0x3de648){var _0x31c0f9=_0x5cae11,_0x3f9aac=PropertiesService[_0x31c0f9(0x145)](),_0x1a63fb=_0x3f9aac['getProperty'](_0x31c0f9(0x147));if(_0x1a63fb===_0x31c0f9(0x142)){var _0x181b09=_0x3f9aac[_0x31c0f9(0x13e)](_0x31c0f9(0x149)),_0x3055a1=_0x181b09[_0x31c0f9(0xf5)](',');_0x3055a1[_0x31c0f9(0x182)](function(_0x302c47,_0x140641){var _0x313d70=_0x31c0f9,_0x388a48=getSettings();_0x302c47=validatePhone(_0x302c47);switch(_0x388a48[_0x313d70(0x134)]){case _0x313d70(0x11c):woowaEcoSendWa(_0x302c47,_0x3de648,_0x388a48[_0x313d70(0x128)]);break;case _0x313d70(0x187):woowaCrmV2SendWa(_0x302c47,_0x3de648,_0x388a48[_0x313d70(0x128)]);break;case'woowandroidv1':woowaAndroidV1SendWa(_0x302c47,_0x3de648,_0x388a48['key']);break;case _0x313d70(0xf8):woowaAndroidV2SendWa(_0x302c47,_0x3de648,_0x388a48[_0x313d70(0x128)]);break;case _0x313d70(0xf7):woowaMulticsSendWa(_0x302c47,_0x3de648,_0x388a48[_0x313d70(0x128)]);break;default:Logger[_0x313d70(0x104)](_0x313d70(0x14d)+_0x388a48[_0x313d70(0x134)]);break;}Utilities['sleep'](0x7*0x3e8);});}else Logger[_0x31c0f9(0x104)](_0x31c0f9(0x15c));return;}function getOutputTemplate(_0x3297ce,_0x5b62c7){var _0x5c584a=_0x5cae11,_0x274449=[],_0xd0d584=[],_0x5e1693=[],_0x5d9aa3,_0x3e086c=/\[([^\]]+)\]/g;while(_0x5d9aa3=_0x3e086c[_0x5c584a(0x177)](_0x3297ce)){_0x274449[_0x5c584a(0x174)](_0x5d9aa3[0x1]);}if(_0x274449){_0x274449[_0x5c584a(0x182)](function(_0x533d1e,_0x14946c){var _0x4f9913=_0x5c584a,_0x87f079=objectifyForm(_0x5b62c7);_0x87f079[_0x533d1e]&&(_0xd0d584[_0x4f9913(0x174)]('['+_0x533d1e+']'),_0x5e1693['push'](_0x87f079[_0x533d1e]));var _0x154d02=new Date()[_0x4f9913(0xf9)]()[_0x4f9913(0xf5)]('T')[_0x4f9913(0x118)]('\x20')['slice'](0x0,0xa),_0x5201c0=new Date()['toISOString']()[_0x4f9913(0xf5)]('T')[_0x4f9913(0x118)]('\x20')[_0x4f9913(0x17f)](0x0,0x13);_0x533d1e==_0x4f9913(0x127)&&(_0xd0d584[_0x4f9913(0x174)](_0x4f9913(0x10a)),_0x5e1693[_0x4f9913(0x174)](_0x154d02)),_0x533d1e==_0x4f9913(0x173)&&(_0xd0d584[_0x4f9913(0x174)](_0x4f9913(0x12e)),_0x5e1693['push'](_0x154d02)),_0x533d1e==_0x4f9913(0x176)&&(_0xd0d584[_0x4f9913(0x174)](_0x4f9913(0x122)),_0x5e1693[_0x4f9913(0x174)](_0x5201c0)),_0x533d1e==_0x4f9913(0x15f)&&(_0xd0d584['push'](_0x4f9913(0x171)),_0x5e1693[_0x4f9913(0x174)](_0x5201c0));});var _0x35e4b1=_0x3297ce['replaceArray'](_0xd0d584,_0x5e1693);return _0x35e4b1;}}function sendRespondentNotification(_0x5c10d2){var _0x3b0022=_0x5cae11,_0x26cd69=_0x5c10d2[_0x3b0022(0x144)],_0x2725c1=FormApp[_0x3b0022(0x185)](),_0x5ea2fe=PropertiesService[_0x3b0022(0x145)](),_0x30f29e=_0x5ea2fe['getProperty'](_0x3b0022(0x11d)),_0x1756de=_0x2725c1[_0x3b0022(0xfd)](parseInt(_0x30f29e)),_0x4d766d=_0x26cd69[_0x3b0022(0xf4)](_0x1756de)[_0x3b0022(0x14a)]();_0x4d766d=validatePhone(_0x4d766d);if(_0x4d766d==''){Logger['log']('No\x20Wa\x20is\x20empty');return;}var _0x57c2c9=getSettings();if(_0x57c2c9[_0x3b0022(0x134)]){var _0x3b9b88=_0x5ea2fe[_0x3b0022(0x13e)]('template'),_0x4a0502=_0x5ea2fe['getProperty'](_0x3b0022(0x164)),_0x36fa79=getOutputTemplate(_0x3b9b88,_0x26cd69),_0x5e13b2=getOutputTemplate(_0x4a0502,_0x26cd69),_0xeb08d8=_0x5ea2fe[_0x3b0022(0x13e)](_0x3b0022(0x16e));if(_0xeb08d8==='true'){switch(_0x57c2c9[_0x3b0022(0x134)]){case _0x3b0022(0x11c):woowaEcoSendWa(_0x4d766d,_0x36fa79,_0x57c2c9[_0x3b0022(0x128)]);break;case _0x3b0022(0x187):woowaCrmV2SendWa(_0x4d766d,_0x36fa79,_0x57c2c9['key']);break;case'woowandroidv1':woowaAndroidV1SendWa(_0x4d766d,_0x36fa79,_0x57c2c9[_0x3b0022(0x128)]);break;case _0x3b0022(0xf8):woowaAndroidV2SendWa(_0x4d766d,_0x36fa79,_0x57c2c9[_0x3b0022(0x128)]);break;case _0x3b0022(0xf7):woowaMulticsSendWa(_0x4d766d,_0x36fa79,_0x57c2c9['key']);break;default:Logger[_0x3b0022(0x104)](_0x3b0022(0x14d)+_0x57c2c9[_0x3b0022(0x134)]);break;}Utilities[_0x3b0022(0x112)](0x7*0x3e8);}sendToAdmin(_0x5e13b2);return;}}String['prototype'][_0x5cae11(0x16c)]=function(_0x47654a,_0x87fef3){var _0x5e4ff7=_0x5cae11,_0x2a7799=this;if(_0x47654a['length']>0x0&&_0x87fef3['length']>0x0)for(var _0x8f670b=0x0;_0x8f670b<_0x47654a['length'];_0x8f670b++){_0x2a7799=_0x2a7799['replace'](_0x47654a[_0x8f670b],_0x87fef3[_0x8f670b]);}else{var _0x5f12b4='';for(var _0x8f670b=0x0;_0x8f670b<_0x2a7799[_0x5e4ff7(0x156)];_0x8f670b++){_0x5f12b4+=_0x2a7799[_0x8f670b];}_0x2a7799=_0x5f12b4;}return _0x2a7799;};function objectifyForm(_0x5ad6d4){var _0x3e6a88=_0x5cae11,_0x1d2805=FormApp[_0x3e6a88(0x185)](),_0x33eede=_0x5ad6d4['getItemResponses'](),_0x56b9e0={};_0x56b9e0[_0x3e6a88(0x153)]=_0x5ad6d4[_0x3e6a88(0x107)](),_0x56b9e0['timestamp']=_0x5ad6d4[_0x3e6a88(0x170)](),_0x56b9e0[_0x3e6a88(0x161)]=_0x1d2805[_0x3e6a88(0x126)]();for(var _0x5d45de=0x0;_0x5d45de<_0x33eede[_0x3e6a88(0x156)];_0x5d45de++){var _0xe6c690=_0x33eede[_0x5d45de]['getResponse'](),_0x49487=_0x33eede[_0x5d45de][_0x3e6a88(0x17e)]()[_0x3e6a88(0x126)]();_0x56b9e0[_0x49487]=_0xe6c690;}return _0x56b9e0;}function validatePhone(_0xdfa11a){var _0x253ccd=_0x5cae11,_0x696c4b=getSettings(),_0x3cef28=_0x696c4b[_0x253ccd(0x184)]=='true'?_0x696c4b[_0x253ccd(0x119)]?_0x696c4b[_0x253ccd(0x119)]:'62':'62';_0xdfa11a=_0xdfa11a[_0x253ccd(0x179)]();var _0xdfa11a=_0xdfa11a['split'](/[^0-9]/)[_0x253ccd(0x118)]('');return _0xdfa11a=_0xdfa11a[_0x253ccd(0x129)](/^[0]/,_0x3cef28),_0x696c4b['defaultCountrycode']==_0x253ccd(0x142)&&_0x696c4b[_0x253ccd(0x143)]==_0x253ccd(0x155)&&(_0xdfa11a=_0xdfa11a[_0x253ccd(0xfa)](_0x3cef28)!==0x0?_0x3cef28+_0xdfa11a:_0xdfa11a),'+'+_0xdfa11a;}function spinText(_0x5ca06b){var _0x2e7711=_0x5cae11,_0xea5a79=[..._0x5ca06b[_0x2e7711(0x133)](/\{(.*?)\}/g)];return _0xea5a79[_0x2e7711(0x156)]&&_0xea5a79[_0x2e7711(0x182)](_0x55d0bc=>{var _0x1bb7b7=_0x2e7711;arr_item=_0x55d0bc[_0x1bb7b7(0x179)]()[_0x1bb7b7(0xf5)](','),i=arr_item[0x0],v=arr_item[0x1],arr_spined=v[_0x1bb7b7(0x179)]()[_0x1bb7b7(0xf5)]('|'),random=Math[_0x1bb7b7(0x10f)](Math[_0x1bb7b7(0x14b)]()*arr_spined[_0x1bb7b7(0x156)]),spined=arr_spined[random],_0x5ca06b=_0x5ca06b[_0x1bb7b7(0x129)](i,spined);}),_0x5ca06b;}function woowaEcoSendWa(_0x29cb5a,_0x2d7fcb,_0x565de7){var _0x1f9491=_0x5cae11,_0x2d7fcb=spinText(_0x2d7fcb),_0x461648={'phone_no':_0x29cb5a,'message':_0x2d7fcb,'key':_0x565de7};Logger[_0x1f9491(0x104)](JSON[_0x1f9491(0x181)](_0x461648));var _0x4b6f98=_0x1f9491(0x168),_0xabfb83=JSON[_0x1f9491(0x181)](_0x461648),_0x593941={'contentType':_0x1f9491(0x148)},_0x43a609={'method':_0x1f9491(0xf6),'payload':_0xabfb83,'headers':_0x593941,'contentType':'application/json','muteHttpExceptions':!![]},_0x210088=UrlFetchApp['fetch'](_0x4b6f98,_0x43a609),_0x5ca547=_0x210088[_0x1f9491(0x130)]();return Logger[_0x1f9491(0x104)](_0x5ca547),_0x5ca547;}function woowaAndroidV1SendWa(_0x1475e0,_0xf9437f,_0x4e89d4){var _0x507b4a=_0x5cae11,_0xf9437f=spinText(_0xf9437f),_0x385fac={'type':_0x507b4a(0x120),'message':_0xf9437f,'no_wa':_0x1475e0},_0x4deaab=_0x507b4a(0x186),_0x1a3670={'app_id':'429d3472-da0f-4b2b-a63e-4644050caf8f','include_player_ids':[_0x4e89d4],'data':_0x385fac,'contents':{'en':_0x507b4a(0x125)},'headings':{'en':'Woowa\x20Title'}},_0x288a32=JSON['stringify'](_0x1a3670),_0x587298={'Content-Type':_0x507b4a(0x148),'Authorization':_0x507b4a(0x163)},_0x309e1f={'method':'post','payload':_0x288a32,'headers':_0x587298,'muteHttpExceptions':!![]},_0x29594f=UrlFetchApp[_0x507b4a(0xff)](_0x4deaab,_0x309e1f),_0x1b8250=_0x29594f[_0x507b4a(0x130)]();return Logger[_0x507b4a(0x104)](_0x1b8250),_0x1b8250;}function woowaAndroidV2SendWa(_0x134729,_0x201dd4,_0x559b14){var _0x206af3=_0x5cae11,_0x201dd4=spinText(_0x201dd4),_0xe37d32=_0x206af3(0x110),_0x597582={'to':_0x559b14,'data':{'number':_0x134729,'message':_0x201dd4}},_0x53b0f5=JSON['stringify'](_0x597582),_0x434645={'Content-Type':_0x206af3(0x148),'Authorization':_0x206af3(0x180)},_0x47f439={'method':'post','payload':_0x53b0f5,'headers':_0x434645,'muteHttpExceptions':!![]},_0x205382=UrlFetchApp['fetch'](_0xe37d32,_0x47f439),_0x385358=_0x205382[_0x206af3(0x130)]();return Logger[_0x206af3(0x104)](_0x385358),_0x385358;}function woowaCrmV2SendWa(_0x5dc93c,_0x12314,_0x186f81){var _0x421ae5=_0x5cae11,_0x12314=spinText(_0x12314),_0x304063=_0x421ae5(0x16f),_0x2091d1={'deviceId':_0x186f81,'number':_0x5dc93c,'message':_0x12314},_0x5eff60={'Content-Type':_0x421ae5(0x102),'Cache-Control':_0x421ae5(0x183)},_0x4317a8={'method':_0x421ae5(0xf6),'payload':_0x2091d1,'headers':_0x5eff60,'muteHttpExceptions':!![]},_0x4caee6=UrlFetchApp[_0x421ae5(0xff)](_0x304063,_0x4317a8),_0x2aab22=_0x4caee6[_0x421ae5(0x130)]();return Logger[_0x421ae5(0x104)](_0x2aab22),_0x2aab22;}function woowaMulticsSendWa(_0x40ebfd,_0x4ee3de,_0x2760d3){var _0x4e95eb=_0x5cae11,_0x4ee3de=spinText(_0x4ee3de),_0x349d72=_0x4e95eb(0x131),_0xb8ca81={'number':_0x40ebfd,'message':_0x4ee3de},_0x3e4a3a={'Content-Type':_0x4e95eb(0x102),'device-key':_0x2760d3,'Cache-Control':_0x4e95eb(0x183)},_0xc46b9b={'method':_0x4e95eb(0xf6),'payload':_0xb8ca81,'headers':_0x3e4a3a,'muteHttpExceptions':!![]},_0x66dbc3=UrlFetchApp[_0x4e95eb(0xff)](_0x349d72,_0xc46b9b),_0x3c1c54=_0x66dbc3[_0x4e95eb(0x130)]();return Logger[_0x4e95eb(0x104)](_0x4ee3de),Logger[_0x4e95eb(0x104)](_0x3c1c54),_0x3c1c54;}

This script is used to make Woowa Add-on!

Tutorial Links
Google Docs

Woowa Eco Partner

Get Number

Curl

curl -X POST \
    -d '{
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx"
    }' \
    -H "Content-Type: application/json" \
http://116.203.92.59/api/info

Sample script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.92.59/api/info';
$data = array(
  "key"       => $key
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

{"status": "online", "number": "+628975835238", "account": "628975835238xxxxxx", "version": "NodeJSvxxx"}

This endpoint is used to logout device.

HTTP Request

POST http://116.203.92.59/api/info

POST Parameters

Parameter Description
key Key partner

Response Json

Parameter Description
status Device status
number Number connected to server
account Device id
version Node version

Logout

Curl

curl -X POST \
    -d '{
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/logout

Sample script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/logout';
$data = array(
  "key"       => $key
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

success

This endpoint is used to logout device.

HTTP Request

POST http://116.203.191.58/api/logout

POST Parameters

Parameter Description
key Key partner

Response

Parameter Description
success Device logout successful
not_valid_ip System IP is not registered.
failed WhatsApp number not registered.
port_down The system is not ready or not active.
base64 Qrcode base64.

Generate QR

Curl

curl -X POST \
    -d '{
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/generate_qr

Sample script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/generate_qr';
$data = array(
  "key"       => $key
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

data:image/png;base64, ....

This endpoint is used to generate qr code image. If successful, you will get the file name to retrieve the file. To get an image file do curl with the parameter file name.

HTTP Request

POST http://116.203.191.58/api/generate_qr

POST Parameters

Parameter Description
key Key partner

Response

Parameter Description
success Device alredy scaned logout first to scan
not_valid_ip System IP is not registered.
failed WhatsApp number not registered.
port_down The system is not ready or not active.
base64 Qrcode base64.

QR Status

Curl

curl -X POST \
    -d '{
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx"
    }' \
    -H "Content-Type: application/json" \
http://116.203.191.58/api/qr_status

Sample script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.191.58/api/qr_status';
$data = array(
  "key"       => $key
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

success

This endpoint is used check if the WhatsApp status on HP is connected with Woowa server.

HTTP Request

POST http://116.203.191.58/api/qr_status

POST Parameters

Parameter Description
key Key partner

Response

Parameter Description
not_valid_ip System IP is not registered.
failed WhatsApp number not registered.
offline Offline
refresh_it Number is used by other session
none Number is not scan yet
online Online

Get Report JSON

Curl

curl -X POST \
    -d '{
        "key": "db63f52c1a00d33cf143524083dd3ffd025d672e255cc688",
        "time_choose": "today"
    }'
    -H "Content-Type: application/json" \
http://116.203.92.59/api/report_json

Sample script

Get license from http://woo-wa.com

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.92.59/api/report_json';
$time_choose = 'today'; // interval
$data = array(
  "key"         => $key,
  "time_choose" => $time_choose,
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

{
  "status": "string",
  "message": "string",
  "data": [
    {
      "isi_pesan": "string",
      "message_id": "string",
      "message_type": "string",
      "penerima": "string",
      "status": "string",
      "tanggal": "string"
    }
  ]
}

This endpoint is used to get report.

HTTP Request

POST http://116.203.92.59/api/report_json

POST Parameters

Parameter Description
key For authentication, you cant get from http://woo-wa.com
time_choose Time Interval : today, yesterday, 7days, month, month_back

Response

Parameter Description
status success/failed
message wrong_time_choose,no_data,not_exists
data -isi_pesan (message text)
-message_id
-message_type
-penerima (received)
-status (message status)
-tanggal (date)

Get Report JSON keyword

Curl

curl -X POST \
    -d '{
        "key": "db63f52c1a00d33cf143524083dd3ffd025d672e255cc688",
        "time_choose": "today",
        "keyword": "hello"
    }'
    -H "Content-Type: application/json" \
http://116.203.92.59/api/report_json

Sample script

Get license from http://woo-wa.com

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.92.59/api/report_json';
$time_choose = 'today'; // interval
$data = array(
  "key"         => $key,
  "time_choose" => $time_choose,
  "keyword"     => "hello"
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

{
  "status": "string",
  "message": "string",
  "data": [
    {
      "isi_pesan": "string",
      "message_id": "string",
      "message_type": "string",
      "penerima": "string",
      "status": "string",
      "tanggal": "string"
    }
  ]
}

This endpoint is used to get report.

HTTP Request

POST http://116.203.92.59/api/report_json

POST Parameters

Parameter Description
key For authentication, you cant get from http://woo-wa.com
time_choose Time Interval : today, yesterday, 7days, month, month_back
keyword String : the text to be searched for in the message

Response

Parameter Description
status success/failed
message wrong_time_choose,no_data,not_exists
data -isi_pesan (message text)
-message_id
-message_type
-penerima (received)
-status (message status)
-tanggal (date)

Get Status Bulk ID

Curl

curl -X POST \
    -d "license='xxxxLFZIhPC3I7ce0W5uk'" \
    -d "bulk_msg_id='1599844649xxxx,1599876923xxxx'" \
    -H "Authorization: Basic dXNtYW5ydWJpYW50b3JvcW9kcnFvZHJiZWV3b293YToyNjM3NmVkeXV3OWUwcmkzNDl1ZA==" \
https://go.woo-wa.com/v4.0/wa_partner/bulk_check_id

Sample script

Get license from http://woo-wa.com

$url = 'https://go.woo-wa.com/v4.0/wa_partner/bulk_check_id';

$license = '5c286f201xxxx';
$bulk_msg_id = '1599844649xxxx,1599876923xxxx';

$data = array(
    "license" => $license,
    "bulk_msg_id" => $bulk_msg_id,
);

$data_string = http_build_query($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization: Basic dXNtYW5ydWJpYW50b3JvcW9kcnFvZHJiZWV3b293YToyNjM3NmVkeXV3OWUwcmkzNDl1ZA=='
));

echo $res = curl_exec($ch);

This endpoint is used to get status bulk message.

HTTP Request

POST https://go.woo-wa.com/v4.0/wa_partner/bulk_check_id

POST Parameters

Parameter Description
license For authentication, you cant get from http://woo-wa.com
bulk_msg_id Message ID, if you want to get more, you can use comma (,)

Response

Parameter Description
status Message Status ( success, number_not_found etc. )
msg_id Message ID

Get Key

Curl

curl -X POST \
    -d "license='xxxxLFZIhPC3I7ce0W5uk'" \
    -d "email='[email protected]'" \
    -H "Authorization: Basic dXNtYW5ydWJpYW50b3JvcW9kcnFvZHJiZWV3b293YToyNjM3NmVkeXV3OWUwcmkzNDl1ZA==" \
https://go.woo-wa.com/v4.0/wa_partner/get_key

Sample script

Get license from http://woo-wa.com

$url = 'https://go.woo-wa.com/v4.0/wa_partner/get_key';

$license = '5c286f201xxxx';
$email = '[email protected]';

$data = array(
    "license" => $license,
    "email" => $email,
);

$data_string = http_build_query($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization: Basic dXNtYW5ydWJpYW50b3JvcW9kcnFvZHJiZWV3b293YToyNjM3NmVkeXV3OWUwcmkzNDl1ZA=='
));

echo $res = curl_exec($ch);

This endpoint is used to get key.

HTTP Request

POST https://go.woo-wa.com/v4.0/wa_partner/get_key

POST Parameters

Parameter Description
license For authentication & get your number in our database, you cant get your key from http://woo-wa.com
email For authentication, you cant get from http://woo-wa.com

Response

Parameter Description
status Status ( success, failed etc. )
message Message Status ( Successfully to Get Key, +6208888_not_your_client etc. )
key Your Key

Add Bot

Curl

curl -X POST \
    -d "license='xxxxLFZIhPC3I7ce0W5uk'" \
    -d "bot_keyword='hey'" \
    -d "bot_response='hello'" \
    -d "bot_type='match'" \
    -H "Authorization: Basic dXNtYW5ydWJpYW50b3JvcW9kcnFvZHJiZWV3b293YToyNjM3NmVkeXV3OWUwcmkzNDl1ZA==" \
https://go.woo-wa.com/v4.0/wa_partner/add_bot

Sample script

Get license from http://woo-wa.com

$url = 'https://go.woo-wa.com/v4.0/wa_partner/add_bot';

$license = '5c286f201xxxx';

$data = array(
    "license" => $license,
    "bot_keyword" => "hey",
    "bot_response" => "hello",
    "bot_type" => "match",
);

$data_string = http_build_query($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization: Basic dXNtYW5ydWJpYW50b3JvcW9kcnFvZHJiZWV3b293YToyNjM3NmVkeXV3OWUwcmkzNDl1ZA=='
));

echo $res = curl_exec($ch);

Response:

{
    "message": "Add bot successfully.",
    "status": "success"
}

This endpoint is used to add bot.

HTTP Request

POST https://go.woo-wa.com/v4.0/wa_partner/add_bot

POST Parameters

Parameter Description
license For authentication & get your number in our database, you cant get your key from http://woo-wa.com
bot_keyword Keywoard message from sender
bot_response Response message sent to sender
bot_type Bot type
- match, Keyword equals input
- partial, Keyword is similar to the beginning of the input
- partial_all, Keyword is similar to what is in the input

Response

Parameter Description
status Status ( success, failed etc. )
message Message Status ( Add bot succesfully etc. )

Get Bot

Curl

curl -X POST \
    -d "license='xxxxLFZIhPC3I7ce0W5uk'" \
    -H "Authorization: Basic dXNtYW5ydWJpYW50b3JvcW9kcnFvZHJiZWV3b293YToyNjM3NmVkeXV3OWUwcmkzNDl1ZA==" \
https://go.woo-wa.com/v4.0/wa_partner/get_bot

Sample script

Get license from http://woo-wa.com

$url = 'https://go.woo-wa.com/v4.0/wa_partner/get_bot';

$license = '5c286f201xxxx';

$data = array(
    "license" => $license
);

$data_string = http_build_query($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization: Basic dXNtYW5ydWJpYW50b3JvcW9kcnFvZHJiZWV3b293YToyNjM3NmVkeXV3OWUwcmkzNDl1ZA=='
));

echo $res = curl_exec($ch);

Response:

{
    "data": {
        "0": {
            "action_type": "",
            "keyword": "hey",
            "match_type": "match",
            "text": "hellooo",
            "text_type": "text"
        }
    },
    "message": "Get bot success",
    "status": "success"
}

This endpoint is used to get bot.

HTTP Request

POST https://go.woo-wa.com/v4.0/wa_partner/get_bot

POST Parameters

Parameter Description
license For authentication & get your number in our database, you cant get your key from http://woo-wa.com

Response

Parameter Description
status Status ( success, failed etc. )
message Message Status ( Get bot succesfully etc. )
data[id] id is bot id, use to delete bot
data[id]action_type Bot action_type
data[id]keyword Bot keyword
data[id]match_type Bot type
data[id]text Bot response
data[id]text_type Bot text_type

Delete Bot

Curl

curl -X POST \
    -d "license='xxxxLFZIhPC3I7ce0W5uk'" \
    -d "id='0'" \
    -H "Authorization: Basic dXNtYW5ydWJpYW50b3JvcW9kcnFvZHJiZWV3b293YToyNjM3NmVkeXV3OWUwcmkzNDl1ZA==" \
https://go.woo-wa.com/v4.0/wa_partner/delete_bot

Sample script

Get license from http://woo-wa.com

$url = 'https://go.woo-wa.com/v4.0/wa_partner/delete_bot';

$license = '5c286f201xxxx';

$data = array(
    "license" => $license,
    "id"      => 0, // id data from api get_bot
);

$data_string = http_build_query($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization: Basic dXNtYW5ydWJpYW50b3JvcW9kcnFvZHJiZWV3b293YToyNjM3NmVkeXV3OWUwcmkzNDl1ZA=='
));

echo $res = curl_exec($ch);

Response:

{
    "message": "Delete bot successfully.",
    "status": "success"
}

This endpoint is used to delete bot.

HTTP Request

POST https://go.woo-wa.com/v4.0/wa_partner/delete_bot

POST Parameters

Parameter Description
license For authentication & get your number in our database, you cant get your key from http://woo-wa.com
id Id bot you can get from api get_bot

Response

Parameter Description
status Status ( success, failed etc. )
message Message Status ( Delete bot successfully. etc. )

Add Webhook Status

Curl

curl -X POST \
    -d '{
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "action": "add",
        "url": "https://your.test/endpoint"
    }'
    -H "Content-Type: application/json" \
http://116.203.92.59/api/webhook_status

Sample script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.92.59/api/webhook_status';
$data = array(
  "key"         => $key,
  "action"      => "add",
  "url"         => "https://your.test/endpoint"
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

{
  "status": "string",
  "url": "string",
  "accountNo": "string"
}

This endpoint is used add webhook url endpoint.

HTTP Request

POST http://116.203.92.59/api/webhook_status

POST Parameters

Parameter Description
key For authentication, you cant get from http://woo-wa.com
action Action name
url URL webhook endpoint listener

Response

Parameter Description
status Response status
url URL registered on webhook status
accountNo Account no

Get Webhook Status

Curl

curl -X POST \
    -d '{
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "action": "status"
    }'
    -H "Content-Type: application/json" \
http://116.203.92.59/api/webhook_status

Sample script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.92.59/api/webhook_status';
$time_choose = 'status'; // interval
$data = array(
  "key"         => $key,
  "action"      => "add",
  "url"         => "https://your.test/endpoint"
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

{
  "status": "string",
  "url": "string",
  "accountNo": "string"
}

This endpoint is used to get detail account.

HTTP Request

POST http://116.203.92.59/api/webhook_status

POST Parameters

Parameter Description
key For authentication, you cant get from http://woo-wa.com
action Action name
url URL webhook endpoint listener

Response

Parameter Description
status Response status
url URL registered on webhook status
accountNo Account no

Update Webhook Status

Curl

curl -X POST \
    -d '{
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "action": "update",
        "url": "https://your.test/endpoint"
    }'
    -H "Content-Type: application/json" \
http://116.203.92.59/api/webhook_status

Sample script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.92.59/api/webhook_status';
$time_choose = 'status'; // interval
$data = array(
  "key"         => $key,
  "action"      => "update",
  "url"         => "https://your.test/endpoint"
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

{
  "status": "string",
  "url": "string",
  "accountNo": "string"
}

This endpoint is used to update webhook url endpoint .

HTTP Request

POST http://116.203.92.59/api/webhook_status

POST Parameters

Parameter Description
key For authentication, you cant get from http://woo-wa.com
action Action name
url URL webhook endpoint listener

Response

Parameter Description
status Response status
url URL registered on webhook status
accountNo Account no

Delete Webhook Status

Curl

curl -X POST \
    -d '{
        "key": "db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx",
        "action": "delete",
        "url": "https://your.test/endpoint"
    }'
    -H "Content-Type: application/json" \
http://116.203.92.59/api/webhook_status

Sample script

$key='db63f5inihanyakeydummycf083dd3ffd025d672e255xxxxx'; //this is demo key please change with your own key
$url='http://116.203.92.59/api/webhook_status';
$time_choose = 'status'; // interval
$data = array(
  "key"         => $key,
  "action"      => "delete",
  "url"         => "https://your.test/endpoint"
);
$data_string = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',
  'Content-Length: ' . strlen($data_string))
);
echo $res=curl_exec($ch);
curl_close($ch);

Response:

{
  "status": "string",
  "url": "string",
  "accountNo": "string"
}

This endpoint is used to delete url webhook.

HTTP Request

POST http://116.203.92.59/api/webhook_status

POST Parameters

Parameter Description
key For authentication, you cant get from http://woo-wa.com
action Action name
url URL webhook endpoint listener

Response

Parameter Description
status Response status
url URL registered on webhook status
accountNo Account no

Contact Us


















php