Inter API Documentation

Version 2.0 - Enhanced Partner Integration Guide

# GetOrderDetails Method

Overview

The GetOrderDetails method retrieves complete information about a previously created order, including sender details, recipient information, payment status, amounts, and compliance data. This is the most comprehensive method for obtaining order information.

Use Cases

Request Fields

Field Name Type (Length) Option Description
AgentID Integer (9) R Your agent ID
PartnerID Integer (9) R Your partner ID
OrderID Integer (10) C Pontual's unique order ID. Required if AgentOrderReference is not provided
AgentOrderReference Alpha (25) C Your unique order reference. Required if OrderID is not provided

Note: You must provide either OrderID or AgentOrderReference.

Legend: R = Required, C = Conditional (one of OrderID or AgentOrderReference must be provided)


Response Fields

Order Identification

Field Name Type (Length) Description
AgentID Integer (9) Your agent ID
PartnerID Integer (9) Your partner ID
OrderID Integer (10) Pontual's unique order ID
AgentOrderReference Alpha (25) Your unique order reference
OrderCreationTime DateTime When the order was created (ISO 8601 format)

Sender Information

Field Name Type (Length) Description
SenderUID Alpha (50) Your unique sender ID (if provided)
SenderFirstName Alpha (50) Sender's first name
SenderLastName Alpha (80) Sender's last name
SenderCompanyName Alpha (80) Sender's company name (if business)
SenderAddress Alpha (255) Sender's street address
SenderCity Alpha (80) Sender's city
SenderState Alpha (50) Sender's state/province
SenderZip Alpha (50) Sender's ZIP/postal code
SenderCountry Alpha (2) Sender's country (ISO 3166-1 alpha-2)
SenderPhone1 Alpha (50) Sender's primary phone
SenderPhone2 Alpha (50) Sender's secondary phone
SenderEmail Alpha (80) Sender's email address
SenderDateOfBirth Date Sender's date of birth (compliance)
SenderDocument1Type Alpha (50) Primary document type (e.g., "Passport", "DL")
SenderDocument1Issue Alpha (50) Primary document issuing authority
SenderDocument1Number Alpha (50) Primary document number
SenderDocument2Type Alpha (50) Secondary document type
SenderDocument2Issue Alpha (50) Secondary document issuing authority
SenderDocument2Number Alpha (50) Secondary document number

Recipient Information

Field Name Type (Length) Description
RecipientUID Alpha (50) Your unique recipient ID (if provided)
RecipientFirstName Alpha (50) Recipient's first name
RecipientLastName Alpha (80) Recipient's last name
RecipientCompany Alpha (80) Recipient's company name (if business)
RecipientAddress1 Alpha (255) Recipient's street address
RecipientCity Alpha (80) Recipient's city
RecipientState Alpha (50) Recipient's state/province
RecipientZip Alpha (50) Recipient's ZIP/postal code
RecipientCountry Alpha (2) Recipient's country (ISO 3166-1 alpha-2)
RecipientPhone1 Alpha (50) Recipient's primary phone
RecipientPhone2 Alpha (50) Recipient's secondary phone
RecipientEmail Alpha (80) Recipient's email address
RecipientDocument1Type Alpha (50) Primary document type
RecipientDocument1Issuer Alpha (50) Primary document issuing authority
RecipientDocument1Number Alpha (50) Primary document number
RecipientDocument2Type Alpha (50) Secondary document type
RecipientDocument2Issuer Alpha (50) Secondary document issuing authority
RecipientDocument2Number Alpha (50) Secondary document number

Recipient Bank Information (for Bank Deposits)

Field Name Type (Length) Description
RecipientBankName Alpha (70) Bank name
RecipientBankRouting Alpha (50) Routing number/ABA/SWIFT/Bank code
RecipientBranchID Alpha (50) Branch ID/Agency (required for certain countries)
RecipientBankAccountNo Alpha (50) Account number
RecipientBankAccountID Integer (9) Unique ID for saved account
RecipientTIN Alpha (50) Tax ID (SSN, CPF, CNPJ)
RecipientBankAccoutType Alpha (50) Account type ("checking" or "savings")

