Errores que orientan e importación de contactos con lote vacío
Revisamos los errores que más recibieron las integraciones entre el 1 y el 9 de octubre. Varios eran un 500 donde correspondía un 400 o un 404, y otros decían qué estaba mal sin decir qué hacer. Ninguna respuesta exitosa cambia de forma.
POST /contacts/import acepta un lote vacío
contacts: []ya no responde400. Responde igual que una importación de cero filas:{ "created": 0, "updated": 0, "skipped": 0, "errors": [] }, sin tocar nada. Sirve si partes tu archivo en lotes y a veces te sobra uno vacío.- El tope de 500 filas por lote no cambia.
Ids de ruta inválidos: 400 o 404, nunca 500
- En flujos (
/flows/{id},/flows/{id}/run,/publish,/export,/nodes/{nodeId}/test,/flow-runs/{runId}) y automatizaciones (/automations/{id}y sus subrutas), un id que no es un UUID responde400 invalid_idsin consultar nada. Pasa también con un segmento que no es un id:GET /workspaces/{workspaceId}/flows/runsyGET /workspaces/{workspaceId}/automations/templatesno existen como rutas. Las ejecuciones de un flujo están enGET /flows/{id}/runs. PUT /variables/{id}con un id que no existe en tu workspace responde404 variable_not_found.PATCH /variables/field-definitions/{id}responde404 field_definition_not_found.
403 endpoint_not_public dice qué usar
Cuando la ruta interna tiene un equivalente público, el mensaje lo nombra:
GET /auth/meyGET /workspaces/{id}→GET /me(identidad de la key y su workspace).GET /channels/{channelId}→GET /channels/{channelId}/config.GET /channels/{channelId}/whatsapp/phones→GET /channels/{channelId}/whatsapp/lines.GET /workspaces/{workspaceId}/sandbox→POST /workspaces/{workspaceId}/runspara probar un Met.
El code sigue siendo endpoint_not_public; solo cambia el message.
send-template y display_phone_number
- Si mandas
display_phone_numberaPOST /channels/{channelId}/whatsapp/send-template, el400ahora te dice que la línea se elige consender_line_id: elphone_number_idque devuelveGET /channels/{channelId}/whatsapp/lines.