Perfil comercial do número
Lê e atualiza o perfil público do número no WhatsApp: nome, descrição, endereço, foto e site.
O perfil comercial é o que o cliente vê ao tocar no nome da loja dentro do WhatsApp: descrição, endereço, e-mail, site e foto. Ele vive na Meta; estas rotas lêem e escrevem lá. Exigem que o número da loja já esteja conectado (veja Credenciais).
Consultar o perfil
Combina o que a Meta devolve com o que a loja guardou. Se a Meta não puder ser lida (token sem permissão, número inexistente), a resposta continua 200, com meta_sync: false e o motivo em meta_error.
/api/v1/admin/whatsapp/profileAdminLê o perfil comercial do número da loja
Exemplo de requisição (Consultar o perfil)
curl "$BASE_URL/api/v1/admin/whatsapp/profile" \
-H "Authorization: Bearer $TOKEN"Resposta (Consultar o perfil)
{
"display_name": "Loja Exemplo",
"verified_name": "Loja Exemplo",
"display_phone_number": "5511999998888",
"about": "Moda e acessórios",
"description": "Loja de moda com entrega para todo o Brasil.",
"category": "RETAIL",
"address": "Av. Paulista, 1000, São Paulo",
"email": "contato@lojaexemplo.com.br",
"website": "https://lojaexemplo.com.br",
"profile_picture_url": "",
"photo_on_meta": false,
"business_phone": "5511999998888",
"phone_number_id": "109876543210987",
"verified": true,
"quality_rating": "GREEN",
"name_status": "APPROVED",
"meta_sync": true
}Campos da resposta
display_namestringverified_name enquanto a Meta analisa a troca.verified_namestringdisplay_phone_numberstringaboutstringabout).descriptionstringcategorystringRETAIL, AUTO, GROCERY, OTHER.addressstringemailstringwebsitestringprofile_picture_urlstringphoto_on_meta).photo_on_metabooleantrue quando a Meta já hospeda a foto.business_phonestringphone_number_idstringverifiedbooleanquality_ratingstringGREEN, YELLOW, RED ou UNKNOWN. Ausente se a Meta não informou.name_statusstringAPPROVED, AVAILABLE_WITHOUT_REVIEW, PENDING_REVIEW, DECLINED, EXPIRED ou NONE.meta_syncbooleantrue quando a Meta respondeu a pelo menos uma das duas consultas.meta_errorstringwarningstringPUT.Erros (Consultar o perfil)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O módulo WhatsApp Commerce está desligado na loja, o usuário não é administrador ou não tem o privilégio exigido. | {"error":"module_disabled","module":"whatsapp-commerce"} ou {"error":"insufficient privileges","required":"manage_settings"} ou {"error":"admin access required"} |
| 404 | A loja não tem número conectado. | {"error":"whatsapp number not connected","detail":"..."} |
Atualizar o perfil
Envia à Meta todos os campos editáveis. A resposta é o perfil já recarregado, com warning quando alguma parte não pôde ser aplicada (por exemplo, a Meta recusou apagar um campo ou o nome entrou em análise).
/api/v1/admin/whatsapp/profileAdminAtualiza o perfil comercial na Meta
Corpo da requisição
display_namestringaboutstringdescription vier vazia, este texto é usado como descrição.descriptionstringcategorystringaddressstringemailstringwebsitestringprofile_picture_urlstring/uploads/... da loja). Se vier preenchida, a foto é enviada à Meta.Exemplo de requisição (Atualizar o perfil)
curl -X PUT "$BASE_URL/api/v1/admin/whatsapp/profile" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"display_name": "Loja Exemplo",
"about": "Moda e acessórios",
"description": "Loja de moda com entrega para todo o Brasil.",
"category": "RETAIL",
"address": "Av. Paulista, 1000, São Paulo",
"email": "contato@lojaexemplo.com.br",
"website": "https://lojaexemplo.com.br"
}'Resposta (Atualizar o perfil)
{
"display_name": "Loja Exemplo",
"about": "Moda e acessórios",
"description": "Loja de moda com entrega para todo o Brasil.",
"category": "RETAIL",
"address": "Av. Paulista, 1000, São Paulo",
"email": "contato@lojaexemplo.com.br",
"website": "https://lojaexemplo.com.br",
"photo_on_meta": false,
"meta_sync": true,
"warning": "Nome de exibição já está em revisão na Meta."
}Campos da resposta
(...)objectGET. warning descreve avisos não fatais, em português, como a plataforma devolve.Erros (Atualizar o perfil)
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo que não é JSON. | {"error":"invalid request body","detail":"..."} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O módulo WhatsApp Commerce está desligado na loja, o usuário não é administrador ou não tem o privilégio exigido. | {"error":"module_disabled","module":"whatsapp-commerce"} ou {"error":"insufficient privileges","required":"manage_settings"} ou {"error":"admin access required"} |
| 404 | A loja não tem número conectado. | {"error":"whatsapp number not connected","detail":"..."} |
| 502 | Não há token da Meta, ou a Meta recusou a atualização (inclusive a foto). | {"error":"meta credentials missing","detail":"..."} |