Transaction Amounts

Field Name Type (Length) Description
NetAmountSent Decimal (15) Principal amount sent (USD)
TotalFeeSender Decimal (15) Fees charged to sender
TotalCollectedFromSender Decimal (15) Total collected (NetAmountSent + TotalFeeSender)
ExchangeRateSender Decimal (15) Exchange rate for customer
CurrencySent Alpha (3) Currency sent (ISO 4217)
ExchangeRateAgent Decimal (15) Exchange rate for partner
TotalFeeAgent Decimal (15) Fees due to Pontual
TotalDueFromAgent Decimal (15) Amount due from partner
AmountReceived Decimal (15) Amount recipient receives (destination currency)
TotalRecipiententFee Decimal (15) Fees charged to recipient
TotalPaidToRecipient Decimal (15) Net amount paid to recipient
CurrencyOfPayment Alpha (3) Destination currency (ISO 4217)
CurrencyOfPaymentID Integer (9) Internal currency ID

Payment Method & Status

Field Name Type (Length) Description
TypeOfPaymentText Alpha (60) Payment method description (e.g., "Bank Deposit")
TypeOfPaymentID Integer (9) Payment method ID
PayLocationID Integer (9) Payment location ID (if applicable)
PaymentLocation Alpha (80) Payment location description
ChallengeQuestion Alpha (100) Security question (if applicable)
ChallengeAnswer Alpha (50) Security answer (if applicable)
MessageToRecipient Alpha (200) Custom message to recipient
PaymentInstructions Alpha (200) Payment instructions
StatusCode Integer (9) Current order status (see Status Codes below)
LastStatusUpdade DateTime Last status update timestamp


SOAP Request/Response Examples

Example 1: Get Order Details by OrderID

Request:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetOrderDetails xmlns="http://tempuri.org/">
      <AgentID>12345</AgentID>
      <PartnerID>67890</PartnerID>
      <AgentOrderReference></AgentOrderReference>
      <OrderID>9876543</OrderID>
    </GetOrderDetails>
  </soap:Body>
</soap:Envelope>

Response:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetOrderDetailsResponse xmlns="http://tempuri.org/">
      <GetOrderDetailsResult>
        <OrderDetails>
          <AgentID>12345</AgentID>
          <PartnerID>67890</PartnerID>
          <OrderID>9876543</OrderID>
          <AgentOrderReference>TXN-2025-001234</AgentOrderReference>
          <OrderCreationTime>2025-11-05T14:30:00</OrderCreationTime>
          
          <!-- Sender Information -->
          <SenderFirstName>John</SenderFirstName>
          <SenderLastName>Smith</SenderLastName>
          <SenderAddress>123 Main Street</SenderAddress>
          <SenderCity>New York</SenderCity>
          <SenderState>NY</SenderState>
          <SenderZip>10001</SenderZip>
          <SenderCountry>US</SenderCountry>
          <SenderPhone1>2125551234</SenderPhone1>
          <SenderEmail>john.smith@email.com</SenderEmail>
          <SenderDateOfBirth>1985-03-15</SenderDateOfBirth>
          <SenderDocument1Type>Passport</SenderDocument1Type>
          <SenderDocument1Number>123456789</SenderDocument1Number>
          
          <!-- Recipient Information -->
          <RecipientFirstName>Maria</RecipientFirstName>
          <RecipientLastName>Silva</RecipientLastName>
          <RecipientAddress1>Rua das Flores 456</RecipientAddress1>
          <RecipientCity>São Paulo</RecipientCity>
          <RecipientState>SP</RecipientState>
          <RecipientZip>01310-100</RecipientZip>
          <RecipientCountry>BR</RecipientCountry>
          <RecipientPhone1>5511987654321</RecipientPhone1>
          <RecipientEmail>maria.silva@email.com</RecipientEmail>
          
          <!-- Bank Information (PIX) -->
          <RecipientTIN>12345678901</RecipientTIN>
          <TypeOfPaymentText>PIX - Instant Payment</TypeOfPaymentText>
          <TypeOfPaymentID>42</TypeOfPaymentID>
          
          <!-- Transaction Amounts -->
          <NetAmountSent>500.00</NetAmountSent>
          <TotalFeeSender>15.00</TotalFeeSender>
          <TotalCollectedFromSender>515.00</TotalCollectedFromSender>
          <ExchangeRateSender>5.25</ExchangeRateSender>
          <CurrencySent>USD</CurrencySent>
          <AmountReceived>2625.00</AmountReceived>
          <TotalRecipiententFee>0.00</TotalRecipiententFee>
          <TotalPaidToRecipient>2625.00</TotalPaidToRecipient>
          <CurrencyOfPayment>BRL</CurrencyOfPayment>
          
          <!-- Status -->
          <StatusCode>5</StatusCode>
          <LastStatusUpdade>2025-11-05T14:45:00</LastStatusUpdade>
        </OrderDetails>
      </GetOrderDetailsResult>
    </GetOrderDetailsResponse>
  </soap:Body>
