# Artículos



# Añadir artículos

Con esta función, es posible llevar a cabo la creación de códigos internos, los cuales se utilizan como referencias de componente dentro del sistema.
### URL
`/CTNEAT/ITEM/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 | Posibles valores |
| -------------------- | ------------ | ------------------------ | ----------- | ----------- |
|   ITEMCODE               |  cadena      |    Código interno del artículo  |       Sí      | Cualquiera |
|   DESCRIPTION               |  cadena      |    Descripción del artículo |       No      | Cualquiera |
|   CODETYPE               |  cadena      |    Código del formato del artículo |       Sí      | <span style="color:blue">[Ver posibles valores](https://docs.ctneat.com/link/60#bkmrk-page-title)</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
{ 
  "ITEMCODE":"CODIGO_PN",
  "DESCRIPTION":"DESCRIPCION_CODIGO_PN",
  "CODETYPE":"CODETYPE"
}
```

### 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/ITEM/ADD/6A201F1F5147079FF9CA80DCDBB032AB386905091BC973B53F50E6493EC53868`
```json
{ 
  "ITEMCODE":"CODIGO_PN",
  "DESCRIPTION":"DESCRIPCION_CODIGO_PN",
  "CODETYPE":2
}
```
### Ejemplo de respuesta
```json
{ "Success":true, "fault":{ "faultcode":"none", "faultstring":"Item code added", "detail":"Item code: CODIGO_PN successfully added" } }
```

# Modificar artículos

Mediante esta función, se puede llevar a cabo la modificación de un componente en el sistema. Es importante tener en cuenta que únicamente se pueden modificar la descripción y el formato del código de artículo, pero no el código del componente en sí.
### URL
`/CTNEAT/ITEM/MODIF/{tkn}`
### Método HTTP

<span style="background-color: RGB(247,140,58); color: white; font-weight: bold; padding: 8px;">PUT</span>


### Parámetros de la solicitud

| Nombre del parámetro | Tipo de dato | Descripción del parámetro | Obligatorio | Posibles valores |
| -------------------- | ------------ | ------------------------ | ----------- | ----------- |
|   ITEMCODE               |  cadena      |    Código interno del artículo  |       Sí      | Cualquiera |
|   DESCRIPTION               |  cadena      |    Descripción del artículo |       No      | Cualquiera |
|   CODETYPE               |  numérico      |    Código del formato del artículo |       Sí      | <span style="color:blue">[Ver posibles valores](https://docs.ctneat.com/link/60#bkmrk-page-title)</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
{ 
  "ITEMCODE":"CODIGO_PN",
  "DESCRIPTION":"DESCRIPCION_CODIGO_PN",
  "CODETYPE":"CODETYPE"
}
```

### 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/ITEM/MODIF/6A201F1F5147079FF9CA80DCDBB032AB386905091BC973B53F50E6493EC53868`
```json
{ 
  "ITEMCODE":"CODIGO_PN",
  "DESCRIPTION":"MODIF_DESCRIPCION_CODIGO_PN",
  "CODETYPE":2
}
```
### Ejemplo de respuesta
```json
{ "Success":true, "fault":{ "faultcode":"none", "faultstring":"Item code modified", "detail":"Item code: CODIGO_PN successfully modified" } }
```

# Leer artículos

Con esta función, se tiene la capacidad de leer los componentes que han sido registrados en el sistema. Es importante destacar que se puede proporcionar el código del artículo que se desea leer a través de un argumento de URL query. En caso de no especificar este código, se llevará a cabo la lectura de todos los componentes del sistema.
### URL
`/CTNEAT/ITEM/READ/{tkn}`
### Método HTTP

<span style="background-color: RGB(49,213,254); color: white; font-weight: bold; padding: 8px;">GET</span>


### Parámetros de la solicitud

| Nombre del parámetro | Tipo de dato | Descripción del parámetro | Obligatorio | Posibles valores |
| -------------------- | ------------ | ------------------------ | ----------- | ----------- |
|   ITEMCODE               |  cadena      |    Código interno del artículo  |       No (Si el código de artículo no se especifica, la API devolverá todos los artículos del sistema)      | Cualquiera |

### Encabezados de la solicitud

| Nombre del encabezado | Descripción del encabezado | Obligatorio |
| --------------------- | -------------------------- | ----------- |

### Cuerpo de la solicitud

No se requiere un cuerpo de solicitud para este método HTTP.

### Parámetros de la respuesta

| Nombre del parámetro | Tipo de dato | Descripción del parámetro |
| -------------------- | ------------ | ------------------------ |
|        Result              |      JSON        |       Json con la descripción del resultado de la operación                   |
##### Elementos de Result
- Result.NRecords: Valor numérico que indica el número de registros en la matriz Result.Data.
- Result.Data: Matriz que contiene uno o más objetos (Cantidad de registrios leídos).
- Result.Data[x].ItemCode: Representa el código del ítem.
- Result.Data[x].Type: Representa el tipo del ítem.
- Result.Data[x].Format: Representa el formato del ítem.
- Result.Data[x].QTY: Representa la cantidad existente del ítem.
- Result.Data[x].ActCont: Representa el número de contenedores activos del ítem.

### 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/ITEM/READ/693DDFEC2F4BFDDEAF04DD2724984C9B3CA89D553DD8E5B9BB233AD6BB6075F1?ITEMCODE=CODIGO_PN`
### Ejemplo de respuesta
```json
{ 
  "NRecords":1, 
  "Data":[ 
    { 
      "ItemCode":"CODIGO_PN", 
      "Description":"MODIF_DESCRIPCION_CODIGO_PN", 
      "Type":"REEL", 
      "Format":"H08S", 
      "QTY":0, 
      "ActCont":0 
    } 
  ] 
}
```