UNPKG

sdk-node-apis-efi

Version:

Module for integration with Efi Bank API

85 lines (70 loc) 2.31 kB
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>;