3) Endpoint — Registrar ExpoPushToken
POST https://agroecologia.grupoekos.com.br/router/action.php
Headers
X-APP-KEY: <APP_KEY_FIXA_DO_APP>
X-DEVICE-TOKEN: <DEVICE_TOKEN_DO_APARELHO>
Body
action=apiG10
f=registrar_push_token
expo_push_token=ExponentPushToken[xxxxxxxxxxxxxxxxxxxxxx]
platform=android
Parâmetros
action: usar sempreapiG10.f: usar sempreregistrar_push_token.expo_push_token: token retornado porgetExpoPushTokenAsync(). Obrigatório.platform: usarandroidouios. Obrigatório.
O endpoint também aceita push_token como nome alternativo de expo_push_token.
Formatos de token aceitos
ExpoPushToken[xxxxxxxxxxxxxxxxxxxxxx]
ExponentPushToken[xxxxxxxxxxxxxxxxxxxxxx]
Resposta — token cadastrado
{
"success": true,
"msg": "ExpoPushToken registrado com sucesso.",
"data": {
"id": 15,
"device_id": 381,
"cliente_id": 664,
"platform": "android",
"updated": false,
"fila": {
"processadas": 0,
"enviadas": 0,
"erros": 0
}
}
}
Resposta — token anterior substituído
{
"success": true,
"msg": "ExpoPushToken registrado com sucesso.",
"data": {
"id": 15,
"device_id": 381,
"cliente_id": 664,
"platform": "android",
"updated": true,
"fila": {
"processadas": 1,
"enviadas": 1,
"erros": 0
}
}
}
5) Abertura da notificação e sincronização
O ERP envia no campo data as informações do evento. Quando o usuário tocar na notificação,
o app deve verificar sincronizar: true, abrir a área principal e executar
sincronizacao_offline.
Dados enviados na notificação
{
"evento": "qrcode_novo",
"qrcode_id": 1250,
"tipo_conteudo": "kit_entrega",
"nome_tabela": "pedidos",
"id_tabela": 1484,
"sincronizar": true
}
Exemplo de listener
const subscription = Notifications.addNotificationResponseReceivedListener(
async (response) => {
const data = response.notification.request.content.data;
if (data?.sincronizar === true) {
// Abrir a tela principal e chamar a sincronização offline.
await executarSincronizacaoOffline();
}
},
);
// Ao desmontar o componente:
subscription.remove();