Example #1
0
        public async Task <HttpResponseMessage> Send(FBAgentMessage msg)
        {
            msg.SetChatbaseFields();
            MemoryStream stream            = new MemoryStream();
            DataContractJsonSerializer ser = new DataContractJsonSerializer(
                typeof(FBAgentMessage),
                new Type[]
            {
                typeof(SenderID),
                typeof(RecipientID),
                typeof(FBMessageContent),
                typeof(FBChatbaseFields),
                typeof(FBAgentMessageRequestBody),
                typeof(FBAgentMessageResponseBody)
            }
                );

            ser.WriteObject(stream, msg);
            stream.Position = 0;
            StreamReader sr   = new StreamReader(stream);
            string       json = sr.ReadToEnd();
            string       url  = String.Format(Client.SingularFBAgentMessageEndpoint,
                                              msg.api_key, msg.version);
            StringContent content = new StringContent(json, Encoding.UTF8, Client.ContentType);

            return(await client.PostAsync(url, content));
        }
        public void SettingOnInstanceAllowsSettingCBFields(string intent, string version)
        {
            Chatbase.FBAgentMessage msg = new Chatbase.FBAgentMessage
            {
                intent  = intent,
                version = version
            };
            FBChatbaseFields cbFields = msg.SetChatbaseFields().GetChatbaseFields();

            Assert.Equal(cbFields.intent, intent);
            Assert.Equal(cbFields.version, version);
        }