Saltar al contenido principal

Actualizar servicios

Su integración hace dos operaciones sobre un servicio: graba en él el código del pedido en el ERP y lo envía a producción.

Asociar el código del pedido del ERP​

Rutas: PUT /services/{id} o PATCH /services/{id}. Las dos hacen lo mismo.

Cuando la central registra un servicio como pedido en el ERP, grabe el código de ese pedido en el internal_code del servicio. A partir de ahí, el servicio puede encontrarse por el código del ERP (filtro internal_code de GET /services) y deja de aparecer en la búsqueda de servicios sin código (internal_code=null).

Pasos:

  1. Obtenga el id del servicio mediante el listado o la consulta.

  2. Registre el pedido en el ERP y guarde el código generado.

  3. Llame a la ruta con el id en la URL y el código en el cuerpo:

    { "internal_code": "PED-000123" }

internal_code es el único campo modificable y es obligatorio en el cuerpo. Acepta texto o número; envíe null para borrarlo.

La asociación solo se acepta con el servicio en uno de los estados que expone la API: presupuesto generado (4), esperando pago en línea (25), aprobado (6), enviado a producción (7) o producido (9).

Fuera de esos estados, o sin internal_code en el cuerpo, la respuesta es 500 con el motivo en el mensaje. Repetir la llamada no lo resuelve: corrija el cuerpo o verifique el estado del servicio.

Enviar a producción​

Ruta: POST /services/{id}/production.

Envía el servicio a la producción de la central y registra como responsable al vendedor con el correo electrónico indicado. El efecto es el mismo que si el vendedor aprobara el servicio para producción en Cortecloud. Use esta ruta con el servicio aprobado (6).

{ "sellerEmail": "vendedor@example.com" }
  • El correo electrónico debe ser de un vendedor activo en la central de la solicitud; si no lo es, la respuesta es 422.
  • La respuesta 202 confirma que el envío fue aceptado. El estado cambia poco después: siga el avance con GET /services/{id}, o por webhook, hasta que el servicio llegue a enviado a producción (7). Mientras se procesa el envío, status.code puede traer un código intermedio que no está en la tabla de estados.
  • Si Cortecloud rechaza el envío, por ejemplo por saldo insuficiente, la respuesta es 502 con el motivo en el mensaje.