Sites e aplicativos (Request na API)
Sabemos que vender produtos em seu website ou aplicativo é algo complicado que demanda tempo e muito estudo. Com o Pixcord você consegue automatizar este processo em questão de minutos, literalmente!
Passo-a-passo demonstrativo
1. No Pixcord...
Configurando o Produto
Após realizar as configurações básicas do produto, crie uma ação do tipo Request em API

2. No Website...
No exemplo estaremos utilizando um website feito em Express e Mongoose, mas utilize o que for mais adequado para você!
Crie uma rota API do tipo POST, como por exemplo /premiumactive
app.post("/api/premiumactive", async (req, res) => {
})
3. No Pixcord...
Configurando o Produto
Após realizar as configurações básicas do produto, crie uma ação do tipo Request em API
Defina a URL com a rota criada para seu aplicativo
Pronto! A configuração do produto já está pronta! Agora basta salvar.
4. No Website...
Por segurança, todas as requisições feitas pelo Pixcord contém x-pixcord-key
nos seus headers
. Isso evita que pessoas não autorizadas realizem um request válido em sua API.
Salve a chave encontrada na página Chaves do Pixcord em um arquivo seguro. Como por exemplo, em um arquivo .env
.
PIXCORD_KEY=PIXCORD_KEY-1234567890_abcdefghijklmnopqrstuvwxyz
Atenção! Alguém com esta chave conseguirá realizar requisições maliciosas em seu website! Guarde com segurança.
Voltando para a rota da API, verifique se a chave enviada nos headers
do request é igual à chave salva. Caso não seja, retorne com um erro.
app.post("/api/premiumactive", async (req, res) => {
const pixcordKey = req.headers["x-pixcord-key"];
if (pixcordKey != process.env.PIXCORD_KEY) return res.status(403).json({ message: "Chave do Pixcord inválida." })
})
5. Estrutura do request
Os requests enviados pelo Pixcord contém as seguintes infomações:
headers: {
"x-purchase-id": "ID da compra",
"x-pixcord-key": "Chave de segurança do Pixcord citada acima",
"x-guild-id": "ID do servidor da compra"
},
body: {
fields: {
"nome do campo": "valor do campo"
},
purchase: {
id: "ID da compra",
payment_method: "Método de pagamento",
productId: "Id produto",
status: "Status da compra",
subtotal_value: "Valor total da compra, sem desconto",
total_value: "Valor total da compra",
discount_value: "Valor do desconto",
usedCouponCode: "Código do cupom utilizado" || null,
usedCouponId: "ID do cupom utilizado" || null,
unit_value: "Preço da unidade do produto",
quantity: "Quantidade comprada",
loggedUser: "ID do usuário logado" || null
}
}
Sabendo disso, crie os campos necessários no produto do Pixcord para que o usuário seja informado, e o acesse utilizando <Request>.body.fields["nome do campo"]
em sua API.
6. Continuando nosso código...
Obtenha o username utilizando
req.body.fields["username"]
Procure pelo usuário no banco de dados. (
await UserSchema.findOne({ username: username })
)Caso não encontre, retorne um erro informando.
Defina que o usuário é premium (
user.premium = true
)Salve o usuário! (
user.save()
)Retorne uma mensagem indicando sucesso! E pronto! Todo o sistema está pronto, sua integração com o Pixcord já está funcionando! Em alguns simples passos, você já pode vender produtos em seu website!
app.post("/api/premiumactive", async (req, res) => {
const pixcordKey = req.headers["x-pixcord-key"];
if (pixcordKey != process.env.PIXCORD_KEY) return res.status(403).json({ message: "Chave do Pixcord inválida." });
const username = req.body.fields["username"];
const user = await UserSchema.findOne({ username: username });
if (!user) return res.status(404).json({ message: "Usário não encontrado" });
user.premium = true;
await user.save();
return res.status(200).json({ message: `Premium ativado com sucesso para ${user.username}!` })
})
Este é um exemplo simples, mas com seu código o céu é o limite!
Atualizado