简体   繁体   中英

Fax “from” and “callerId” parameters missing from RingCentral fax API

I've been trying to send fax using RingCentral API but there is no way to specify the From fax phone number to send the fax. It is only sending the fax using company fax number. I am not able to find the option to use fax from number. I am using the following end point for sending fax:

https://platform.ringcentral.com/restapi/v1.0/account/:accountId/extension/:extensionId/fax

In the RingCentral system, the From (or sending) fax number is the fax caller ID value. You can update this for your extension to use with your faxes, but the value is not available in the send fax API itself. To change this on a per send basis, you can update the caller ID value before each fax request.

You can update the Fax Caller ID using two approaches:

  1. via API or
  2. using the Online Account Portal ( https://service.ringcentral.com ), both of which are described below.

Both are described below. Let me know if this works for you.

1) Updating the Fax Caller ID

To update the fax caller ID, call the PUT extension/caller-id endpoint and update the callerId for the FaxNumber feature using the phone number ID of the number you are interested in using. You can get a list of this by calling the extension/phone-number shown in the next section.

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-id
Authorization: Bearer {accessToken}
Content-Type: application/json

{
  "byFeature": [
    {
      "feature": "FaxNumber",
      "callerId": {
        "phoneInfo": {
          "id": 33333333
        }
      }
    }
  ]
}

See the API Reference for more: https://developer.ringcentral.com/api-docs/latest/index.html#!#RefUpdateCallerId

1.1) Listing Your Available Caller ID Numbers

To get a list a list of numbers you can use, call the GET extension/phone-number endpoint:

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/phone-number
Authorization: Bearer {accessToken}

In your JSON response, you will have a list of phone numbers in the records property. Numbers that you can use will have the following property values:

  • features property will have the CallerId value
  • type property will be set to VoiceFax or FaxOnly

The following is the excerpt of a JSON response showing one number. You should have more numbers and a paging object.

{
  "uri":"https://platform.devtest.ringcentral.com/restapi/v1.0/account/11111111/extension/22222222/phone-number?page=1&perPage=100",
  "records":[
    {
      "id":33333333,
      "phoneNumber":"+16505550100",
      "paymentType":"Local",
      "location":"Belmont, CA",
      "type":"VoiceFax",
      "usageType":"DirectNumber",
      "status":"Normal",
      "country":{
        "uri":"https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/country/1",
        "id":"1",
        "name":"United States"
      },
      "features":[
        "SmsSender",
        "CallerId",
        "MmsSender"
      ]
    }
  ]
}

See the API Reference for more: https://developer.ringcentral.com/api-docs/latest/index.html#!#RefUserPhoneNumbers.html

1.2) Reading The Fax Caller ID Value

RingCentral supports multiple caller ID values. To read the value for your extension make the following API call to the extension/caller-id endpoint:

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-id
Authorization: Bearer {accessToken}

You will receive a response like the following with an array of caller ID values in the byFeature property. Look for the feature with the feature property set to FaxNumber . I only show the FaxNumber feature caller ID below, but the array includes the following features: CallFlip , FaxNumber , RingMe , RingOut , MobileApp , Alternate .

{
  "uri":"https://platform.devtest.ringcentral.com/restapi/v1.0/account/11111111/extension/22222222/caller-id",
  "byFeature":[
    {
      "feature":"FaxNumber",
      "callerId":{
        "type":"PhoneNumber",
        "phoneInfo":{
          "uri":"https://platform.devtest.ringcentral.com/restapi/v1.0/account/11111111/phone-number/33333333",
          "id":"33333333",
          "phoneNumber":"+16505550100"
        }
      }
    }
  ]
}

See the API Reference for more: https://developer.ringcentral.com/api-docs/latest/index.html#!#RefGetCallerId

2) Using the Online Account Portal

You can also change the Caller ID value in the Online Account Portal under:

Settings > Outbound Calls > Caller ID > By Feature > Fax Number

More is available in this Knowledgebase Article:

https://success.ringcentral.com/articles/RC_Knowledge_Article/3614

This worked for me when working with the RingCentral Java SDK .

  1. To get the sender/caller numbers list that I can use for my Fax/call
RestClient rc = new RestClient(RINGCENTRAL_CLIENTID, RINGCENTRAL_CLIENTSECRET, RINGCENTRAL_SERVER);
rc.authorize(RINGCENTRAL_USERNAME, RINGCENTRAL_EXTENSION, RINGCENTRAL_PASSWORD);

GetExtensionPhoneNumbersResponse numbers = rc.restapi().account().extension().phonenumber().get();
  1. To update the sender/caller number
RestClient rc = new RestClient(RINGCENTRAL_CLIENTID, RINGCENTRAL_CLIENTSECRET, RINGCENTRAL_SERVER);
rc.authorize(RINGCENTRAL_USERNAME, RINGCENTRAL_EXTENSION, RINGCENTRAL_PASSWORD);
          
ExtensionCallerIdInfo resp = rc.restapi().account().extension().callerid().get();

for (CallerIdByFeature e : resp.byFeature) {
    if (e.callerId.phoneInfo != null) {
        e.callerId.phoneInfo.phoneNumber("**********");
    }
}
resp = rc.restapi().account().extension().callerid().put(resp);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM