def METHOD_NAME(cls, payload):
    event = payload.get('event')
    users = event.get("notify_users_obj")
    rule_name = event.get("rule_name")
    event_state = "Triggered"
    if event.get("is_recovered"):
        event_state = "Recovered"
    tokens = {}
    phones = {}
    for u in users:
        if u.get("phone"):
            phones[u.get("phone")] = 1
        contacts = u.get("contacts")
        if contacts.get("dingtalk_robot_token", ""):
            tokens[contacts.get("dingtalk_robot_token", "")] = 1
    opener = urllib2.build_opener(urllib2.HTTPHandler())
    method = "POST"
    for t in tokens:
        url = "https://oapi.dingtalk.com/robot/send?access_token={}".format(t)
        body = {
            "msgtype": "markdown",
            "markdown": {
                "title": "{} - {}".format(event_state, rule_name),
                "text": payload.get('tpls').get("dingtalk.tpl", "dingtalk.tpl not found") + ' '.join(["@"+i for i in phones.keys()])
            },
            "at": {
                "atMobiles": phones.keys(),
                "isAtAll": False
            }
        }
        request = urllib2.Request(url, data=json.dumps(body))
        request.add_header("Content-Type",'application/json;charset=utf-8')
        request.get_method = lambda: method
        try:
            connection = opener.open(request)
            print(connection.read())
        except urllib2.HTTPError, error:
            print(error)