Clientes
El endpoint PostAddCustomer es responsable del registro de un nuevo cliente en el sistema MIMS. Este registro puede ser visualizado en la pantalla CAD043.
Cómo registrar un cliente
HTTP POST Request
| Tipo de Solicitud | URL Ejemplo |
|---|---|
| POST | {{url_base}}/PostAddCustomer |
| Ejemplo | http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostAddCustomer" |
Parámetros de Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| CustomerNo | String(25) | Sí | Código externo del cliente |
| CustomerAuxiliaryNo | String(25) | No | Código externo auxiliar del cliente |
| CorporateName | String(40) | Sí | Nombre del cliente |
| BusinessName | String(40) | Sí | Nombre comercial |
| ShortName | String(15) | No | Nombre reducido |
| GroupNo | String(25) | No | Código externo del grupo del cliente |
| Phone | String(15) | No | Número de teléfono |
| String(200) | No | Correo electrónico | |
| FoundationDate | Data | No | Fecha de fundación |
| RegisterDate | DataHora | No | Fecha de registro |
| FederalRegisterNo | String(14) | Sí | CNPJ (Persona Jurídica) o CPF (Persona Física) |
| StateRegisterNo | String(20) | Sí | Inscripción estatal (Persona Jurídica) o RG (Persona Física) |
| Notes | String(2000) | No | Observación |
| ShelflifeMinPercentage | Float | No | Porcentaje mínimo utilizado en el cálculo de la fecha límite de validez de los productos para el cliente |
| ShelflifeMaxPercentage | Float | No | Porcentaje máximo utilizado en el cálculo de la fecha límite de validez de los productos para el cliente |
| LocationAddress | AddressInfo | Sí | Objeto que contiene las informaciones de la dirección de localización estándar del cliente |
| DeliveryAddress | AddressInfo | Sí | Objeto que contiene las informaciones de la dirección de entrega estándar del cliente |
| BillingAddress | AddressInfo | Sí | Objeto que contiene las informaciones de la dirección de facturación estándar del cliente |
| PersonType | PersonType | Sí | Enumerador con los posibles valores para el Tipo de Persona: ptCompany (Persona Jurídica) o ptPerson (Persona Física) |
| IsInactiveCustomer | Boolean | No | Flag que indica que el cliente está inactivo |
| HasAdministrativeBlocked | Boolean | No | Flag que indica que el cliente posee bloqueo administrativo |
| IsRuralProducer | Boolean | No | Flag que indica que el cliente es productor rural |
| RegisterRuralProducerNo | String(20) | No | Número de la Inscripción de Productor Rural del Cliente |
| SuframaNo | String(20) | No | Código suframa del cliente |
| SellerNo | String(25) | No | Código externo del vendedor |
| PriceTableNo | String(25) | No | Código externo de la tabla de precio |
| PromotionalPriceTableNo | String(25) | No | Código externo de la tabla de precio promocional |
| PaymentMethodNo | String(25) | No | Código externo de la forma de pago |
| SubLogisticRegionNo | String(25) | No | Código externo de la sub región logística |
| OverwriteIfExists | Boolean | No | Flag que indica que los datos deben ser sobrescritos si el registro ya existe |
Observación
- La obligatoriedad de los parámetros
LocationAddress,DeliveryAddressyBillingAddressestá definida por configuración. Por defecto, estos parámetros son obligatorios. Para alterar este comportamiento, consulte al consultor responsable. - El valor informado en el parámetro
FederalRegisterNodebe respetar el tamaño según el tipo de persona especificado en el parámetroPersonType:- 14 caracteres cuando
PersonType = ptCompany(corresponde al CNPJ) - 11 caracteres cuando
PersonType = ptPerson(corresponde al CPF)
- 14 caracteres cuando
Retorno
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| WebServiceReturn | WebServiceReturn | Sí | Informaciones estándar de respuesta del WebService en la ejecución del método |
| CustomerCode | Integer | Sí | Código interno del Cliente generado en el sistema MIMS |
Ejemplo de Request
curl --location 'http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostAddCustomer"' \
--header 'Content-Type: application/json' \
--data-raw '{
"CustomerNo": "CUST001",
"CustomerAuxiliaryNo": "",
"CorporateName": "Empresa Ejemplo Ltda",
"BusinessName": "Empresa Ejemplo",
"ShortName": "Ejemplo",
"GroupNo": "G001",
"Phone": "11999999999",
"Email": "contato@exemplo.com",
"FoundationDate": "2000-01-01",
"RegisterDate": "2024-02-06T12:00:00",
"FederalRegisterNo": "12345678000195",
"StateRegisterNo": "ISENTO",
"ShelflifeMinPercentage": 15.0,
"ShelflifeMaxPercentage": 60.0,
"Notes": "Cliente con operación activa",
"LocationAddress": {
"AddressType": "Calle",
"Address": "Av. Paulista",
"Number": "1000",
"District": "Bela Vista",
"ZIPCode": "01310000",
"City": "São Paulo",
"State": "São Paulo",
"StateInitials": "SP",
"Country": "Brasil"
},
"DeliveryAddress": {
"AddressType": "Calle",
"Address": "Av. Paulista",
"Number": "1000",
"District": "Bela Vista",
"ZIPCode": "01310000",
"City": "São Paulo",
"State": "São Paulo",
"StateInitials": "SP",
"Country": "Brasil"
},
"BillingAddress": {
"AddressType": "Calle",
"Address": "Av. Paulista",
"Number": "1000",
"District": "Bela Vista",
"ZIPCode": "01310000",
"City": "São Paulo",
"State": "São Paulo",
"StateInitials": "SP",
"Country": "Brasil"
},
"PersonType": "ptCompany",
"IsInactiveCustomer": false,
"HasAdministrativeBlocked": false,
"IsRuralProducer": true,
"RegisterRuralProducerNo": "PR-2025-0098",
"SuframaNo": "SUF-456789",
"SellerNo": "VEND-015",
"PriceTableNo": "TAB-PRC-01",
"PromotionalPriceTableNo": "TAB-PROMO-02",
"PaymentMethodNo": "PM001",
"SubLogisticRegionNo": "SLR001",
"OverwriteIfExists": true
}'
Ejemplo de Response
{
"WebServiceReturn": {
"Status": "wrsSuccess",
"ErrorCode": "",
"Message": "",
"Actor": "",
"ReturnQuestion": null
},
"CustomerCode": 12345
}
🐞 Posibles Errores
| Código | Mensaje |
|---|---|
| ACT‑001 | El parámetro Código Externo del Cliente (CustomerNo) informado ya existe! |
| ACT‑002 | Informó que el cliente es un productor rural (IsRuralProducer), pero no informó el número de la inscripción de productor rural (RegisterRuralProducerNo)! |
| ACT‑003 | Informó el número de la inscripción de productor rural (RegisterRuralProducerNo), pero el cliente no es productor rural (IsRuralProducer)! |