API call from asterisk server

There’s a CURL function you can use in the dialplan to call any URL.

  -= Info about function 'CURL' =- 

[Synopsis]
Retrieve content from a remote web or ftp server 

[Description]
When this function is read, a 'HTTP GET' (by default) will be used to retrieve
the contents of the provided <url>. The contents are returned as the result of
the function.
Example: Displaying contents of a page

 exten => s,1,Verbose(0, ${CURL(http://localhost:8088/static/astman.css)})
 
When this function is written to, a 'HTTP GET' will be used to retrieve the
contents of the provided <url>. The value written to the function specifies the
destination file of the cURL'd resource.
Example: Retrieving a file

 exten => s,1,Set(CURL(http://localhost:8088/static/astman.css)=/var/spool/aste
 isk/tmp/astman.css))
 
NOTE: If 'live_dangerously' in 'asterisk.conf' is set to 'no', this function
can only be written to from the dialplan, and not directly from external
protocols. Read operations are unaffected.

[Syntax]
CURL(url[,post-data])

[Arguments]
url
    The full URL for the resource to retrieve.
post-data
    *Read Only*
    If specified, an 'HTTP POST' will be performed with the content of
    <post-data>, instead of an 'HTTP GET' (default).

[See Also]
CURLOPT
2 Likes