REST API Documentation
All functionality which is available via webpage and UI can be also used via REST API
Complete documentation in swagger can be found here
Authentication
To execute any call you have to first retrieve the token:
POST https://api.wachete.com/thirdparty/v1/user/apilogin Content-type: application/json { "userId": "54c84df2-4432.....Get_from_profile", "apiKey": "fe69a46a82d542a7a....Get_from_profile" } response: { "token": "QSQ26DJM2HPAD4NP4MSAVZGH5FUJGNYZY498XDP9AFLDT95PZJQFKVVFZ35FU3BVU..." }
Create new wachet or update existing one
Simple wachet
PUT https://api.wachete.com/thirdparty/v1/task Content-type: application/json Authorization:bearer QWQQQQUW3... { "id": "do_not_specify_if_creating_but_only_when_updating_existing_wachet" "name": "My First Wachet", "url": "http://www.mypage.com", "xPath": "/", "jobType": "SinglePage", # OPTIONAL - Default SinglePage "alerts": [{ "type": "Error" }, { type: "NotEq" }], "recurrenceInSeconds": 86400, "notificationEndpoints": [{ # OPTIONAL - Default all endpoints "type": "Webhook", "value": "https://..." }, { "type": "Email", "value": "email@gmail.com" } ] }
Portal wachet
PUT https://api.wachete.com/thirdparty/v1/task Content-type: application/json Authorization:bearer QWQQQQUW3... { "id": "do_not_specify_if_creating_but_only_when_changing_existing_wachet" "name": "My First Wachet", "url": "http://www.mypage.com", "xPath": "/", "jobType": "Portal", "crawlingDepth": 2, # OPTIONAL - Default is 2 "urlFilter": { # OPTIONAL - Default no filters "include": [{ "filter" : "http://products/catalog/", "type" : "Contains" }], "exclude": [{ "filter" : "cars[0-9]+", "type" : "Regex" }] } "alerts": [{ "type": "Error" }, { type: "NotEq" }], "recurrenceInSeconds": 86400, "notificationEndpoints": [{ # OPTIONAL - Default all endpoints "type": "Webhook", "value": "https://..." }, { "type": "Email", "value": "email@gmail.com" } ] }
jobType - use 'SinglePage' or 'Portal' for crawling
notificationEndpoints - Leave empty to receive notification to all emails by default
proxies - For monitoring from location using proxy use - [{"location": "location"}] - location can be us,gb
dynamicContent - in case your page content which you monitor is rendered with javascript specify - true
crawlingDepth - If you chose jobType 'Portal', automatic crawling, you can specify how deep to crawl. Possible values - 1,2,3
urlFilter - Used for Portal wachet to filter URLs either by simple contains string or by regular expression
Get basic wachet info and settings
GET https://api.wachete.com/thirdparty/v1/task/{taskId} Content-type: application/json Authorization:bearer QWQQQQUW3...
taskId specify wachet ID
Get notifications
GET https://api.wachete.com/thirdparty/v1/notification/list Content-type: application/json Authorization:bearer QWQQQQUW3...
taskId Specify to list notifications only from one wachet with ID. If not specified all are listed. (query param)
from - optionaly specify in ISO format FROM time for notifications (query param)
to - optionaly specify in ISO format TO time for notifications (query param)
Get content values of wachet
GET https://api.wachete.com/thirdparty/v1/data/list/{ID_OF_YOUR_WACHET} Content-type: application/json Authorization:bearer QWQQQQUW3...
returnDiff - specify this to true if you want instead of just values to get google diff (query param)continuationToken - to get next batch of data (query param)
from - optionaly specify in ISO format FROM time for notifications (query param)
to - optionaly specify in ISO format TO time for notifications (query param)
Delete wachet
DELETE https://api.wachete.com/thirdparty/v1/task/{ID_OF_YOUR_WACHET} Content-type: application/json Authorization:bearer QWQQQQUW3...
Get content of folder
GET https://api.wachete.com/thirdparty/v1/folder/list Content-type: application/json Authorization:bearer QWQQQQUW3...
parentId Specify to list content of folder with specific ID. If not specified root is listed. (query param)