API URL은 현재 noserv.io:2337로 설정되어있음
URL | HTTP Verb | Functionality |
---|---|---|
/1/classes/:className | POST | Creating Objects |
/1/classes/:className/:objectId | GET | Retrieving Objects |
/1/classes/:className/:objectId | PUT | Updating Objects |
/1/classes/:className | GET | Queries |
/1/classes/:className/:objectId | DELETE | Deleting Objects |
URL | HTTP Verb | Functionality |
---|---|---|
/1/users | POST | Signing Up |
/1/login | GET | Logging In |
/1/users/:objectId | GET | Retrieving Users |
/1/users/me | GET | Validating Session Tokens / Retrieving Current User |
/1/users/:objectId | PUT | Updating Users |
/1/users | GET | Querying Users |
/1/users/:objectId | DELETE | Deleting Users |
/1/requestPasswordReset | POST | Requesting A Password Reset |
URL | HTTP Verb | Functionality |
---|---|---|
/1/apps | POST | Creating Apps |
/1/apps/:objectId | GET | Retrieving Apps |
/1/apps/:objectId | PUT | Updating Apps |
/1/apps | GET | Queries |
/1/apps/:objectId | DELETE | Deleting Apps |
URL | HTTP Verb | Functionality |
---|---|---|
/1/installations | POST | Creating Installations |
/1/installations/:objectId | GET | Retrieving Installations |
/1/installations/:objectId | PUT | Updating Installations |
/1/installations | GET | Queries |
/1/installations/:objectId | DELETE | Deleting Installations |
URL | HTTP Verb | Functionality |
---|---|---|
/1/push | POST | Sending Pushes |
/1/push/:objectId | GET | Retrieving Pushes |
/1/push | GET | Queries |
URL | HTTP Verb | Functionality |
---|---|---|
/1/files/:fileName | POST | Uploading Files |
/1/files/:fileName | DELETE | Deleting Files |
- POST, PUT일 때 데이터는 body에 JSON 형식의 text로 보내고, 헤더에 Content-Type: application/json 을 넣어준다.
- 모든 데이터는 생성과 수정시에 문서에 명시된 필드 외에 다른 필드도 추가할 수 있다.
- status Codes
code | 이름 | 내용 |
---|---|---|
200 | ok | 성공 |
201 | created | 생성됨 |
403 | NotAuthorized | token이나 key값이 잘못되었을 경우 |
404 | NotFound | 잘못된 URL |
409 | InvalidArgument | 주로 키값이 겹쳤을 때 발생 |
500 | InternalServerError | 알수없는 서버 에러 |
위의 코드 외에도 상황에 따라 표준 서버 에러가 발생할 수 있음.
에러 유무는 statusCode로 판별하며, 오류가 발생했을 때 response body는 다음과 같은 형식
{
"code":"NotAuthorized",
"message":"Session Token is required"
}
Query는 GET 호출이므로 모든 속성은 urlencode하여 호출한다. 호출시 데이터는 다음과 같으며, 모두 생략 가능하다.
Data | Sample Value |
---|---|
where | {"score":10, "name":"park"} |
order | score,-name |
limit | 10 |
skip | 20 |
count | 1 |
- where 다음과 같은 옵션을 조합해 사용할 수 있다.
Key | Operation | Sample |
---|---|---|
$lt | Less Than | {"num" : {"$lt" : 2 } } |
$lte | Less Than Or Equal To | {"num" : {"$lte" : 2 } } |
$gt | Greater Than | {"num" : {"$gt" : 2 } } |
$gte | Greater Than Or Equal To | {"num" : {"$gte" : 2 } } |
$ne | Not Equal To | {"num" : {"$ne" : 2 } } |
$in | Contained In | {"arr" : {"$in" : ["c", "b"] } } |
$nin | Not Contained in | {"arr" : {"$nin" : ["b"] } } |
$exists | A value is set for the key | {"arr" : {"$exists" : true } } |
$all | Contains all of the given values | {"arr" : {"$all" : ["b", "c"] } } |
$or | or | {"$or" : [{"arr" : {"$nin" : ["b"] } }, {"num" : {"$gte" : 2 } }] } |
-
order 소트할 컬럼명을 설정한다. 여러개일 경우 콤마(,)로 구분하여 나열하며, descending일 경우 컬럼명 앞에 마이너스부호(-)를 넣는다.
-
limit 조회 결과의 최대 갯수를 설정
-
skip 조회 결과의 앞에서부터 스킵할 갯수를 설정
-
count count = 1로 설정할 경우 where 조건에 맞는 갯수만을 리턴한다. 이 때 리턴 데이터는 아래와 같이 results는 비워두고 count를 추가한다.
{
"results": [
],
"count": 1337
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/classes/:className | POST | Creating Objects |
/1/classes/:className/:objectId | GET | Retrieving Objects |
/1/classes/:className/:objectId | PUT | Updating Objects |
/1/classes/:className | GET | Queries |
/1/classes/:className/:objectId | DELETE | Deleting Objects |
URL | HTTP Verb | Functionality |
---|---|---|
/1/classes/:className | POST | Creating Objects |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Content-Type | application/json |
Success
Status: 201 Created createdAt, objectId가 항상 들어온다.
{
"createdAt": "2011-08-20T02:06:57.931Z",
"objectId": "Ed1nuqPvcm"
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/classes/:className/:objectId | GET | Retrieving Objects |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Success createdAt, updatedAt, objectId가 항상 들어온다. 나머지는 예제
{
"score": 1337,
"playerName": "Sean Plott",
"cheatMode": false,
"skills": [
"pwnage",
"flying"
],
"createdAt": "2011-08-20T02:06:57.931Z",
"updatedAt": "2011-08-20T02:06:57.931Z",
"objectId": "Ed1nuqPvcm"
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/classes/:className/:objectId | PUT | Updating Objects |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Content-Type | application/json |
Success updatedAt이 항상 들어온다.
{
"updatedAt": "2011-08-21T18:02:52.248Z"
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/classes/:className | GET | Queries |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Success 항상 배열을 results로 감싸서 리턴한다.
{
"results": [
{
"playerName": "Jang Min Chul",
"updatedAt": "2011-08-19T02:24:17.787Z",
"cheatMode": false,
"createdAt": "2011-08-19T02:24:17.787Z",
"objectId": "A22v5zRAgd",
"score": 80075
},
{
"playerName": "Sean Plott",
"updatedAt": "2011-08-21T18:02:52.248Z",
"cheatMode": false,
"createdAt": "2011-08-20T02:06:57.931Z",
"objectId": "Ed1nuqPvcm",
"score": 73453
}
]
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/classes/:className/:objectId | DELETE | Deleting Objects |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Success 리턴 데이터 없음.
URL | HTTP Verb | Functionality |
---|---|---|
/1/users | POST | Signing Up |
/1/login | GET | Logging In |
/1/users/:objectId | GET | Retrieving Users |
/1/users/me | GET | Validating Session Tokens / Retrieving Current User |
/1/users/:objectId | PUT | Updating Users |
/1/users | GET | Querying Users |
/1/users/:objectId | DELETE | Deleting Users |
URL | HTTP Verb | Functionality |
---|---|---|
/1/users | POST | Signing Up |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Content-Type | application/json |
Data | Sample Value |
---|---|
username | test |
password | test |
위의 데이터는 필수이고, 나머지 앱에서 회원관리에 필요한 데이터를 더 받아서 넣으면 됨.
Success
Status: 201 Created createdAt, objectId, sessionToken이 항상 들어온다.
{
"createdAt": "2011-08-20T02:06:57.931Z",
"objectId": "Ed1nuqPvcm",
"sessionToken": "pnktnjyb996sj4p156gjtp4im"
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/login | GET | Logging In |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Data | Sample Value |
---|---|
username | test |
password | test |
Get방식이므로 username과 password는 urlencode해서 보내야 함.
Success
createdAt, updatedAt, objectId, sessionToken이 항상 들어온다. 나머지 user데이터도 password만 빼고 보내준다.
{
"username": "cooldude6",
"phone": "415-392-0202",
"createdAt": "2011-11-07T20:58:34.448Z",
"updatedAt": "2011-11-07T20:58:34.448Z",
"objectId": "g7y9tkhB7O",
"sessionToken": "pnktnjyb996sj4p156gjtp4im"
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/users/:objectId | GET | Retrieving Users |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Success
createdAt, updatedAt, objectId가 항상 들어온다. 나머지 user데이터도 password만 빼고 보내준다.
{
"username": "cooldude6",
"phone": "415-392-0202",
"createdAt": "2011-11-07T20:58:34.448Z",
"updatedAt": "2011-11-07T20:58:34.448Z",
"objectId": "g7y9tkhB7O"
}
현재 접속자의 정보를 가져온다. 토큰값으로 접속자를 판단하므로 토큰값 검증에도 이용한다.
URL | HTTP Verb | Functionality |
---|---|---|
/1/users/me | GET | Validating Session Tokens / Retrieving Current User |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
X-Noserv-Session-Token | pnktnjyb996sj4p156gjtp4im |
Success
createdAt, updatedAt, objectId가 항상 들어온다. 나머지 user데이터도 password만 빼고 보내준다.
{
"username": "cooldude6",
"phone": "415-392-0202",
"createdAt": "2011-11-07T20:58:34.448Z",
"updatedAt": "2011-11-07T20:58:34.448Z",
"objectId": "g7y9tkhB7O"
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/users/:objectId | PUT | Updating Users |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
X-Noserv-Session-Token | pnktnjyb996sj4p156gjtp4im |
Content-Type | application/json |
Success
updatedAt이 항상 들어온다.
{
"updatedAt": "2011-11-07T21:25:10.623Z"
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/users | GET | Querying Users |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Success
항상 배열을 results로 감싸서 리턴한다.
{
"results": [
{
"username": "bigglesworth",
"phone": "650-253-0000",
"createdAt": "2011-11-07T20:58:06.445Z",
"updatedAt": "2011-11-07T20:58:06.445Z",
"objectId": "3KmCvT7Zsb"
},
{
"username": "cooldude6",
"phone": "415-369-6201",
"createdAt": "2011-11-07T20:58:34.448Z",
"updatedAt": "2011-11-07T21:25:10.623Z",
"objectId": "g7y9tkhB7O"
}
]
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/users/:objectId | DELETE | Deleting Users |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
X-Noserv-Session-Token | pnktnjyb996sj4p156gjtp4im |
Success 리턴 데이터 없음.
웹 전용 API로, 앱 관리에 사용
URL | HTTP Verb | Functionality |
---|---|---|
/1/apps | POST | Creating Apps |
/1/apps/:objectId | GET | Retrieving Apps |
/1/apps/:objectId | PUT | Updating Apps |
/1/apps | GET | Queries |
/1/apps/:objectId | DELETE | Deleting Apps |
URL | HTTP Verb | Functionality |
---|---|---|
/1/apps | POST | Creating Apps |
Header | Sample Value |
---|---|
X-Noserv-Session-Token | pnktnjyb996sj4p156gjtp4im |
Content-Type | application/json |
Data | Sample Value |
---|---|
appname | test |
Success
Status: 201 Created createdAt, objectId, 각종 key token들이 생성되어 들어온다.
{
"createdAt": "2011-08-20T02:06:57.931Z",
"objectId": "Ed1nuqPvcm",
"applicationId":"94dpGeRxeBiFJw7lX7JuLGXNTE8JvuAD",
"clientKey":"nCBnEcpuKb0YHRLJl5TZTR1xDiy6SSeU",
"javascriptKey":"oJAoQ8Jmn5zr6DzWWUPcMNWc3bceoz7n",
"dotNetKey":"5v1Yl8z9oNsNASa6VwHgm3ZC5Zgo7v6D",
"restApiKey":"4WdHTzXPWXnJWz053pN6uvS9GmoQ4q5X",
"masterKey":"pSbixs1SpzVe5DI0rCTtO24uz0VFv6uU"
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/apps/:objectId | GET | Retrieving Apps |
Header | Sample Value |
---|---|
X-Noserv-Session-Token | pnktnjyb996sj4p156gjtp4im |
Success createdAt, updatedAt, objectId, 각종 key가 항상 들어온다. 데이터가 더 있다면 함께 들어온다.
{
"createdAt": "2011-08-20T02:06:57.931Z",
"updatedAt": "2011-08-20T02:06:57.931Z",
"objectId": "Ed1nuqPvcm",
"applicationId":"94dpGeRxeBiFJw7lX7JuLGXNTE8JvuAD",
"clientKey":"nCBnEcpuKb0YHRLJl5TZTR1xDiy6SSeU",
"javascriptKey":"oJAoQ8Jmn5zr6DzWWUPcMNWc3bceoz7n",
"dotNetKey":"5v1Yl8z9oNsNASa6VwHgm3ZC5Zgo7v6D",
"restApiKey":"4WdHTzXPWXnJWz053pN6uvS9GmoQ4q5X",
"masterKey":"pSbixs1SpzVe5DI0rCTtO24uz0VFv6uU"
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/apps/:objectId | PUT | Updating Apps |
Header | Sample Value |
---|---|
X-Noserv-Session-Token | pnktnjyb996sj4p156gjtp4im |
Content-Type | application/json |
Success updatedAt이 항상 들어온다.
{
"updatedAt": "2011-08-21T18:02:52.248Z"
}
세션토큰에 해당하는 유저가 생성한 app만 조회한다.
URL | HTTP Verb | Functionality |
---|---|---|
/1/apps | GET | Queries |
Header | Sample Value |
---|---|
X-Noserv-Session-Token | pnktnjyb996sj4p156gjtp4im |
Success 항상 배열을 results로 감싸서 리턴한다.
{
"results": [
{
"createdAt": "2011-08-20T02:06:57.931Z",
"updatedAt": "2011-08-20T02:06:57.931Z",
"objectId": "Ed1nuqPvcm",
"appname": "test1",
"applicationId":"94dpGeRxeBiFJw7lX7JuLGXNTE8JvuAD",
"clientKey":"nCBnEcpuKb0YHRLJl5TZTR1xDiy6SSeU",
"javascriptKey":"oJAoQ8Jmn5zr6DzWWUPcMNWc3bceoz7n",
"dotNetKey":"5v1Yl8z9oNsNASa6VwHgm3ZC5Zgo7v6D",
"restApiKey":"4WdHTzXPWXnJWz053pN6uvS9GmoQ4q5X",
"masterKey":"pSbixs1SpzVe5DI0rCTtO24uz0VFv6uU"
},
{
"createdAt": "2011-08-20T02:06:57.931Z",
"updatedAt": "2011-08-20T02:06:57.931Z",
"objectId": "Ed1nuqPvcm",
"appname": "test2",
"applicationId":"94dpGeRxeBiFJw7lX7JuLGXNTE8JvuAD",
"clientKey":"nCBnEcpuKb0YHRLJl5TZTR1xDiy6SSeU",
"javascriptKey":"oJAoQ8Jmn5zr6DzWWUPcMNWc3bceoz7n",
"dotNetKey":"5v1Yl8z9oNsNASa6VwHgm3ZC5Zgo7v6D",
"restApiKey":"4WdHTzXPWXnJWz053pN6uvS9GmoQ4q5X",
"masterKey":"pSbixs1SpzVe5DI0rCTtO24uz0VFv6uU"
}
]
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/apps/:objectId | DELETE | Deleting Apps |
Header | Sample Value |
---|---|
X-Noserv-Session-Token | pnktnjyb996sj4p156gjtp4im |
Success 리턴 데이터 없음.
모바일 Push를 위한 클라이언트 장비 정보를 관리함.
URL | HTTP Verb | Functionality |
---|---|---|
/1/installations | POST | Creating Installations |
/1/installations/:objectId | GET | Retrieving Installations |
/1/installations/:objectId | PUT | Updating Installations |
/1/installations | GET | Queries |
/1/installations/:objectId | DELETE | Deleting Installations |
URL | HTTP Verb | Functionality |
---|---|---|
/1/installations | POST | Creating Installations |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Content-Type | application/json |
Data | Sample Value |
---|---|
deviceType | android |
deviceToken | 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef |
pushType | gcm |
- ios의 경우 pushType이 없으며, deviceType은 ios로 한다.
Success
Status: 201 Created createdAt, objectId가 항상 들어온다.
{
"createdAt": "2011-08-20T02:06:57.931Z",
"objectId": "Ed1nuqPvcm"
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/installations/:objectId | GET | Retrieving Installations |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Success createdAt, updatedAt, objectId가 항상 들어온다. 데이터가 더 있다면 함께 들어온다.
{
"deviceType": "ios",
"deviceToken": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"channels": [
""
],
"createdAt": "2012-04-28T17:41:09.106Z",
"updatedAt": "2012-04-28T17:41:09.106Z",
"objectId": "mrmBZvsErB"
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/installations/:objectId | PUT | Updating Installations |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Content-Type | application/json |
Success updatedAt이 항상 들어온다.
{
"updatedAt": "2011-08-21T18:02:52.248Z"
}
조회에는 Master Key가 필요하다.
URL | HTTP Verb | Functionality |
---|---|---|
/1/installations | GET | Queries |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-Master-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Success 항상 배열을 results로 감싸서 리턴한다.
{
"results": [
{
"deviceType": "ios",
"deviceToken": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"channels": [
""
],
"createdAt": "2012-04-28T17:41:09.106Z",
"updatedAt": "2012-04-28T17:41:09.106Z",
"objectId": "mrmBZvsErB"
},
{
"deviceType": "ios",
"deviceToken": "fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210",
"channels": [
""
],
"createdAt": "2012-04-30T01:52:57.975Z",
"updatedAt": "2012-04-30T01:52:57.975Z",
"objectId": "sGlvypFQcO"
}
]
}
삭제에는 Master Key가 필요하다.
URL | HTTP Verb | Functionality |
---|---|---|
/1/installations/:objectId | DELETE | Deleting Installations |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-Master-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Success 리턴 데이터 없음.
모바일 Push를 발송한다.
URL | HTTP Verb | Functionality |
---|---|---|
/1/push | POST | Sending Pushes |
/1/push/:objectId | GET | Retrieving Pushes |
/1/push | GET | Queries |
URL | HTTP Verb | Functionality |
---|---|---|
/1/push | POST | Sending Pushes |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Content-Type | application/json |
- Using Channels body를 다음과 같은 형태로 구현하면 channels를 포함하는 installation들에 push를 보낸다.
{
"channels": [
"Giants"
],
"data": {
"alert": "The Giants won against the Mets 2-3."
}
}
- Using Advanced Targeting 다음과 같이 installation에 추가한 컬럼들을 통해 구독자를 검색할 수 있다.
{
"where": {
"scores": true,
"gameResults": true,
"injuryReports": true
},
"data": {
"alert": "The Giants won against the Mets 2-3."
}
}
- data는 다음과 같은 컬럼을 사용할 수 있다. | 컬럼 | Device Type | 설명 | |------|------|------| | alert | All | the notification's message | | badge | iOS | the value indicated in the top right corner of the app icon. This can be set to a value or to Increment in order to increment the current value by 1 | | sound | iOS | the name of a sound file in the application bundle | | contentAvailable | iOS | If you are a writing a Newsstand app, or an app using the Remote Notification Background Mode introduced in iOS7 (a.k.a. "Background Push"), set this value to 1 to trigger a background download | | category | iOS | the identifier of the UIUserNotificationCategory for this push notification | | action | Android | the Intent should be fired when the push is received. If no title or alert values are specified, the Intent will be fired but no notification will appear to the user | | title | Android | the value displayed in the Android system tray notification |
Success
Status: 201 Created createdAt, objectId가 항상 들어온다.
{
"createdAt": "2011-08-20T02:06:57.931Z",
"objectId": "Ed1nuqPvcm"
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/push/:objectId | GET | Retrieving Push |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-Master-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Success createdAt, updatedAt, objectId가 항상 들어온다. 데이터가 더 있다면 함께 들어온다. Master Key가 필요하다.
{
"_sendCount": 1,
"data": {
"alert": "The Giants won against the Mets 2-3."
},
"where": {
"scores": true,
"gameResults": true,
"injuryReports": true
},
"createdAt": "2012-04-28T17:41:09.106Z",
"updatedAt": "2012-04-28T17:41:09.106Z",
"objectId": "mrmBZvsErB"
}
조회에는 Master Key가 필요하다.
URL | HTTP Verb | Functionality |
---|---|---|
/1/installations | GET | Queries |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-Master-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Success 항상 배열을 results로 감싸서 리턴한다.
{
"results": [
{
"_sendCount": 1,
"data": {
"alert": "The Giants won against the Mets 2-3."
},
"where": {
"scores": true,
"gameResults": true,
"injuryReports": true
},
"createdAt": "2012-04-28T17:41:09.106Z",
"updatedAt": "2012-04-28T17:41:09.106Z",
"objectId": "mrmBZvsErB"
},
{
"_sendCount": 1,
"data": {
"alert": "The Giants won against the Mets 2-3."
},
"where": {
"scores": true,
"gameResults": true,
"injuryReports": true
},
"createdAt": "2012-04-30T01:52:57.975Z",
"updatedAt": "2012-04-30T01:52:57.975Z",
"objectId": "sGlvypFQcO"
}
]
}
URL | HTTP Verb | Functionality |
---|---|---|
/1/files/:fileName | POST | Uploading Files |
/1/files/:fileName | DELETE | Deleting Files |
URL | HTTP Verb | Functionality |
---|---|---|
/1/files/:fileName | POST | Uploading Files |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-REST-API-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Content-Type | image/jpeg |
- Content-Type에 파일 형식에 맞는 타입을 넣고, Binary Data를 body에 전송. 정해지지 않은 타입일 경우 octet-stream으로 세팅.
- 일반 웹의 multipart-post 형식도 사용 가능.
- 파일당 10MByte 제한.
Success
Status: 201 Created url, name이 항상 들어온다.
{
"url": "http://noserv.com/files/tfss-db295fb2-8a8b-49f3-aad3-dd911142f64f-hello.txt",
"name": "db295fb2-8a8b-49f3-aad3-dd911142f64f-hello.txt"
}
삭제에는 Master Key가 필요하다.
URL | HTTP Verb | Functionality |
---|---|---|
/1/files/:fileName | DELETE | Deleting Files |
Header | Sample Value |
---|---|
X-Noserv-Application-Id | fWmCni6GmXiBs3Twx6j9cOPNaZWt7P6vnS4vHnDU |
X-Noserv-Master-Key | o3ifa8izHAhhcj2cHXjUrZtWnZhJKn3QJIn6x2RF |
Success 리턴 데이터 없음.