I have been searching a lot, and seems like there is no direct route from Tarapoto to Chachapoyas. Your best choice is what you already read.
Take a local taxi¹ or a minivan to Pedro Ruiz (In the link you will find a place where you can rest and see more of the native landscape such as a waterfalls,etc) it's like a 3 hours trip and when you arrive you have to do more of the same, take another local transport to Chachapoyas.
I recommend you to ask the people around for where and how oftenly does this kind of transport departure, otherwise just go very early and try your luck
According to this website which is one of the most recently blogs I've found there are direct transport (is still local) but it goes only 4 times a day (6am, 8am, 10am y 12pm) but it also says about Moviltours (which I couldn't find) so I wouldn't trust 100% but it's a good hint.
As being Peruvian and taking a lot of local transports, my advice would to ask in your hotel or even before on Tarapoto's airport, and they will be able to tell you more about that. Also, you can search for travel agencies, asked them like if you gonna book what would be your itinerary, just to know what would they do, then just say you are going to think about it, and use the information they give you.
(¹): Local transport are often around the main streets, markets or the main square of the city, you will recognize them easily because they are often yelling where they go to.