Skip to content

allenwoot/proxy-ws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 

Repository files navigation

#API Endpoints

Request
Account

POST /translate

{ "request":"Make a reservation tomorrow at 8pm at House of Prime Rib" } 

200 OK

{
    "result": {
    	"intent": "RESTAURANT_RESERVATION",
        "missingFields": [
            {
                "friendlyString": "For how many people?",
                "name": "partySize",
                "type": "Integer",
            }
        ],
        "validatedFields": [
            {
                "friendlyString": "Where?",
                "name": "restaurant",
                "type": "String",
                "value": "House of Prime Rib"
            },
            {
                "friendlyString": "When?",
                "name": "dateTime",
                "type": "String",
                "value": "2014-11-04T04:00:00+0000"
            }
        ],
        "confirmation": "We'll make a reservation at $restaurant for $partySize people at $dateTime."
    },
    "error": null
}

POST /request

{
    "intent": "RESTAURANT_RESERVATION",
    "dateTime": "2014-11-04T04:00:00+0000",
    "partySize": 3,
    "restaurant": "House of Prime Rib"
}

200 OK

{
    "result": {
        "request": {
            "id": "REQUEST1946742199",
            "intent": "RESTAURANT_RESERVATION",
            "requesterId": "USER1633233668",
            "status": "QUEUED",
            "created": "2014-11-03T05:03:02+0000",
            "dateTime": "2014-11-04T04:00:00+0000",
            "partySize": 3,
            "restaurant": "House of Prime Rib"
        }
    },
    "error": null
}

400 bad request

{
    "result": null,
    "error": {
        "code": 400,
        "message": "Valid party size must be specified"
    }
}

GET /request?status=<status>

Gets all requests where the status is one of the enum QUEUED, PROCESSING, or DONE

{
    "result": {
        "requests": [
            {
                "id": "REQUEST1946742199",
                "intent": "RESTAURANT_RESERVATION",
                "requesterId": "USER1633233668",
                "status": "QUEUED",
                "created": "2014-11-03T05:03:02+0000",
                "dateTime": "2014-11-04T04:00:00+0000",
                "partySize": 3,
                "restaurant": "House of Prime Rib"
            }
        ]
    },
    "error": null
}

PUT /request/id/<id>

{
    "status": "DONE"
}

200 OK

{
    "result": {
        "request": {
            "id": "REQUEST1946742199",
            "intent": "RESTAURANT_RESERVATION",
            "requesterId": "USER1633233668",
            "status": "DONE",
            "created": "2014-11-03T05:03:02+0000",
            "dateTime": "2014-11-04T04:00:00+0000",
            "partySize": 3,
            "restaurant": "House of Prime Rib"
        }
    },
    "error": null
}

POST /account

{
    "email": "allenwoot@gmail.com",
    "number": "6363366066",
    "firstName": "Allen",
    "lastName": "Wu",
    "password": "super_secure_password",
    "userType": "USER",
    "deviceToken": "203f9j0293jf092j3"
}

200 OK

{
    "result": {
        "user": {
            "authToken": "AUTHVVNFUjE4Mjk4ODMyMjRAMTQxNDk4OTI4NjcxNg==",
            "email": "allenwoot@gmail.com",
            "firstName": "Allen",
            "id": "USER1829883224",
            "lastName": "Wu",
            "number": "6363366066",
            "password": "super_secure_password",
            "userType": "USER",
            "deviceToken": "203f9j0293jf092j3"
        }
    },
    "error": null
}

400 BAD REQUEST

{
    "result": null,
    "error": {
        "code": 400,
        "message": "Missing field {email}"
    }
}

POST /authenticate

{
    "email": "allenwoot@gmail.com",
    "password": "doge"
}

200 OK

{
    "result": {
        "user": {
            "authToken": "AUTHVVNFUjE2MzMyMzM2NjhAMTQxNDk4OTk0NDY1OA==",
            "email": "allenwoot@gmail.com",
            "firstName": "Allen",
            "id": "USER1633233668",
            "lastName": "Wu",
            "number": "6363366066",
            "password": "super_secure_password",
            "userType": "USER",
            "deviceToken": "203f9j0293jf092j3"
        }
    },
    "error": null
}

403 FORBIDDEN

{
    "result": null,
    "error": {
        "code": 403,
        "message": "Authentication failed"
    }
}

An authentication token must be passed with every request (with the exception of post account and post authenticate), as a header keyed with "Auth-Token".

401 UNAUTHORIZED

{
    "result": null,
    "error": {
        "code": 401,
        "message": "Invalid or expired auth token"
    }
}

About

Proxy web services

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors