How can I find full information about staking?

How can I find full information about staking (pool info, pool id, reward amount, etc.) knowing the contract staking address, block start/end? I want to call deposit function for some not my NFT Staking in my web3app.

I use Moralis for interact with smart contract.
I know ABI, contract adreess and nft IDs.
How can i find _pid (pool id)

const ABI = [
  {
    inputs: [
      {
        internalType: "uint256",
        name: "_pid",
        type: "uint256",
      },
      {
        internalType: "uint256[]",
        name: "tokenIds",
        type: "uint256[]",
      },
    ],
    name: "depositBEP721",
    outputs: [],
    stateMutability: "nonpayable",
    type: "function",
  }
]

async function staking() {
  let nfts = [632113,632114];
  let options = {
    contractAdress: stakingContract,
    functionName: 'depositBEP721',
    abi: ABI,
    params: {tokenIds: nfts, _pid: 'i dont know pool id'}
  }
  await Moralis.executeFunction(options);
}

I guess that you can call some functions in that smart contract to get some info, or to sync some specific events from that smart contract and process them

thanks, I will look for a solution in abi functions

i find this function, but i dont understand how to call it?

name: "bep721PoolInfos",
    outputs: [
      {
        internalType: "contract",
        name: "bep721",
        type: "address",
      },
      {
        internalType: "uint256",
        name: "bep721Type",
        type: "uint256",
      },
      {
        internalType: "bool",
        name: "bep721Burn",
        type: "bool",
      },
      {
        internalType: "uint256",
        name: "depositStartBlock",
        type: "uint256",
      },
      {
        internalType: "uint256",
        name: "startBlock",
        type: "uint256",
      },
      {
        internalType: "uint256",
        name: "endBlock",
        type: "uint256",
      },
      {
        internalType: "uint256",
        name: "allocPoint",
        type: "uint256",
      },
      {
        internalType: "uint256",
        name: "stakingBalance",
        type: "uint256",
      },
      {
        internalType: "uint256",
        name: "limitBalance",
        type: "uint256",
      },
      {
        internalType: "uint256",
        name: "accPerShare",
        type: "uint256",
      },
      {
        internalType: "uint256",
        name: "lastRewardBlock",
        type: "uint256",
      },
      {
        internalType: "bool",
        name: "isStarted",
        type: "bool",
      },
    ],
    stateMutability: "view",
    type: "function",
  }

You have to get the complete Abi for that function, you can find example in documentation how to call a function with executeFunction or with runContractFuncrion