Sabonete is used only for bathing/showering soaps, those made for the skin, normally with good aromas. Originally they were smaller bars than soaps to wash clothes. (That's probably the reason why they used a diminutive-like word)
But now it's used also for "sabonete líquido" (liquid soap) - Also for bathing/showering.
See if this helps with the context.
The verb TER causes confusion. It means HAVE, bul also THERE IS/THERE ARE. And how do you know when it means each of its meanings?
When it means THERE IS/THERE ARE, it is impersonal (there is no subject in the sentence).
- Tem uma pessoa batendo na porta. = There is someone knocking on the door.
In the plural:
- Tem duas pontes sobre este rio. = There are two bridges over this river.
In both sentences there is no subject in the sentence. Now compare them:
- Tem alguém batendo na porta = Há alguém batendo na porta (No subject in either: "Haver" is impersonal and "ter" with the meaning of "haver" is also impersonal)
Now see the verb TER meaning TO HAVE. In this case, it is not impersonal. It does have a subject.
- Eu tenho um carro. = I have a car.
- Ele tem um ingresso para o show. = HE has a ticket for the concert.
The mistake people sometimes make in Portuguese is to say things like "In my city has a soccer stadium." They should say "In my city THERE IS a soccer stadium". They think of the verb TER as meaning THERE IS and translate it to its most known meaning, TO HAVE.
Adapted from here.