-
Notifications
You must be signed in to change notification settings - Fork 5
/
status.go
46 lines (34 loc) · 854 Bytes
/
status.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package whatsapp
import (
"encoding/json"
"fmt"
)
type Status struct {
MessageId string `json:"message_id"`
api *API
}
func (api *API) NewStatus(mId string) *Status {
return &Status{api: api, MessageId: mId}
}
func (obj *Status) MakeQr(phoneId, message, format string) (*StatusResponse, error) {
endpoint := fmt.Sprintf("/%s/message_qrdls", phoneId)
body := make(map[string]interface{})
body["status"] = "read"
body["messaging_product"] = "whatsapp"
body["message_id"] = obj.MessageId
res, status, err := obj.api.request(endpoint, "POST", nil, body)
if err != nil {
return nil, err
}
if status != 200 {
e := ErrorResponse{}
json.Unmarshal(res, &e)
return nil, &e
}
var response StatusResponse
json.Unmarshal(res, &response)
return &response, nil
}
type StatusResponse struct {
Success bool `json:"success"`
}