sdk-node-apis-efi
Version:
Module for integration with Efi Bank API
85 lines (70 loc) • 2.31 kB
text/typescript
import { z } from 'zod/v4';
// Tipos para o método pixCreateImmediateCharge
const StatusPixReceivedSchema = z.enum([
"ATIVA",
"CONCLUIDA",
"REMOVIDA_PELO_USUARIO_RECEBEDOR",
"REMOVIDA_PELO_PSP"
]);
export type StatusPixReceived = z.infer<typeof StatusPixReceivedSchema>;
export const PixCalendarioSchema = z.object({
expiracao: z.number(),
}).strict();
export type PixCalendario = z.infer<typeof PixCalendarioSchema>;
export const PixDevedorSchema = z
.union([
z
.object({
cpf: z.string().describe('CPF do devedor (somente números)'),
nome: z.string().describe('Nome do devedor'),
})
.strict(),
z
.object({
cnpj: z.string().describe('CNPJ do devedor (somente números)'),
nome: z.string().describe('Nome do devedor'),
})
.strict(),
])
.optional();
export type PixDevedor = z.infer<typeof PixDevedorSchema>;
export const PixCOBValorSchema = z.object({
original: z.string(),
}).strict();
export type PixCOBValor = z.infer<typeof PixCOBValorSchema>;
export const PixInfoAdicionalSchema = z.object({
nome: z.string(),
valor: z.string(),
}).strict();
export type PixInfoAdicional = z.infer<typeof PixInfoAdicionalSchema>;
export const PixCreateImmediateChargeBodySchema = z.object({
calendario: PixCalendarioSchema.extend({ criacao: z.string() }),
devedor: PixDevedorSchema,
valor: PixCOBValorSchema,
chave: z.string(),
solicitacaoPagador: z.string().optional(),
loc: z.object({id: z.number()}).optional(),
infoAdicionais: z.array(PixInfoAdicionalSchema).optional(),
}).strict();
export type PixCreateImmediateChargeBody = z.infer<typeof PixCreateImmediateChargeBodySchema>;
export const PixCreateImmediateChargeResponseSchema = z.object({
calendario: z.object({
criacao: z.string(),
expiracao: z.number(),
}),
txid: z.string(),
revisao: z.number(),
loc: z.object({
id: z.number(),
location: z.string(),
tipoCob: z.string(),
}),
location: z.string(),
status: StatusPixReceivedSchema,
devedor: PixDevedorSchema,
valor: PixCOBValorSchema,
chave: z.string(),
solicitacaoPagador: z.string().optional(),
pixCopiaECola: z.string(),
}).strict();
export type PixCreateImmediateChargeResponse = z.infer<typeof PixCreateImmediateChargeResponseSchema>;