# Añadir BOM

Esta función permite la inclusión de un listado de materiales de un producto, también conocido como "BOM" (Bill of Materials, por sus siglas en inglés), en el sistema.
### URL
`/CTNEAT/BOM/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 |
| -------------------- | ------------ | ------------------------ | ----------- | ----------- |
|   BOMCode               |  cadena      |    Código de la BOM |       Sí      | -  | 
|   Description               |  cadena      |   Descripción de la BOM |       No       | - |
|   Disabled               |  booleano      |    Estado de la BOM |       No      | 0 o 1 |
|   CUSTOMERNAME               |  cadena      |    Nombre del cliente de la BOM |       No      | - |
|   BOM               |  JSON      |    JSON con el contenido de la BOM |       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 |       Sí      | -  | 
|   Units               |  numérico      |   Unidades del artículo en la BOM |       Sí       | - |

### 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
{
  "BOMCode": "CODIGO_BOM",
  "Description": "DESCRIPCION_BOM",
  "Disabled": BOM_DESHABILITADA,
  "CUSTOMERNAME": "CLIENTE",
  "BOM": [
    {
      "ItemCode": "CODIGO_PN_INTERNO",
      "Units": UNIDADES
    },
    {
      "ItemCode": "CODIGO_PN_INTERNO",
      "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/books/formatos-respuesta/page/formato-respuesta-errorcontent)</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/BOM/ADD/6A201F1F5147079FF9CA80DCDBB032AB386905091BC973B53F50E6493EC53868`
```json
{
  "BOMCode": "BOM_API_1",
  "Description": "BOM IMPORTED FROM API",
  "Disabled": 0,
  "CUSTOMERNAME": "CTNEAT",
  "BOM": [
    {
      "ItemCode": "CODIGO_PN",
      "Units": 2
    },
    {
      "ItemCode": "CODIGO_PN_2",
      "Units": 1
    }
  ]
}
```
### Ejemplo de respuesta
```json
{ "Success":true, "fault":{ "faultcode":"none", "faultstring":"BOM added", "detail":"BOM: BOM_API_1 successfully added" } }
```