let interMessage = InteractiveMessage()
interMessage.messageCategory = .interactive
let jsonString:[String:Any] = [
"goalCompletionText": "Goal completed YAY",
"title":"By Shantanu",
"formFields":[
[
"defaultValue" : "",
"elementId" : "element1",
"elementType" : "textInput",
"label" : "Name",
"maxLines" : 1,
"optional" : false
],
[
"elementId" : "element2",
"elementType" : "textInput",
"label" : "Last Name",
"maxLines" : 1,
"optional" : false
],
[
"defaultValue" : "",
"elementId" : "element3",
"elementType" : "textInput",
"label" : "Address",
"maxLines" : 5,
"optional" : false
],
[
"defaultOption" : "",
"elementId" : "element4",
"elementType" : "dropdown",
"label" : "Country",
"optional" : false,
"options" : [
[
"label" : "INDIA",
"value" : "option1"
],
[
"label" : "AUSTRALIA",
"value" : "option2"
],
[
"label" : "RUSSIA",
"value" : "option3"
],
[
"label" : "AMERICA",
"value" : "option4"
]
]
],
[
"defaultValue" : [
],
"elementId" : "element5",
"elementType" : "checkbox",
"label" : "Country",
"optional" : false,
"options" : [
[
"label" : "INDIA",
"value" : "option1"
],
[
"label" : "AUSTRALIA",
"value" : "option2"
],
[
"label" : "RUSSIA",
"value" : "option3"
],
[
"label" : "AMERICA",
"value" : "option4"
]
]
],
[
"defaultValue" : "",
"elementId" : "element6",
"elementType" : "singleSelect",
"label" : "Country",
"optional" : false,
"options" : [
[
"label" : "INDIA",
"value" : "option1"
],
[
"label" : "AUSTRALIA",
"value" : "option2"
]
]
],
[
"defaultValue" : "option1",
"elementId" : "element7",
"elementType" : "radio",
"label" : "Country",
"optional" : false,
"options" : [
[
"label" : "INDIA",
"value" : "option1"
],
[
"label" : "AUSTRALIA",
"value" : "option2"
],
[
"label" : "RUSSIA",
"value" : "option3"
],
[
"label" : "AMERICA",
"value" : "option4"
]
]
],
[
"action" : [
"actionType" : "urlNavigation",
"url" : "https://www.cometchat.com/"
],
"buttonText" : "About us",
"disableAfterInteracted" : false,
"elementId" : "element9",
"elementType" : "button"
]
],
"submitElement" : [
"action" : [
"actionType" : "apiAction",
"dataKey" : "CometChatData",
"headers" : [
"Content-Type" : "application/json",
"apiKey" : "5797f2d3d103d7d78f085eb46bfd14d5c45ddfdf",
"appId" : "10893f2ae68f59",
"onBehalfOf" : "shantanu"
],
"method" : "POST",
"payload" : [
"category" : "message",
"data" : [
"text" : "Thanks For filling the Form!"
],
"receiver" : "group_1695921003310",
"receiverType" : "group",
"type" : "text"
] as [String : Any],
"url" : "https://10893f2ae68f59.api-us.cometchat-staging.com/v3.0/messages"
] as [String : Any],
"buttonText" : "Submit",
"disableAfterInteracted" : true,
"elementId" : "element8",
"elementType" : "button"
] as [String : Any]
]
interMessage.interactiveData = jsonString
let goal = InteractionGoal()
goal.elementIds = ["element9","element8"]
goal.interactionType = .allOf
interMessage.interactionGoal = goal
interMessage.allowSenderInteraction = true
interMessage.type = "form"
interMessage.receiverType = .user
interMessage.receiverUid = "cometchat-uid-1"
interMessage.muid = "1697025959995609"
interMessage.senderUid = CometChat.getLoggedInUser()?.uid ?? ""
interMessage.sender = CometChat.getLoggedInUser()
CometChat.sendInteractiveMessage(message: interMessage, onSuccess: {
succes in
print("successs",succes)
interMessage.sentAt = Int(Date().timeIntervalSince1970)
}, onError: {
error in
print("errorr",error?.description)
})