News & Announcements User Community Developer Community

Welcome to the RingCentral Community

Please note the community is currently under maintenance and is read-only.

Search
Make sure to review our Terms of Use and Community Guidelines.
  Please note the community is currently under maintenance and is read-only.
Home » Developers
Beta Call Pickup API
Tags: call park, rest api
Dec 6, 2022 at 1:04pm   •   2 replies  •  0 likes
Daniel Cheramie

In sandbox, I am attempting to park a call to a public park location via the park API, then pick it up again via the pickup API. Parking the call works great and returns the extension to which the call was parked, a new party ID, etc. I am unable to pick the call back up, however. The documentation is unclear as to what I should be passing as party ID, so I tried:

  1. The party ID returned from the park API (ends in -3): {"errorCode" : "TAS-102", "message" : "Incorrect State"}
  2. The party ID I used before parking the call (ends in -2): {"errorCode" : "TAS-102", "message" : "Incorrect State"}
  3. The party ID of the original caller (ends in -1): {"errorCode" : "TAS-106", "message" : "Operation is not allowed"}
  4. The park location's extension (*803): Invalid Request

How do I pick up a call off a public park location via the API?


2 Answers
answered on Dec 8, 2022 at 10:11am  

I am testing with the user "Ringcentral User 1", which is a member of both park locations on the system.

1670522993572.png


The park extension is enabled:

1670523061459.png


 0
answered on Dec 8, 2022 at 10:58am  

Ok, I found the differences. I always run my tests on production and it works well.

I just test on my sandbox account and found the same issues as what you are facing. I don't think that there will be a quick fix for sandbox. But I could say that your code should work well on production. Here is the recap of the issues in sandbox.

- Transfer a call to a park location using the park location internal id specified in the "parkOrbit" body param will fail with "Forbidden" error.

- Transfer a call to a park location using the park location extension number specified in the "extensionNumber" body param will pass but the call will not be parked because the park location does not accept calls even the park location is enabled and having members.


 0
answered on Dec 7, 2022 at 9:51am  

The park API is for parking a call to a public location. The pickup API is for picking up a parked call from a private location. Unfortunately, we don't have API to pickup call from public location.

To park a call to a private location, please use the transfer call party API to transfer the call to a park orbit (you must define it using the service web tool at Groups - Park Locations), then you can use the pickup API to pickup that parked call.


 0
on Dec 8, 2022 at 8:01am   •  0 likes

That is not ideal. I decided to try to use a private park location. What ID do I pass for the park orbit? I tried the extension (10001) and the ID from the extension list (346781004) and both return {"errorCode" : "TAS-106", "message" : "Operation is not allowed"}. Are park orbits not supported in sandbox? Or am I doing something else wrong?



on Dec 8, 2022 at 8:50am   •  0 likes

It should work with both "parkOrbit" which is the park location internal id, or the "extensionNumber" which is the park location extension number.

The error you received seems to me that you try to transfer/park a call that does not belong to you, the user who is authenticated the app.

For call transfer and most of call control APIs, only the owner of the call can control that call.

on Dec 8, 2022 at 9:00am   •  0 likes
  1. I am definitely the owner of the call. I answered it via the API using the same access token. The call is on the extension returned from /restapi/v1.0/account/~/extension/~. I can hold, unhold, park to a public park extension, transfer to other extension types, etc.
  2. Using the park orbit's extension in the "extensionNumber" field does transfer the call but it does not park it. The caller hears something like "this group does not accept calls" and is disconnected.
on Dec 8, 2022 at 10:07am   •  0 likes

With that message, it's because you don't have any member in the park location. Login sandbox your service, open the park location and choose several user extension, including the one that wants to park the call (the owner), save it and try again.

on Dec 9, 2022 at 8:13am   •  0 likes

I am testing with the user "Ringcentral User 1", which is a member of both park locations on the system.

1670522993572.png


The park extension is enabled:

1670523061459.png

on Dec 9, 2022 at 8:13am   •  0 likes

I am testing with the user "Ringcentral User 1", which is a member of both park locations on the system.

1670522993572.png


The park extension is enabled:

3937-1670523061459.png



A new Community is coming to RingCentral!

Posts are currently read-only as we transition into our new platform.

We thank you for your patience
during this downtime.

Try Workflow Builder

Did you know you can easily automate tasks like responding to SMS, team messages, and more? Plus it's included with RingCentral Video and RingEX plans!

Try RingCentral Workflow Builder

PRODUCTS
RingEX
Message
Video
Phone
OPEN ECOSYSTEM
Developer Platform
APIs
Integrated Apps
App Gallery
Developer support
Games and rewards

RESOURCES
Resource center
Blog
Product Releases
Accessibility
QUICK LINKS
App Download
RingCentral App login
Admin Portal Login
Contact Sales
© 1999-2024 RingCentral, Inc. All rights reserved. Legal Privacy Notice Site Map Contact Us