</soap:Envelope>


Example 2: Get Order Details by AgentOrderReference

Request:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetOrderDetails xmlns="http://tempuri.org/">
      <AgentID>12345</AgentID>
      <PartnerID>67890</PartnerID>
      <AgentOrderReference>TXN-2025-001235</AgentOrderReference>
      <OrderID></OrderID>
    </GetOrderDetails>
  </soap:Body>
</soap:Envelope>

Response:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetOrderDetailsResponse xmlns="http://tempuri.org/">
      <GetOrderDetailsResult>
        <OrderDetails>
          <AgentID>12345</AgentID>
          <PartnerID>67890</PartnerID>
          <OrderID>9876544</OrderID>
          <AgentOrderReference>TXN-2025-001235</AgentOrderReference>
          <OrderCreationTime>2025-11-05T15:00:00</OrderCreationTime>
          
          <!-- Sender Information -->
          <SenderFirstName>Carlos</SenderFirstName>
          <SenderLastName>Rodriguez</SenderLastName>
          <SenderAddress>456 Oak Avenue</SenderAddress>
          <SenderCity>Miami</SenderCity>
          <SenderState>FL</SenderState>
          <SenderZip>33101</SenderZip>
          <SenderCountry>US</SenderCountry>
          <SenderPhone1>3055551234</SenderPhone1>
          <SenderEmail>carlos.rodriguez@email.com</SenderEmail>
          
          <!-- Recipient Information -->
          <RecipientFirstName>Juan</RecipientFirstName>
          <RecipientLastName>Pérez</RecipientLastName>
          <RecipientAddress1>Calle Principal 789</RecipientAddress1>
          <RecipientCity>São Paulo</RecipientCity>
          <RecipientState>SP</RecipientState>
          <RecipientZip>01310-100</RecipientZip>
          <RecipientCountry>BR</RecipientCountry>
          <RecipientPhone1>525512345678</RecipientPhone1>
          
          <RecipientBankName>Banco do Brasil</RecipientBankName>
          <RecipientBankAccountNo>00000000000000000000</RecipientBankAccountNo>
          <RecipientBankAccoutType>checking</RecipientBankAccoutType>
          <TypeOfPaymentID>1</TypeOfPaymentID>
          
          <!-- Transaction Amounts -->
          <NetAmountSent>300.00</NetAmountSent>
          <TotalFeeSender>10.00</TotalFeeSender>
          <TotalCollectedFromSender>310.00</TotalCollectedFromSender>
          <ExchangeRateSender>17.50</ExchangeRateSender>
          <CurrencySent>USD</CurrencySent>
          <AmountReceived>5250.00</AmountReceived>
          <TotalRecipiententFee>0.00</TotalRecipiententFee>
          <TotalPaidToRecipient>5250.00</TotalPaidToRecipient>
          <CurrencyOfPayment>MXN</CurrencyOfPayment>
          
          <!-- Status -->
          <StatusCode>3</StatusCode>
          <LastStatusUpdade>2025-11-05T15:05:00</LastStatusUpdade>
        </OrderDetails>
      </GetOrderDetailsResult>
    </GetOrderDetailsResponse>
  </soap:Body>
