Bandeja: mensajes, comentarios y reseñas
Los listados piden el perfil; las acciones, la cuenta a la que pertenece cada conversación, comentario o reseña. Los ids son opacos: guárdalos y devuélvelos tal cual.
Mensajes directos
Instagram, Facebook, X, Bluesky, Reddit y Telegram. En X solo se ven los mensajes no cifrados.
curl "https://api.usecrier.com/v1/inbox/conversations?profileId=prf_8f2k4d&status=active" \
-H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/inbox/conversations?profileId=prf_8f2k4d&status=active', {
headers: {
Authorization: `Bearer ${process.env.CRIER_API_KEY}`,
},
});
const { data } = await res.json();import os, requests
res = requests.get(
"https://api.usecrier.com/v1/inbox/conversations?profileId=prf_8f2k4d&status=active",
headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},
)
data = res.json()["data"]curl "https://api.usecrier.com/v1/inbox/conversations/cnv_aGVsbG8/messages?accountId=acc_3k9x2m" \
-H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/inbox/conversations/cnv_aGVsbG8/messages?accountId=acc_3k9x2m', {
headers: {
Authorization: `Bearer ${process.env.CRIER_API_KEY}`,
},
});
const { data } = await res.json();import os, requests
res = requests.get(
"https://api.usecrier.com/v1/inbox/conversations/cnv_aGVsbG8/messages?accountId=acc_3k9x2m",
headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},
)
data = res.json()["data"]curl -X POST "https://api.usecrier.com/v1/inbox/conversations/cnv_aGVsbG8/messages" \
-H "Authorization: Bearer $CRIER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"accountId": "acc_3k9x2m",
"text": "¡Hola! Sí, nos quedan en talla M."
}'const res = await fetch('https://api.usecrier.com/v1/inbox/conversations/cnv_aGVsbG8/messages', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.CRIER_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"accountId": "acc_3k9x2m",
"text": "¡Hola! Sí, nos quedan en talla M."
}),
});
const { data } = await res.json();import os, requests
res = requests.post(
"https://api.usecrier.com/v1/inbox/conversations/cnv_aGVsbG8/messages",
headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},
json={
"accountId": "acc_3k9x2m",
"text": "¡Hola! Sí, nos quedan en talla M."
},
)
data = res.json()["data"]Marca una conversación como leída con POST …/read y archívala o recupérala con PATCH y status.
Comentarios
GET /v1/inbox/posts lista las publicaciones con comentarios, también las publicadas fuera de Crier. Con su id lees y respondes sus comentarios.
curl "https://api.usecrier.com/v1/inbox/posts/thr_aWdfMQ/comments?accountId=acc_3k9x2m" \
-H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/inbox/posts/thr_aWdfMQ/comments?accountId=acc_3k9x2m', {
headers: {
Authorization: `Bearer ${process.env.CRIER_API_KEY}`,
},
});
const { data } = await res.json();import os, requests
res = requests.get(
"https://api.usecrier.com/v1/inbox/posts/thr_aWdfMQ/comments?accountId=acc_3k9x2m",
headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},
)
data = res.json()["data"]curl -X POST "https://api.usecrier.com/v1/inbox/posts/thr_aWdfMQ/comments" \
-H "Authorization: Bearer $CRIER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"accountId": "acc_3k9x2m",
"text": "¡Gracias!",
"commentId": "cmt_eyJpZCI6ImMxIn0"
}'const res = await fetch('https://api.usecrier.com/v1/inbox/posts/thr_aWdfMQ/comments', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.CRIER_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"accountId": "acc_3k9x2m",
"text": "¡Gracias!",
"commentId": "cmt_eyJpZCI6ImMxIn0"
}),
});
const { data } = await res.json();import os, requests
res = requests.post(
"https://api.usecrier.com/v1/inbox/posts/thr_aWdfMQ/comments",
headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},
json={
"accountId": "acc_3k9x2m",
"text": "¡Gracias!",
"commentId": "cmt_eyJpZCI6ImMxIn0"
},
)
data = res.json()["data"]Cada comentario dice en can si su red deja responder, borrar, ocultar o dar me gusta. Ocultar y dar me gusta van con PATCH …/comments/{commentId} (hidden, liked); borrar, con DELETE.
Reseñas
Google Business (de 1 a 5 estrellas) y Facebook (recomienda o no). hasReply=false deja solo las que faltan por responder.
curl "https://api.usecrier.com/v1/inbox/reviews?profileId=prf_8f2k4d&hasReply=false" \
-H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/inbox/reviews?profileId=prf_8f2k4d&hasReply=false', {
headers: {
Authorization: `Bearer ${process.env.CRIER_API_KEY}`,
},
});
const { data } = await res.json();import os, requests
res = requests.get(
"https://api.usecrier.com/v1/inbox/reviews?profileId=prf_8f2k4d&hasReply=false",
headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},
)
data = res.json()["data"]curl -X POST "https://api.usecrier.com/v1/inbox/reviews/rev_YWNjb3VudHM/reply" \
-H "Authorization: Bearer $CRIER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"accountId": "acc_3k9x2m",
"text": "¡Gracias por venir, Marta!"
}'const res = await fetch('https://api.usecrier.com/v1/inbox/reviews/rev_YWNjb3VudHM/reply', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.CRIER_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"accountId": "acc_3k9x2m",
"text": "¡Gracias por venir, Marta!"
}),
});
const { data } = await res.json();import os, requests
res = requests.post(
"https://api.usecrier.com/v1/inbox/reviews/rev_YWNjb3VudHM/reply",
headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},
json={
"accountId": "acc_3k9x2m",
"text": "¡Gracias por venir, Marta!"
},
)
data = res.json()["data"]