コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #4
0
 public ConversationStart(ConversationStartRequest request)
     : base("conversations", new Conversation())
 {
     Request = request;
 }
コード例 #5
0
 public ConversationStart(ConversationStartRequest request, bool useWhatsAppSandbox = false)
     : base("conversations", new Conversation(), useWhatsAppSandbox)
 {
     Request = request;
 }