</soap:Envelope>


Example 3: Order Not Found

Request:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetOrderDetails xmlns="http://tempuri.org/">
      <AgentID>12345</AgentID>
      <PartnerID>67890</PartnerID>
      <AgentOrderReference>INVALID-REF</AgentOrderReference>
      <OrderID></OrderID>
    </GetOrderDetails>
  </soap:Body>
</soap:Envelope>

Response:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetOrderDetailsResponse xmlns="http://tempuri.org/">
      <GetOrderDetailsResult>
        <ResultCodes>2001</ResultCodes>
        <ResultMessage>Order not found</ResultMessage>
      </GetOrderDetailsResult>
    </GetOrderDetailsResponse>
  </soap:Body>
</soap:Envelope>


Response Fields Explained

Key Fields for Customer Display

When displaying order details to customers, prioritize these fields:

Order Summary:

Sender Information:

Recipient Information:

Financial Details:

Payment Method:

Integration Best Practices

1. Cache Order Details Appropriately

// Cache completed orders for 5 minutes, active orders for 1 minute
async function getOrderDetails(orderID) {
  const cacheKey = `order_details_${orderID}`;
  const cached = cache.get(cacheKey);
  
  if (cached) {
    return cached;
  }
  
  const details = await soapClient.GetOrderDetails({
    AgentID: config.agentID,
    PartnerID: config.partnerID,
    OrderID: orderID,
    AgentOrderReference: ''
  });
  
  // Cache based on status
  const ttl = details.StatusCode === 5 || details.StatusCode === 6 
    ? 300 // 5 minutes for completed/canceled
    : 60;  // 1 minute for active orders
  
  cache.set(cacheKey, details, ttl);
  return details;
}

2. Use GetOrderStatus for Polling

// For status polling, use GetOrderStatus (faster)
// Only call GetOrderDetails when you need full information
async function pollOrderStatus(orderID) {
  // Use GetOrderStatus for polling (faster, lighter)
  const status = await soapClient.GetOrderStatus({
    AgentID: config.agentID,
    PartnerID: config.partnerID,
    OrderID: orderID
  });
  
  // Only fetch full details when status changes or user requests
  if (status.StatusCode !== lastKnownStatus) {
    const fullDetails = await getOrderDetails(orderID);
    updateUI(fullDetails);
  }
}

3. Handle Missing Optional Fields

// Many fields are optional - handle gracefully
function displayOrderDetails(details) {
  return {
    orderID: details.OrderID,
    reference: details.AgentOrderReference,
    sender: {
      name: `${details.SenderFirstName} ${details.SenderLastName}`,
      company: details.SenderCompanyName || null, // May be empty
      email: details.SenderEmail || 'Not provided',
      phone: details.SenderPhone1 || details.SenderPhone2 || 'Not provided'
    },
    recipient: {
      name: `${details.RecipientFirstName} ${details.RecipientLastName}`,
      company: details.RecipientCompany || null,
      email: details.RecipientEmail || 'Not provided',
      phone: details.RecipientPhone1 || details.RecipientPhone2 || 'Not provided'
    },
    amounts: {
      sent: parseFloat(details.NetAmountSent),
      fees: parseFloat(details.TotalFeeSender),
      total: parseFloat(details.TotalCollectedFromSender),
      received: parseFloat(details.AmountReceived),
      receivedCurrency: details.CurrencyOfPayment
    },
    payment: {
      method: details.TypeOfPaymentText,
      location: details.PaymentLocation || null,
      instructions: details.PaymentInstructions || null
    },
    status: {
      code: details.StatusCode,
      text: getStatusText(details.StatusCode),
      lastUpdate: new Date(details.LastStatusUpdade)
    }
  };
}

Testing

Use Cases by Status

Related Methods

Before calling GetOrderDetails:

After getting order details:


Support