subpage-bg

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 monitor or update existing one

Simple monitor

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 Monitor", "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 monitor

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 Monitor", "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 monitor to filter URLs either by simple contains string or by regular expression

Get basic monitor info and settings

GET https://api.wachete.com/thirdparty/v1/task/{taskId} Content-type: application/json Authorization:bearer QWQQQQUW3...

taskId specify monitor 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 monitor with ID. If not specified all are listed. (query param)
from - optionally specify in ISO format FROM time for notifications (query param)
to - optionally specify in ISO format TO time for notifications (query param)

Get content values of monitor

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 - optionally specify in ISO format FROM time for notifications (query param)
to - optionally specify in ISO format TO time for notifications (query param)

Delete monitor

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)