API de soporte
Contacta con el soporte de Litport desde un script o un agente de IA: inicia una conversación, agrega mensajes y lee las respuestas consultando periódicamente.
El widget de chat de litport.net/support pide a las personas resolver un CAPTCHA, así que un script o un agente debe usar esta API o el correo electrónico.
URL base:
https://litport.net/api/v1/support
Llamadas#
| Llamada | Qué hace | Autenticación |
|---|---|---|
POST /conversations |
Inicia una conversación con un primer mensaje. | Ninguna, o una clave de API de la cuenta |
POST /conversations |
Agrega un mensaje a una conversación |
Token de acceso o clave de API de la cuenta |
GET /conversations |
Lee los mensajes y el estado de la conversación |
Token de acceso o clave de API de la cuenta |
Envía JSON con Content-Type: application/json. Las respuestas son JSON.
Dos formas de llamar#
Sin cuenta (invitado). Envía email y message sin encabezado Authorization. La respuesta incluye un accessToken que empieza por lsc_. Envíalo como Authorization: Bearer lsc_… en las otras dos llamadas. El token se muestra una sola vez, en esa respuesta, así que guárdalo. Solo abre la conversación para la que se emitió. Una conversación de invitado puede responder preguntas generales: ubicaciones, precios, configuración.
Con una clave de API de la cuenta. Envía Authorization: Bearer lit_… (crea una clave en Configuración; consulta Litport API). Las llamadas llegan entonces a la conversación de tu cuenta, así que soporte puede hablar de tus pedidos y proxies. Una cuenta tiene una sola conversación: un segundo POST /conversations agrega un mensaje a la misma, y email se ignora.
Los tokens de acceso y las claves de API usan el mismo encabezado Authorization: Bearer …. No pongas ninguno de los dos en una URL.
Iniciar una conversación#
curl -sS 'https://litport.net/api/v1/support/conversations' \
-H 'Content-Type: application/json' \
-d '{"email":"[email protected]","message":"Which countries do you cover with mobile proxies?","name":"Research agent"}'
| Campo | Obligatorio | Significado |
|---|---|---|
message |
sí | El texto que se envía, de hasta 4,000 caracteres. |
email |
sin clave de API | Dónde podemos contactarte. Se ignora si envías una clave de API. |
name |
no | Un nombre para mostrar de la conversación |
Respuesta, 201:
{
"conversationId": "4f0c2a7e9b1d4c5a8e3f6a1b2c3d4e5f",
"accessToken": "lsc_example_token_returned_once",
"identity": "guest",
"howToUpgrade": "This is a guest conversation, so we can only answer general questions here. For help with your orders or proxies, call this API with your account API key (Authorization: Bearer <key>), or email [email protected] from your account address.",
"message": {
"seq": 1,
"at": "2026-10-16T17:05:00.000Z",
"author": "you",
"text": "Which countries do you cover with mobile proxies?",
"files": []
}
}
identity es guest o account. Para un invitado, howToUpgrade indica cómo obtener ayuda con pedidos y proxies. Con una clave de API, accessToken y howToUpgrade son null e identity es account; sigue enviando la clave de API.
Agregar un mensaje#
export LITPORT_SUPPORT_TOKEN='lsc_the_token_from_the_first_response'
curl -sS "https://litport.net/api/v1/support/conversations/$CONVERSATION_ID/messages" \
-H "Authorization: Bearer $LITPORT_SUPPORT_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"message":"Thanks. Do you have mobile proxies in Texas?"}'
Respuesta, 201:
{
"message": {
"seq": 2,
"at": "2026-10-16T17:06:12.000Z",
"author": "you",
"text": "Thanks. Do you have mobile proxies in Texas?",
"files": []
}
}
Leer la conversación#
curl -sS "https://litport.net/api/v1/support/conversations/$CONVERSATION_ID?after=2" \
-H "Authorization: Bearer $LITPORT_SUPPORT_TOKEN"
after es el seq más alto que ya tienes. Omítelo para leer desde el principio.
{
"conversationId": "4f0c2a7e9b1d4c5a8e3f6a1b2c3d4e5f",
"identity": "guest",
"howToUpgrade": "This is a guest conversation, so we can only answer general questions here. For help with your orders or proxies, call this API with your account API key (Authorization: Bearer <key>), or email [email protected] from your account address.",
"lastSeq": 3,
"waitingOn": "customer",
"messages": [
{
"seq": 3,
"at": "2026-10-16T17:09:40.000Z",
"author": "mike",
"text": "Thanks, I'm checking this now and will reply here.",
"files": []
}
],
"more": false,
"pollAfterSeconds": 30
}
| Campo | Significado |
|---|---|
lastSeq |
El número del mensaje más reciente que puedes ver. |
waitingOn |
De quién espera respuesta la conversación: us (Litport), customer (tú) o none. |
messages |
Mensajes con un seq mayor que after, del más antiguo al más reciente. Cada uno tiene seq, at (ISO-8601 UTC), author, text y files. |
more |
true cuando hay más mensajes. Vuelve a llamar con after igual al último seq que recibiste. |
poll |
Cuánto esperar antes de la siguiente lectura. |
author es you para tus mensajes, mike para las respuestas de soporte y system para avisos breves. El texto de una respuesta mike puede marcar algunas frases cortas en negrita con dobles asteriscos de Markdown (**like this**); nada más en el texto es Markdown. files lista solo name y kind. La API no tiene archivos adjuntos ni enlaces de descarga.
Las respuestas no son instantáneas y no se te envían de forma automática. Vuelve a leer la conversación cada 30 segundos hasta que llegue un mensaje mike. Una lectura cuenta como haber leído todos los mensajes que devuelve. Cada respuesta en una conversación de invitado también se envía por correo electrónico de inmediato a la dirección que indicaste, y responder a ese correo continúa la conversación. En la conversación de una cuenta, una respuesta que sigue sin leerse durante dos minutos se envía por correo electrónico a la dirección de la cuenta.
Límites#
| Límite | Valor |
|---|---|
| Conversaciones nuevas sin clave de API | 3 por hora y 10 al día, por dirección IP; también se aplica un límite diario para todos los clientes en conjunto |
| Longitud del mensaje | 4,000 caracteres |
| Mensajes por conversación | 30 cada 24 horas |
Lecturas (GET) |
20 por minuto por token de acceso o clave de API, 60 por minuto por dirección IP |
| Cuerpo de la solicitud | 32 KiB |
| Archivos adjuntos | No disponibles a través de la API |
Al superar un límite, la respuesta es 429 RATE_LIMITED. Una lectura que supera su límite envía además Retry-After. Espera ese tiempo antes de la siguiente llamada.
Errores#
Los errores usan el mismo envoltorio que el resto de la API:
{
"error": {
"code": "NOT_FOUND",
"message": "Conversation not found.",
"requestId": "req_example",
"docsUrl": "https://litport.net/docs/api/support"
}
}
| Estado | Códigos | Acción del cliente |
|---|---|---|
400 |
INVALID, MESSAGE |
Corrige la solicitud. Un campo tiene un tipo incorrecto, falta un campo obligatorio o no es válido, o el mensaje supera los 4,000 caracteres. No la reintentes sin cambios. |
401 |
UNAUTHORIZED |
Envía un token de acceso o una clave de API válidos como Authorization: Bearer …. |
404 |
NOT_FOUND |
La conversación no existe, o tu credencial no la abre. |
429 |
RATE_LIMITED |
Espera y vuelve a intentarlo. Respeta Retry-After cuando esté presente. |
El encabezado X-Request-ID lleva el mismo ID que requestId; inclúyelo cuando informes de un problema.
Herramientas MCP#
El servidor MCP de Litport tiene tres herramientas de soporte:
| Herramienta | Qué hace |
|---|---|
contact |
Inicia una conversaciónmessage y, si no hay clave de API, email. |
get |
Lee la conversaciónconversation y after opcionales. |
reply |
Agrega un mensaje. Recibe message y un conversation opcional. |
Sin LITPORT_API_KEY funcionan como una conversación de invitado, y el servidor guarda el token de acceso en memoria durante la sesión. Con LITPORT_API_KEY usan la conversación de tu cuenta.
Correo electrónico#
También puedes escribir a [email protected]. Para recibir ayuda con tus pedidos o proxies, escribe desde la dirección de tu cuenta de Litport.