![Deprecated feature](../../base/images/deprecated.png)
URL AddressUpdate
Este URL actualiza la entrada de dirección para un usuario.
Este mandato actualiza la entrada de dirección para un usuario. Si no se ha proporcionado el parámetro addressId, se llama al mandato AddressAdd para añadir una dirección nueva. Utilice este mandato con SSL (Secure Sockets Layer) para asegurarse de que la contraseña de conexión del cliente y la información personal estén cifradas. Para ello, escriba el mandato con el protocolo seguro HTTPS.
Estructura de URL
- http:// host_name/path/
- El nombre completo de Transaction server y la vía de acceso de configuración.
Valores de parámetros
- langId
- Establece o restablece el idioma preferido durante el tiempo que dura la sesión; los idiomas soportados para una tienda se encuentran en la tabla STORELANG.
- forUser
- El ID de conexión del usuario u organización en cuyo nombre se ejecutará el mandato; este parámetro solo lo puede especificar una persona con autorización para procesar pedidos.
- forUserId
- Igual que forUser, pero el usuario se identifica mediante el ID de usuario interno que aparece en la tabla USERS.
- URL
- Se necesita: El URL al que se debe llamar cuando el mandato se completa satisfactoriamente.
- addressId
- Se necesita: El número de referencia de la dirección que se ha de actualizar.
- businessTitle
- El puesto en la empresa del usuario cuya dirección se va a actualizar (por ejemplo, Presidente o Director).
- personTitle
- El tratamiento que se dará al usuario cuya dirección se va a actualizar (por ejemplo, Dr., Rev., Sr. o Sra.)
- firstName
- El nombre del usuario.
- middleName
- El segundo nombre o inicial del usuario.
- organizationName
- La organización a la que representa el usuario.
- organizationUnitName
- El nombre de la unidad dentro de la organización del usuario.
- officeAddress
- La dirección interna de la organización (por ejemplo, el código postal interno).
- primaria
- Si la dirección especificada es una dirección primaria para un tipo de dirección determinado:
- 1
- primaria
- 0
- no primaria (el valor predeterminado)
- addressType
- El tipo de dirección. Por ejemplo:
- S
- de envío
- B
- de facturación
- SB
- de envío y facturación (el valor predeterminado)
- address1
- La primera línea de la dirección postal del usuario.
- address2
- La segunda línea de la dirección postal del usuario.
- address3
- La tercera línea de la dirección postal del usuario.
- city
- El nombre de la ciudad donde reside el usuario.
- estado
- El nombre de la provincia, estado o equivalente donde reside el usuario
- zipCode
- El código postal de la dirección del usuario
- country
- El nombre del país o región donde reside el usuario.
- bestCallingTime
- Si se ha de llamar al usuario durante el día o por la noche
- D
- día
- E
- tarde
- mobilePhone1
- Número de teléfono móvil del usuario que se registra utilizado para SMS, por ejemplo, 4161235555.
- mobilePhone1Country
- Código de país utilizado para el número de teléfono móvil del que se registra, por ejemplo, CA para Canadá.
- phone1
- El número de teléfono primario del usuario.
- phone1Type
- El tipo de teléfono utilizado para el número de teléfono primario del usuario, por ejemplo TTY para personas con problemas de audición, PCM para modulación por pulsos codificados o CEL para teléfono móvil. Este campo es de 3 caracteres.
- publishPhone1
- Si se ha de listar el número de teléfono primario del usuario:
- 1
- sí
- 0
- No
- phone2
- El número de teléfono secundario del usuario.
- phone2Type
- El tipo de teléfono utilizado para el número de teléfono secundario del usuario, por ejemplo TTY para personas con problemas de audición, PCM para modulación por pulsos codificados o CEL para teléfono móvil. Este campo es de 3 caracteres.
- publishPhone2
- Si se ha de listar el número de teléfono secundario del usuario:
- 1
- sí
- 0
- No
- fax1
- El número de fax primario del usuario.
- fax2
- El número de fax secundario del usuario.
- email1
- La dirección de correo electrónico o web primaria del usuario.
- email2
- La dirección de correo electrónico o web secundaria del usuario.
- billingCode
- El código de la organización compradora para identificar las direcciones de envío o facturación y el centro de costes.
- billingCodeType
- El código que designa el método de la estructura de código que se utiliza para el código de facturación. El valor predeterminado es D y lo asigna el comprador.
- taxPayerId
- Una serie que se utiliza para identificar al usuario para impuestos; resulta especialmente útil con software de impuestos.
- packageSuppression
- Si se ha de incluir material publicitario cuando se envíe el pedido:
- 1
- include
- 0
- no incluir
- addressField1 hasta addressField3
- Campos personalizables.
- shippingGeoCode
- Un código de envío basado en la región geográfica; resulta especialmente útil con software de impuestos.
- taxGeoCode
- Un código de impuestos basado en la región geográfica; resulta especialmente útil con software de impuestos.
- outAddressName
- Si se especifica outAddressName=s (donde s es cualquier serie), entonces s=<address_id> se establecerá como una de las propiedades de respuesta tras ejecutar el mandato, donde <address_id> es el ID de la dirección que se añade o actualiza.
Ejemplo
El ejemplo siguiente actualiza una entrada de la libreta de direcciones para la dirección con el ID 128, de modo que incluya el nombre Jeffery.
https://myhostname/webapp/wcs/stores/servlet/AddressUpdate?
addressId=128&firstName=Jeffery&URL=/webapp/wcs/stores/servlet/
Comportamiento
- El mandato AddressUpdate no puede actualizar otras direcciones del miembro y no puede actualizar una dirección temporal.
- Para cada tipo de dirección, puede haber cero o una dirección principal (el campo primary es igual a 1). Si la actualización va a cambiar esta dirección para que de ser primaria pase a ser no primaria, este mandato cambiará la dirección primaria existente de este tipo de dirección (si existe) a no primaria.
- El apodo no se puede actualizar.
- Si la modalidad de autenticación es LDAP y su dirección es la dirección de registro (selfAddress = 1) , se actualizará la información de esta dirección en el servidor LDAP.
- Llama al mandato de tarea AuditAddressCmd para realizar la comprobación de parámetros adicional. Los desarrolladores de tiendas deben añadir código nuevo al mandato de tarea AuditAddressCmd si desean personalizar la comprobación.
- Inserta una nueva dirección en la tabla ADDRESS con el apodo especificado. La dirección antigua se marca como temporal y la dirección nueva se marca como permanente.
- Si el mandato no se ejecuta correctamente, se llama al mandato AddressErrorView.
- Una vez ejecutado correctamente, llama al URL especificado.
- De forma predeterminada, el mandato validará que las longitudes de serie de los valores de propiedad sean inferiores o iguales al tamaño predeterminado de la columna de base de datos correspondiente. Si se sobrepasa la longitud máxima, se emite una ECApplicationException. Esta validación se puede inhabilitar mediante la adición de la siguiente sección dentro del elemento <MemberSubSystem> en el archivo de configuración de la instancia: <Address PropertyLengthValidation="false" />
Condiciones de excepción
- El parámetro URL no debe ser nulo y su longitud debe ser mayor que 0.
- El parámetro addressId no debe ser nulo y debe indicar una dirección de la tabla ADDRESS que pertenezca al usuario actual y no sea una dirección temporal.
- El parámetro nickName debe ser igual que el antiguo si no se ha especificado un parámetro nickName.
- El parámetro primary debe ser nulo o debe ser igual a 0 ó 1.
- Los parámetros publishPhone1, publishPhone2 y packageSuppression deben ser nulos o deben ser un entero.
- El manejador de errores captura el código de error, que puede ser uno de los siguientes.
Explicación Código de error Falta el parámetro URL _ERR_CMD_MISSING_PARAM El parámetro URL está vacío _ERR_CMD_INVALID_PARAM addressId está vacío o no existe _ERR_CMD_INVALID_PARAM (5015) addressId hace referencia a una dirección temporal _ERR_UPDATE_TEMPORARY_ADDRESS (5006) Se ha especificado nickName y no es igual al existente _ERR_UPDATE_NICKNAME Se ha especificado primary y no es igual a 0 ó 1 _ERR_CMD_INVALID_PARAM (5017) Se ha especificado publishPhone1 y no es un entero _ERR_CMD_INVALID_PARAM (5170) Se ha especificado publishPhone2 y no es un entero _ERR_CMD_INVALID_PARAM (5180) Se ha especificado packageSuppression y no es un entero _ERR_CMD_INVALID_PARAM (5190)