Prod Version Error

  • 1
  • Question
  • Updated 1 year ago
  • Answered
Rendering Failed on sending fax to any numbers on production version.
Photo of e-Emphasys EET

e-Emphasys EET

  • 380 Points 250 badge 2x thumb

Posted 1 year ago

  • 1
Photo of Benjamin Dean

Benjamin Dean, Alum

  • 8,622 Points 5k badge 2x thumb
Is this when sending via the API or via the product/soft phone please?
Photo of Tyler Long

Tyler Long, Official Rep

  • 6,288 Points 5k badge 2x thumb
More information is needed for troubleshooting.
Photo of e-Emphasys EET

e-Emphasys EET

  • 380 Points 250 badge 2x thumb
Iam sending it through the API. and my API is in PRODUCTION. it was working fine in the Sandbox version.
Photo of Tyler Long

Tyler Long, Official Rep

  • 6,288 Points 5k badge 2x thumb
Could you please post your sample code for sending fax via the API (don't forget to remove your credentials) ? 

Does it always fail regardless of the content of the fax? It is helpful if you give me a runnable sample project to reproduce the issue.
Photo of e-Emphasys EET

e-Emphasys EET

  • 380 Points 250 badge 2x thumb
Hi Tyler,

Good Morning.

This is my sample Dot Net Code.

SDK sdk;            var requestBody = JsonConvert.SerializeObject(new
            {
                faxResolution = "High",
                coverIndex = 1,
                coverPageText = "Dummy Test",
                to = new object[] { new { phoneNumber = "123456789" } }
            });

           
            sdk = new SDK("appkey", "appsecret", "https://platform.ringcentral.com";, "Dispatcher", "1.0.0");
           
            sdk.Platform.Login("number", "extension", "password", true);
            var attachments = new List<Attachment>();
            var textBytes = System.Text.Encoding.UTF8.GetBytes("hello fax");
            var attachment = new Attachment(@"test.pdf", "application/pdf", textBytes);
            attachments.Add(attachment);
            var request = new Request("/restapi/v1.0/account/~/extension/~/fax", requestBody, attachments);
            var body = request.HttpContent;
            Assert.NotNull(body);
            var response = sdk.Platform.Post(request);
            Assert.AreEqual(true, response.OK);


Yes it always fails even when i change my contents.
Photo of Tyler Long

Tyler Long, Official Rep

  • 6,288 Points 5k badge 2x thumb
Could you please do me a favor to post a screenshot of the exception you got? Thanks
Photo of e-Emphasys EET

e-Emphasys EET

  • 380 Points 250 badge 2x thumb
Hi,

Response after sending the fax.

Response by quering the message id

Photo of Tyler Long

Tyler Long, Official Rep

  • 6,288 Points 5k badge 2x thumb
Sorry for the late reply. But it took me quite a well until I found a possible root cause. 

var textBytes = System.Text.Encoding.UTF8.GetBytes("hello fax");
var attachment = new Attachment(@"test.pdf", "application/pdf", textBytes);

"textBytes" above is plain text, but you tell the server side that it's "application/pdf", that's why server side failed to render it.  

I don't think you can get this code work in sandbox. So please try again and tell me whether it works in sandbox.

And Please also try my sample code:

var textBytes = System.Text.Encoding.UTF8.GetBytes("hello fax");            
var attachment = new Attachment("test.txt", "text/plain", textBytes);

Or if you want to send a pdf file instead:

var pdfBytes = System.IO.File.ReadAllBytes("test.pdf"); 
var attachment = new Attachment("test.pdf", "application/pdf", pdfBytes);

And by the way, now we have another C# library which is much more user friendly: https://github.com/ringcentral/ringcentral-csharp-client

And here is some sample code for sending fax using the new library: https://github.com/ringcentral/ringcentral-csharp-client/blob/master/RingCentral.Test/FaxTest.cs
Photo of e-Emphasys EET

e-Emphasys EET

  • 380 Points 250 badge 2x thumb
Hi Tyler,

Thanks for the help.Its working now. Just missed that code. :)
Photo of Benjamin Dean

Benjamin Dean

  • 8,602 Points 5k badge 2x thumb
Glad you are back in business.