# Adiciona fornecedor Adiciona um novo fornecedor ao produto. Endpoint: POST /api/v3/products/{productId}/suppliers 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: - `productId` (integer, required) ID do produto. ## Request fields (application/json): - `supplier_id` (integer, required) ID do fornecedor. Example: 1 - `product_code` (string, required) Código do produto no fornecedor. Example: "asdzxc1234" - `conversion_factor` (string, required) Fator de conversão do produto. Example: "10.300" - `options` (array) Lista de opções de atributos do produto. Atenção Apenas envie a options se deseja vincular o fornecedor às opções de atributos. Este campo não pode ser utilizado em conjunto com o campo grid_id. Caso o campo options seja enviado, o campo grid_id deve ser omitido ou nulo. - `options.option_id` (integer, required) ID da opção do atributo. Example: 1 - `grid_id` (integer) ID da grade do produto. Atenção O campo grid_id não pode ser utilizado em conjunto com o campo options. Caso o campo grid_id seja enviado, o campo options deve ser omitido ou nulo. Example: 1 ## Response 201 fields (application/json): - `id` (integer) ID do relacionamento entre produto e fornecedor. Example: 12 - `code` (string) Código do fornecedor no produto. Example: "ABC123" - `conversion_factor` (string) Fator de conversão do produto. Example: "12.2000000000" - `supplier` (object) - `supplier.id` (integer) ID do fornecedor. Example: 12 - `supplier.name` (string) Nome do fornecedor. Example: "Fornecedor ABC" - `attributes` (array) Lista de atributos do produto no fornecedor. - `attributes.attribute_id` (integer) ID do atributo. Example: 12 - `attributes.name` (string) Nome do atributo. Example: "Cor" - `attributes.options` (object) - `attributes.options.option_id` (integer) ID da opção do atributo. Example: 12 - `attributes.options.name` (string) Nome da opção. Example: "Azul" - `attributes.options.code` (string) Código da opção. Example: "AZ" - `grid` (object) Representa a grade do produto. Este campo é retornado apenas quando o fornecedor está vinculado a uma grade de produto. - `grid.id` (integer) ID da grade do produto. Example: 12 ## 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