# Atualiza uma integração Atualiza uma integração existente incluindo suas credenciais de autenticação e configurações. O sistema suporta múltiplos tipos de integração (delivery, tapp, ERP, general) com diferentes fornecedores. Cada integração possui requisitos únicos de campos obrigatórios para autenticação e configuração. Tipos de integração suportados incluem (não exaustivo): - Delivery: Epadoca, Delivery Direto, iFood, Rappi, Aiqfome, Neemo, Onpedido, Quero Delivery, etc. - Tapp: EasyChopp, Beerpass, ITap, Enjoy, etc. - ERP: Tray, etc. - General: Fidelidade, CRM & Bonus, Todo Cartões, etc. Endpoint: PUT /api/v3/integrations/{integrationId} 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: - `integrationId` (integer, required) ID da integração. Example: 5 ## Request fields (application/json): - `auth` (object, required) Informações de autenticação da integração. Pode variar entre: - Array de credentials (maioria) - Campos diretos no auth - Objeto vazio (integrações com auth no backend) - `auth.credentials` (array) Lista de credenciais da integração (usado pela maioria das integrações). Example: [{"client_id":"exemplo_client_id","client_secret":"exemplo_client_secret"}] - `auth.email` (string) Email para autenticação (usado por algumas integrações como Accon V1). Example: "admin@accon.com" - `auth.password` (string) Senha para autenticação (usado por algumas integrações como Accon V1). Example: "accon_password" - `auth.client_id` (string) Client ID para autenticação (usado por algumas integrações como Accon V2). Example: "accon_v2_client" - `auth.client_secret` (string) Client Secret para autenticação (usado por algumas integrações como Accon V2). Example: "accon_v2_secret" - `auth.username` (string) Username para autenticação (usado por algumas integrações como Aiqfome). Example: "aiqfome_user" - `configs` (object, required) Configurações da integração. Campos comuns: payment_method_id, seller_id, auto_accept_order Campos específicos: merchant_ids, network, stock_id, etc. - `configs.payment_method_id` (integer) ID do método de pagamento padrão da integração. Example: 1 - `configs.seller_id` (string,integer) ID do vendedor padrão da integração. Example: 5 - `configs.auto_accept_order` (boolean) Se deve aceitar pedidos automaticamente. Example: true - `configs.merchant_ids` (array) Lista de IDs de merchants (usado por Rappi, iFood, etc.). Example: ["rappi_store_123","rappi_store_456"] - `configs.menu_ids` (array) Lista de IDs de menus (usado por Rappi, etc.). Example: ["menu_789"] - `configs.merchant_names` (array) Lista de nomes de merchants (usado por iFood, etc.). Example: ["Restaurante XYZ"] - `configs.merchant_delivery` (array) Lista de flags de delivery por merchant (usado por iFood, etc.). Example: [true] - `configs.network` (string) Rede da integração (usado por Accon V1, etc.). Example: "rede_accon_123" - `configs.integration_delivery` (boolean) Se a integração suporta delivery (usado por iFood, etc.). Example: true - `configs.disable_product_out_of_stock` (boolean) Se deve desabilitar produtos fora de estoque (usado por iFood, etc.). Example: true - `configs.stock_id` (integer) ID do estoque padrão (usado por iFood, etc.). Example: 1 - `configs.shipping_on_sale` (boolean) Se deve aplicar frete na venda (usado por iFood, etc.). - `configs.require_shipping_code` (boolean) Se requer código de envio (usado por iFood, etc.). Example: true - `configs.menu_option` (string) Opção de menu (usado por Rappi, etc.). Example: "automatic" - `configs.validations_should_skipped` (array) Lista de validações que devem ser puladas (usado por Rappi, etc.). Example: [] ## Response 200 fields (application/json): - `data` (object) Representa uma integração disponível no sistema. - `data.id` (integer, required) Identificador único da integração. Example: 8 - `data.name` (string, required) Nome da integração. Example: "Accon Delivery" - `data.key` (string, required) Chave identificadora da integração. Example: "accon_delivery" - `data.type` (string, required) Tipo da integração. - delivery integração de delivery - tapp integração de tapp - general integração geral - erp integração de ERP Enum: "delivery", "tapp", "general", "erp" - `data.image` (string, required) URL da imagem da integração Example: "https://images.connectplug.com.br/ifood-logo.png" - `data.status` (string, required) Status da integração. - active integração ativa - inactive integração inativa Enum: "active", "inactive" - `data.deleted` (boolean, required) Informa se o registro está excluído. - `data.created_at` (string, required) Data da última criação. Example: "2025-06-18T17:37:40.000000Z" - `data.updated_at` (string, required) Data da última atualização. Example: "2025-06-18T17:37:40.000000Z" - `data.auth` (object) Informações de autenticação da integração. - `data.auth.credentials` (array) Lista de credenciais da integração. - `data.auth.credentials.authenticated` (boolean,null) Indica se a integração está autenticada. Example: true - `data.auth.credentials.message` (string,null) Mensagem sobre o status da autenticação. Example: "Autorizado com sucesso" - `data.auth.credentials.status_code` (integer,null) Código de status da autenticação. Example: 200 - `data.auth.credentials.access_token` (string,null) Token de acesso retornado pela integração (presente apenas quando autenticado). Example: "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwianRpIjoiYWJjZGVmZ2hpams" - `data.auth.credentials.expires_in` (string,null) Data/hora de expiração do token. Example: "2024-01-20 18:45:30" - `data.auth.credentials.client_id` (string,null) ID do cliente para autenticação. Usado por algumas integrações como Epadoca. Example: "epadoca_client_12345" - `data.auth.credentials.client_secret` (string,null) Segredo do cliente para autenticação. Usado por algumas integrações como Epadoca. Example: "epadoca_secret_abcdef" - `data.auth.credentials.merchant_name` (string,null) Nome do comerciante. Usado por algumas integrações como Delivery Direto. Example: "Restaurante ABC" - `data.auth.credentials.username` (string,null) Nome de usuário para autenticação. Usado por algumas integrações como Delivery Direto. Example: "restaurante_abc" - `data.auth.credentials.password` (string,null) Senha para autenticação. Usado por algumas integrações como Delivery Direto. Example: "senha123" - `data.auth.credentials.integration_id` (string,null) ID da integração no sistema externo. Usado por algumas integrações como Delivery Direto. Example: "dd_integration_456" - `data.auth.credentials.place_id` (string,null) ID do local/estabelecimento. Usado por algumas integrações como Quero Delivery. Example: "place_12345_abc" - `data.auth.status` (string) Status da autenticação da integração. - success integração ativada com sucesso - fail falha na autenticação - danger credenciais inválidas Enum: "success", "fail", "danger" - `data.configs` (object) Configurações da integração. - `data.configs.payment_method_id` (integer,null) ID do método de pagamento padrão da integração. Example: 1 - `data.configs.seller_id` (integer,string,null) ID do vendedor padrão da integração. Example: 8 - `data.configs.auto_accept_order` (boolean) Se deve aceitar pedidos automaticamente. Example: true - `data.configs.url` (string,null) URL base da API da integração. Example: "https://api.epadoca.com/v1/" - `data.configs.logo` (string,null) Caminho para o logo da integração. Example: "build/images/integrations/epadoca.png" - `data.configs.cover` (string,null) Caminho para a imagem de capa da integração. Example: "build/images/integrations/epadoca_cover.png" - `data.rules` (array) Regras aplicadas à integração (campos obrigatórios para ativação). Example: ["auth.credentials","auth.credentials.*.client_id","auth.credentials.*.client_secret","configs.payment_method_id","configs.seller_id","configs.auto_accept_order"] - `data.integration_status` (string) Status textual da integração. Example: "Autorizado com sucesso" ## 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