public void Start() { var restClient = MockRestClient .ThatExpects( @"{""to"":""+31612345678"",""type"":""text"",""content"":{""text"":""Hello!""},""channelId"":""619747f69cf940a98fb443140ce9aed2""}") .AndReturns(filename: "ConversationView.json") .FromEndpoint("POST", "conversations/start", Resource.ConverstationsBaseUrl) .Get(); var client = Client.Create(restClient.Object); var req = new ConversationStartRequest { ChannelId = "619747f69cf940a98fb443140ce9aed2", Content = new Content { Text = "Hello!" }, Type = ContentType.Text, To = "+31612345678" }; var conversation = client.StartConversation(req); restClient.Verify(); Assert.AreEqual(req.ChannelId, conversation.LastUsedChannelId); Assert.AreEqual("31612345678", conversation.Contact.Msisdn); Assert.AreEqual(2, conversation.Channels.Count); }
public static ConversationStartResult StartMessage(string phonenumber, string templateName, string templateLanguage, List <string> templateParams) { //var req = new ConversationStartRequest //{ // ChannelId = ChannelId, // Content = new Content // { // Text = "Hello! This is start!" // }, // Type = ContentType.Text, // To = phonenumber //}; var TemplateParams = new List <HsmLocalizableParameter> { }; foreach (string item in templateParams) { TemplateParams.Add( new HsmLocalizableParameter { Default = item } ); } var req = new ConversationStartRequest { ChannelId = ChannelId, Content = new Content { Hsm = new HsmContent { Namespace = TemplateNameSpace, TemplateName = templateName, Language = new HsmLanguage { Code = templateLanguage, Policy = HsmLanguagePolicy.Deterministic }, Params = TemplateParams } }, Type = ContentType.Hsm, To = phonenumber }; try { var conversation = client.StartConversation(req); //Console.WriteLine(JsonConvert.SerializeObject(conversation)); string msgId = SendBird.GetLastMessageId(conversation.Id); return(new ConversationStartResult { ConversationId = conversation.Id, MessageId = msgId }); } catch (Exception e) { Console.WriteLine("[SendBird] [Error] : Can not start message : " + e); return(null); } }
public Conversation StartConversation(ConversationStartRequest startRequest) { ParameterValidator.IsNotNullOrWhiteSpace(startRequest.To, "to"); ParameterValidator.IsNotNullOrWhiteSpace(startRequest.ChannelId, "channelId"); ParameterValidator.IsNotNull(startRequest.Type, "type"); ParameterValidator.IsNotNull(startRequest.Content, "content"); var resource = new ConversationStart(startRequest); restClient.Create(resource); return(resource.Object as Conversation); }
public ConversationStart(ConversationStartRequest request) : base("conversations", new Conversation()) { Request = request; }
public ConversationStart(ConversationStartRequest request, bool useWhatsAppSandbox = false) : base("conversations", new Conversation(), useWhatsAppSandbox) { Request = request; }