# Cria ou atualiza endereços Cria ou atualiza endereços para um cliente. Se na requisição tiver o campo id, então o endereço que possui esse id será atualizado, caso contrário será criado. O Sistema permite que um cliente tenha multiplos endereços do tipo 'other' mas somente um endereço de cada para os tipos 'default' e 'shipping'. Se um novo endereço 'shipping' ou 'default' for enviado, o endereço atual será sobrescrito. Endpoint: POST /api/v3/customers/{customerId}/addresses Version: 3.0.0 Security: OAuth2 ## Header parameters: - `CPlug-Company-Id` (number, required) Id da Empresa (Company). Você pode localizar os IDs das empresas no _endpoint_ de listagem de empresas. Example: 12 - `Idempotency-Key` (string, required) UUID aleatório gerado por você. Nós utilizamos esse header para evitar duplicidade de registros, ou seja, caso você não tenha recebido a resposta de alguma requisição e mandar o mesmo UUID, nós não duplicaremos o registro. ## Path parameters: - `customerId` (integer, required) ID do cliente. ## Request fields (application/json): - `addresses` (array) Representa a lista de endereços - `addresses.id` (number) id do endereço. Example: 220 - `addresses.nickname` (string) Apelido do endereço. Example: "Casa" - `addresses.type` (string, required) Tipo do endereço. - default endereço principal. - shipping endereço de entrega. - charge endereço de cobrança. - other outro tipo de endereço. Enum: "default", "shipping", "charge", "other" - `addresses.street` (string, required) Nome do logradouro (Rua, Avenida, praça, etc). Example: "Avenida Paulista" - `addresses.number` (string) Número do logradouro. Example: "42 A" - `addresses.city_id` (number) ID da cidade. Obrigatório quando o campo ibge_code não for passado. Example: 1234 - `addresses.ibge_code` (string) Código do município segundo IBGE. Exemplo: O código do município segundo IBGE é 3550308 Obrigatório quando o campo city_id não for passado. Example: "3550308" - `addresses.neighborhood` (string) Nome do Bairro. Example: "Bela Vista" - `addresses.complement` (string) Complemento do endereço. Example: "Apto 2550" - `addresses.zip_code` (string) CEP do endereço. Example: "01311000" ## Response 201 fields (application/json): - `data` (object) - `data.addresses` (array) Representa a lista de endereços - `data.addresses.id` (number) id do endereço. Example: 220 - `data.addresses.nickname` (string) Apelido do endereço. Example: "Casa" - `data.addresses.type` (string, required) Tipo do endereço. - default endereço principal. - shipping endereço de entrega. - charge endereço de cobrança. - other outro tipo de endereço. Enum: "default", "shipping", "charge", "other" - `data.addresses.street` (string, required) Nome do logradouro (Rua, Avenida, praça, etc). Example: "Avenida Paulista" - `data.addresses.number` (string) Número do logradouro. Example: "42 A" - `data.addresses.city_id` (number) ID da cidade. Obrigatório quando o campo ibge_code não for passado. Example: 1234 - `data.addresses.ibge_code` (string) Código do município segundo IBGE. Exemplo: O código do município segundo IBGE é 3550308 Obrigatório quando o campo city_id não for passado. Example: "3550308" - `data.addresses.state` (string) Sigla do estado do endereço. Example: "SP" - `data.addresses.city` (string) Nome da cidade. Example: "São Paulo" - `data.addresses.neighborhood` (string) Nome do Bairro. Example: "Bela Vista" - `data.addresses.complement` (string) Complemento do endereço. Example: "Apto 2550" - `data.addresses.zip_code` (string) CEP do endereço. Example: "01311000" ## Response 400 fields (application/json): - `code` (string, required) Código de erro. Example: "missing_headers" - `message` (string) Descrição do erro. Example: "error message" - `meta` (array) Dados adicionais sobre o erro. ## Response 422 fields (application/json): - `code` (string, required) Código de erro. Example: "uneditable_entity" - `message` (string) Descrição do erro. Example: "description error" - `meta` (array) Dados adicionais sobre o erro. - `meta.field` (string, required) Nome do campo no qual existe um erro de validação. Example: "name" - `meta.validations` (array) - `meta.validations.type` (string, required) Tipo da validação aplicada. Example: "Required" - `meta.validations.value` (array) Tipo de valor aplicável (esse campo pode ser vazio). ## Response 401 fields ## Response 404 fields