# Añadir orden de trabajo

Con esta función es posible agregar una nueva orden de trabajo al sistema. Es posible crear la orden a partir de un listado de materiales de un producto (BOM) ya existente o bien, mediante la inclusión directa de los códigos de componente necesarios.
### URL
`/CTNEAT/WO/ADD/{tkn}`
### Método HTTP

<span style="background-color: RGB(22,216,80); color: white; font-weight: bold; padding: 8px;">POST</span>


### Parámetros de la solicitud

| Nombre del parámetro | Tipo de dato | Descripción del parámetro | Obligatorio | Formato del valor |
| -------------------- | ------------ | ------------------------ | ----------- | ----------- |
|   WOCode               |  cadena      |    Código de la orden |       Sí      | -  | 
|   Product               |  cadena      |    Producto a producir |       Sí      | -  | 
|   Units               |  cadena      |    Unidades a producir |       Sí      | Númerico  | 
|   FinalProduct               |  cadena      |    Producto final a producir |       Sí      | -  | 
|   UnitsFinalProduct               |  cadena      |    Unidades producto final a producir |       Sí      | Númerico  | 
|   ProdCode               |  cadena      |    Código de la producción |       Sí      | -  | 
|   Order               |  cadena      |    Orden de la fabricación dentro de la producción |       Sí      | Númerico | 
|   Description               |  cadena      |   Descripción de la orden |       No       | - |
|   productionLine               |  cadena      |    Línea de producción de la orden |       No      |- |
|   LaunchDate               |  fecha      |    Fecha de lanzamiento de la orden |       No      | YYYYMMDD |
|   BOM               |  JSON      |    JSON con el contenido de la orden |       Sí      | especificado a continuación |

##### Elementos BOM
| Nombre del parámetro | Tipo de dato | Descripción del parámetro | Obligatorio | Formato del valor |
| -------------------- | ------------ | ------------------------ | ----------- | ----------- |
|   ItemCode               |  cadena      |    Código interno del artículo o código de la BOM |       Sí      | -  | 
|   Units               |  numérico      |   Unidades del artículo o de la BOM |       Sí       | - |

<span style="font-size:0.9em">(Se puede lanzar una orden de trabajo uniendo BOM con códigos de artículos sueltos tal y como se muestra en el ejemplo)</span>
### Encabezados de la solicitud

| Nombre del encabezado | Descripción del encabezado | Obligatorio |
| --------------------- | -------------------------- | ----------- |
|     Content-Type                  |        Tipo de contenido de la solicitud                    |    Sí         |

### Cuerpo de la solicitud

Formato del cuerpo de la solicitud: application/json

Descripción del cuerpo de la solicitud:
```json
{
  "WOCode": "CODIGO_ORDENTRABAJO",
  "Product":"PRODUCTO_A_PRODUCIR",
  "Units":"UNIDADES_DEL_PRODUCTO",
  "FinalProduct":"PRODUCTO_FINAL_A_PRODUCIR",
  "UnitsFinalProduct":"UNIDADES_PRODUCTO_FINAL",
  "ProdCode":"ORDEN_PRODUCCION",
  "Order":"ORDEN_INTERNO_DE_LA_ORDEN
  "Description": "DESCRIPCION_DE_LA_OT",
  "productionLine": "LINEA_DE_PRODUCCION",
  "LaunchDate": "FECHA_DE_LANZAMIENTO",
  "BOM": [
    {
      "ItemCode": "CODIGO_PN_INTERNO_O_CODIGO_BOM",
      "Units": UNIDADES
    },
    {
      "ItemCode": "CODIGO_PN_INTERNO_O_CODIGO_BOM",
      "Units": UNIDADES
    }
  ]
}


```

### Parámetros de la respuesta

| Nombre del parámetro | Tipo de dato | Descripción del parámetro |Formato|
| -------------------- | ------------ | ------------------------ | ------------------------ |
|        ErrorContent              |      JSON        |       Json con la descripción del resultado de la operación                   | <span style="color:blue">[Formato ErrorContent](https://docs.ctneat.com/link/64#bkmrk-page-title)</span> |

### Códigos de estado de la respuesta

| Código de estado | Descripción del código de estado | Posibles razones |
| ---------------- | -------------------------------- | ---------------- |
|     200             |            OK                      |     La solicitud fue exitosa             |
|     400             |            Petición errónea                      |     	Alguno de los parámetros pasados no es correcto             |
|     500             |            Error interno                      |     	Error en el servidor             |
|     401             |            Unauthorized                      |     	El usuario no está autenticado             |

###  Ejemplo de consulta
`http://ctincoming/CTNEAT/WO/ADD/6A201F1F5147079FF9CA80DCDBB032AB386905091BC973B53F50E6493EC53868`
```json
{
  "WOCode": "WO_API_1",
  "Product":"PERODUCT_API",
  "ProdCode":"PR_API_1",
  "FinalProduct":"BIG_PRODUCT",
  "UnitsFinalProduct":"UNITS_BIG_PRODUCT",
  "Units":"1000",
  "Order":"1",
  "Description": "WO DESCRIPTION",
  "productionLine": "L-1",
  "LaunchDate": "20230510",
  "BOM": [
    {
      "ItemCode": "BOM_API_1",
      "Units": 3
    },
    {
      "ItemCode": "CODIGO_PN",
      "Units": 2
    }
  ]
}
```
### Ejemplo de respuesta
```json
{ "Success":true, "fault":{ "faultcode":"none", "faultstring":"Work order added", "detail":"Work order: WO_API_1 successfully added" } }
```