Protocols/WebAPI/Reference/Methods/IM: Difference between revisions
(Created page with "{{Protocols/WebAPI}} This page is about WebAPI IM methods, in a series for the WebAPI reference manual....") |
|||
Line 316: | Line 316: | ||
|} | |} | ||
'''Example:''' http://api.oscar.nina.bz/im/sendDataIM?f=json&k=MYKEY&c=callback&aimsid=AIMSID&data= | '''Example:''' http://api.oscar.nina.bz/im/sendDataIM?f=json&k=MYKEY&c=callback&aimsid=AIMSID&data=DATAHERE&t=ChattingChuck& cookie=MTIzNDU2NzgK | ||
=== Sample JSON Output === | === Sample JSON Output === |
Latest revision as of 07:27, 26 March 2020
WebAPI Protocol |
Basic |
Introduction |
Clients |
Whimsicals |
Host Interaction |
Flow |
Authentication |
• Client |
• WebApp |
Other Services |
• |
Foodgroups |
This page is about WebAPI IM methods, in a series for the WebAPI reference manual.
sendIM
Send an IM to an AIM user. Requires a valid aimsid from the startSession call or an NINA Authentication Token.
URL: GET http://api.oscar.nina.bz/im/sendIM
Input Parameters
Type | Field | Description |
---|---|---|
Format | f | [Required] The format of the data returned |
String | c | JSONP callback |
String | r | Request id |
String | k | the AIM Web Key from http://dev.nina.bz/aim - use the same key for all calls |
String | a | Use an NINA Authentication Token for authentication, from the getToken call |
String | aimsid | Use an AIM Session Id from the startSession call for authentication - k is not required |
Integer | ts | Epoch timestamp - clientLogin required parameter |
String | sig_sha256 | Signature - clientLogin required parameter. |
String | t | [Required] Destination aimId |
String | message | [Required] utf8 encoded message, limited to 1024 bytes |
Boolean | autoResponse | Set the auto response flag be set, can not be set with offlineIM |
Boolean | displaySMSSegmentData | [Default false] - Set true to display SMS segment data |
Boolean | offlineIM | Deliver as an offline IM when possible if the user isn't online, autoResponse flag can no bet set |
Output Fields
Type | Field | Description |
---|---|---|
SendImSubCode | subCode | subcode |
Common Status Codes
Status Code | Description |
---|---|
200 | Success |
400 | Session does not exist |
401 | Authorization required |
430 | Sending IMs too fast |
450 | Consent required, use the redirectURL and append a k=KEY to it |
460 | Missing required parameter |
462 | Parameter error |
602 | Target user is not available |
603 | Target user is blocked |
606 | Message is too large |
Common Status Detail Codes
Status Detail Code | Description |
---|---|
1004 | Referer used to create token doesn't match referer of call |
1014 | Signature is bad, see the signature notes of startSession |
Example: http://api.oscar.nina.bz/im/sendIM?f=json&k=MYKEY&c=callback&aimsid=AIMSID&msg=Hi&t=ChattingChuck
Sample JSON Output
{"response":{ "statusCode":200, "statusText":"Ok", "requestId":"123", "data":{ "subCode":{ "subError":, "subReason":"" } } } }
Sample XML Output
<?xml version="1.0" encoding="UTF-8"?> <response> <statusCode>200</statusCode> <statusText>Ok</statusText> <requestId>123</requestId> <data> <subCode> <subError></subError> <subReason></subReason> </subCode> </data> </response>
sendDataIM
Send a Data IM to an AIM user. Requires a valid aimsid from the startSession call or an NINA Authentication Token.
URL: GET http://api.oscar.nina.bz/im/sendDataIM
Input Parameters
Type | Field | Description |
---|---|---|
Format | f | [Required] The format of the data returned |
String | c | JSONP callback |
String | r | Request id |
String | k | the AIM Web Key from http://dev.nina.bz/aim - use the same key for all calls |
String | a | Use an NINA Authentication Token for authentication, from the getToken call |
String | aimsid | Use an AIM Session Id from the startSession call for authentication - k is not required |
Integer | ts | Epoch timestamp - clientLogin required parameter |
String | sig_sha256 | Signature - clientLogin required parameter. |
String | t | [Required] Destination aimId |
Capability | cap | [Required] AIM Capability |
Data IM Type | type | [Required] Type of Message |
String | data | [Required] Data to send remote AIM user. |
Boolean | dataIsBase64 | If present, then the data parameter is base64 encoded |
Boolean | autoResponse | Should the auto response flag be set |
String | inviteMsg | For the invite message type, and optional invite message can be included |
String | cookie | Base64 encoded cookie for this conversation |
String | ip | IPv4 address recipient can connect to for peer-to-peer conversation |
Integer | port | Port used in conjunction with ipAddr for connection |
String | proposerIp | Internal IP address of client |
Boolean | hostCheck | Host will check remote user to verify they have requested capability [Default 1] |
Boolean | useRS | Use Relay server. ip will be from RS and not a peer [Default 0] |
Integer | sequenceNum | Sequence number for proposal. Must increment by 1 |
Common Status Codes
Status Code | Description |
---|---|
200 | Success |
401 | Authorization required |
430 | Sending IMs too fast |
450 | Consent required, use the redirectURL and append a k=KEY to it |
460 | Missing required parameter |
462 | Parameter error |
602 | Target user is not available |
605 | Target user doesn't support the capability |
606 | Message is too large |
Common Status Detail Codes
Status Detail Code | Description |
---|---|
1004 | Referer used to create token doesn't match referer of call |
1014 | Signature is bad, see the signature notes of startSession |
Example: http://api.oscar.nina.bz/im/sendDataIM?f=json&k=MYKEY&c=callback&aimsid=AIMSID&data=DATAHERE&t=ChattingChuck& cookie=MTIzNDU2NzgK
Sample JSON Output
{"response":{ "statusCode":200, "statusText":"Ok", "requestId":"123", "data":{ } } }
Sample XML Output
<?xml version="1.0" encoding="UTF-8"?> <response> <statusCode>200</statusCode> <statusText>Ok</statusText> <requestId>123</requestId> <data> </data> </response>
rejectDataIM
Reject a Data IM from a user. Requires a valid aimsid from the startSession call or an NINA Authentication Token.
URL: GET http://api.oscar.nina.bz/im/rejectDataIM
Input Parameters
Type | Field | Description |
---|---|---|
Format | f | [Required] The format of the data returned |
String | c | JSONP callback |
String | r | Request id |
String | k | the AIM Web Key from http://dev.nina.bz/aim - use the same key for all calls |
String | a | Use an NINA Authentication Token for authentication, from the getToken call |
String | aimsid | Use an AIM Session Id from the startSession call for authentication - k is not required |
Integer | ts | Epoch timestamp - clientLogin required parameter |
String | sig_sha256 | Signature - clientLogin required parameter. |
String | t | [Required] Destination aimId |
String | cookie | [Required] base64 encoded converstation cookie |
Reject Reason | reason | [Required] Reason for reject |
Common Status Codes
Status Code | Description |
---|---|
200 | Success |
401 | Authorization required |
430 | Sending IMs too fast |
450 | Consent required, use the redirectURL and append a k=KEY to it |
460 | Missing required parameter |
462 | Parameter error |
602 | Target user is not available |
605 | Target user doesn't support the capability |
606 | Message is too large |
Common Status Detail Codes
Status Detail Code | Description |
---|---|
1004 | Referer used to create token doesn't match referer of call |
1014 | Signature is bad, see the signature notes of startSession |
Sample JSON Output
{"response":{ "statusCode":200, "statusText":"Ok", "requestId":"123", "data":{ } } }
Sample XML Output
<?xml version="1.0" encoding="UTF-8"?> <response> <statusCode>200</statusCode> <statusText>Ok</statusText> <requestId>123</requestId> <data> </data> </response>
setTyping
Set the current typing status. Only send a typing status on event change - there is no need to send a typing for every key press. Requires a valid aimsid from the startSession call.
URL: GET http://api.oscar.nina.bz/im/setTyping
Input Parameters
Type | Field | Description |
---|---|---|
Format | f | [Required] The format of the data returned |
String | c | JSONP callback |
String | r | Request id |
String | aimsid | [Required] Use an AIM Session Id from the startSession call for authentication |
String | t | [Required] Destination aimId |
Typing Status | typingStatus | [Required] The new typing status |
Common Status Codes
Status Code | Description |
---|---|
200 | Success |
401 | Authorization required |
460 | Missing required parameter |
462 | Parameter error |
Sample JSON Output
{"response":{ "statusCode":200, "statusText":"Ok", "requestId":"123", "data":{ } } }
Sample XML Output
<?xml version="1.0" encoding="UTF-8"?> <response> <statusCode>200</statusCode> <statusText>Ok</statusText> <requestId>123</requestId> <data> </data> </response>