
Research
TeamPCP Compromises Telnyx Python SDK to Deliver Credential-Stealing Malware
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.
@solucx/react-native-solucx-widget
Advanced tools
Um widget React Native modular para coleta de feedback e pesquisas de satisfação, desenvolvido pela SoluCX seguindo princípios de Clean Code e arquitetura escalável.
O SoluCX Widget permite integrar pesquisas de satisfação diretamente em aplicações React Native/Expo de forma simples e flexível. Desenvolvido para empresas que precisam coletar feedback em tempo real através de diferentes modalidades de apresentação.
npm install @solucx/react-native-solucx-widget
import React from 'react';
import { SoluCXWidget } from '@solucx/react-native-solucx-widget';
export default function MyScreen() {
return (
<SoluCXWidget
soluCXKey="sua-chave-solucx"
type="bottom"
data={{
journey: "checkout_flow",
name: "João Silva",
email: "joao@email.com",
store_id: "loja_01",
amount: 150.00
}}
options={{
width: 380,
height: 400
}}
/>
);
}
Widget fixo na parte inferior da tela, ideal para feedback não intrusivo.
<SoluCXWidget type="bottom" {...props} />
Widget fixo no topo da tela, perfeito para notificações importantes.
<SoluCXWidget type="top" {...props} />
Sobreposição centralizada que bloqueia interação com o fundo.
<SoluCXWidget type="modal" {...props} />
Integrado ao fluxo normal do layout, respeitando a posição no código.
<SoluCXWidget type="inline" {...props} />
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
soluCXKey | string | ✅ | Chave de autenticação SoluCX |
type | WidgetType | ✅ | Modo de renderização |
data | WidgetData | ✅ | Dados do cliente/transação |
options | WidgetOptions | ✅ | Configurações do widget |
interface WidgetData {
// Identificadores
transaction_id?: string;
customer_id?: string;
// Dados do cliente
name?: string;
email?: string;
phone?: string;
birth_date?: string; // Formato: YYYY-MM-DD
document?: string;
// Contexto da transação
store_id?: string;
store_name?: string;
employee_id?: string;
employee_name?: string;
amount?: number;
score?: number;
journey?: string; // Nome da jornada/fluxo
// Parâmetros customizados (prefixo param_)
param_REGIAO?: string;
[key: string]: string | number | undefined;
}
interface WidgetOptions {
width?: number; // Largura (padrão: 380)
height?: number; // Altura (padrão: 400)
retry?: {
attempts?: number; // Tentativas (padrão: 3)
interval?: number; // Intervalo em ms (padrão: 1000)
};
waitDelayAfterRating?: number; // Delay após avaliação
}
type WidgetType = "bottom" | "top" | "inline" | "modal";
O widget processa automaticamente os seguintes eventos da pesquisa:
FORM_OPENED - Widget foi abertoFORM_CLOSE - Usuário fechou o widgetFORM_COMPLETED - Pesquisa concluídaFORM_PARTIALCOMPLETED - Completada parcialmenteFORM_RESIZE - Widget redimensionadoFORM_ERROR - Erro no carregamentoO widget controla automaticamente:
const widgets = ['bottom', 'top'] as WidgetType[];
return (
<>
{widgets.map((type) => (
<SoluCXWidget
key={type}
soluCXKey={key}
type={type}
data={data}
options={options}
/>
))}
</>
);
⚠️ Comportamento Crítico: A posição no JSX não determina onde widgets top, bottom e modal aparecem:
// ❌ Widget "bottom" sempre aparece embaixo, independente da posição
<Text>Conteúdo antes</Text>
<SoluCXWidget type="bottom" {...props} />
<Text>Conteúdo depois</Text>
// ✅ Apenas "inline" respeita a posição no código
<Text>Conteúdo antes</Text>
<SoluCXWidget type="inline" {...props} />
<Text>Conteúdo depois</Text>
// Verificações essenciais:
// ✅ Chave SoluCX válida?
// ✅ Conectividade com internet?
// ✅ Logs do WebView no console?
// ✅ Dados obrigatórios preenchidos?
// Debug de comunicação:
const handleMessage = (message: string) => {
console.log('Widget event:', message);
};
// Verificar se JavaScript foi injetado corretamente
// Ajustar dimensões para o dispositivo:
const { width, height } = Dimensions.get('window');
const options = {
width: width * 0.9,
height: Math.min(height * 0.6, 400)
};
| Versão | React Native | Expo | iOS | Android |
|---|---|---|---|---|
| 1.0.x | 0.70+ | 50+ | 11+ | API 21+ |
Este pacote é proprietário da SoluCX. O uso é restrito a clientes licenciados da plataforma SoluCX.
FAQs
The React Native SDK for Solucx Widget
We found that @solucx/react-native-solucx-widget demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.

Security News
TeamPCP is partnering with ransomware group Vect to turn open source supply chain attacks on tools like Trivy and LiteLLM into large-scale ransomware operations.

Security News
/Research
Widespread GitHub phishing campaign uses fake Visual Studio Code security alerts in Discussions to trick developers into visiting malicious website.