Introduction

SHIFT seeks to enter and serve the markets that need its services and the studied expansion in those markets, as well as to create a network of Agents to provide its customers with the best services in the time and place that are more convenient to them.

 

To improvement SHIFT products and services and to simplify the integration process between Agents systems and SHIFT; this document describes on the procedures of interfacing with the SHIFT Online Remittance Services from other systems using Web Services.

 

SHIFT Standards

  • Fast Service: Your money is in the hands of your beloved ones in moments.
  • Secure Service: High end technology that ensures the security of the information, transfers and full protection of your transfers against piracy and theft.
  • Reliable Service: Ensure the preservation of highest quality standards and reliability in all ordinary and urgent circumstances.
  • Service Efficiency: The capability of the SHIFT system to serve the clients in high efficiency at all the locations that provide the service and around the clock.

Remittance concept

 

 

 

SHIFT Web Service Overview

SHIFT web service is a set of Web methods that are hosted on an application server. Web methods are methods that can be invoked remotely over a network or the internet. To invoke a Web method, you create a SOAP message (described ahead) and send it to the Web service via HTTP or other transport mechanism. Most commonly, a Web service sends a response message back for every method call; the response message contains returned information or fault information in case of an error.

A SOAP message is an XML document that follows a specific standard. The SOAP standard provides a way to package a call to a Web method, and to package the response

SHIFT API enables integration of agent client-service systems with SHIFT core system for fast service of remittances in real time. The API is exposed as a SOAP web service and is defined using a combination of WSDL.

The WSDL specifies a single web service operation with an input of “Request” and an output of “Response”, the WSDL simply states that it will accept any valid XML as input and return valid XML as output.

 

SHIFT publishes a set of XML Schemas that dictate the format of the request and response elements. The request schema can be used to validate the request XML for a particular service on the client-side prior to it being sent to the server. Hence as a whole, the web service is strongly typed.

SHIFT Web Services Security

  • The web service is secured using a combination of transport level security (SSL over HTTP).
  • Authenticate Agent client-service IP address.

Agent should provide his service IP address; SHIFT security team will configure Agent IP address in the trusted zone to authenticate every SOAP request from Agent side.

  • SHIFT API expects the agent credentials to be part of each API Call “SOAP request”; every method within the API requires agent credentials input fields to authenticate the request.

Agent Credentials fields

Credentials will be assigned and provide by SHIFT
Field Type Size Mandatory
agentCode Char 5 Yes
userId Char 20 Yes
userPassword Char 30 Yes

 

SHIFT Web Services URL

The URL’s for testing and production will be provided by SHIFT team.

 

1- Send

SHIFT API providing set of web methods for accessing SHIFT API; these methods are required for sending remittance from Agent system to SHIFT system.

Send Remittance Flow Diagrams

The below diagram illustrates how send remittance flow work:

 

The below diagram illustrates how send remittance flow sequence:

 

 

1-1- Get Destination Countries

Method name getDestinationCountries
Method purpose This method used to return list of destination countries that allowed to receive remittances from partner agent country for a specific service type

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
serviceType Char 20 Yes See Service type table

 

Response outputs

Field Type Description
resultCode Char see return error messages and errors table
resultMessage Char
CountriesList Object List of countries

Field Type Description
countryCode Char ISO Alpha-3 (3166)
countryName Char
requiredMiddleName Char YES, NO

 

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getDestinationCountries>

<serviceType>CASH</serviceType>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:getDestinationCountries>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getDestinationCountriesResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:destinationCountriesList>

<ns3:countryCode>EGY</ns3:countryCode>

<ns3:countryName>Egypt</ns3:countryName>

<ns3:requiredMiddleName>NO</ns3:requiredMiddleName>

</ns3:destinationCountriesList>

<ns3:destinationCountriesList>

<ns3:countryCode>KEN</ns3:countryCode>

<ns3:countryName>Kenya</ns3:countryName>

<ns3:requiredMiddleName>NO</ns3:requiredMiddleName>

</ns3:destinationCountriesList>

</return>

</ns2:getDestinationCountriesResponse>

</S:Body>

</S:Envelope>

 

1-2- Get Service Providers

Method name getServiceProviders
Method purpose This method used to return list of service providers that serve in a destination country for a specific service type.
Notes ➢ If service type is CASH: the service providers will present the name of agents or providers in the destination country

➢ If service type is CREDIT: the service providers will present the banks in the destination country

➢ If service type is CASH_TO_DOOR: the service providers will present the delivery agents or providers in the destination country

➢ Some service providers required to select branch, in this case select city and branch will be required in send process.

 

If service type is CREDIT then an object will be returned for bank Info, this will control the required bank fields for each bank in the list

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
serivceType Char 20 Yes see service type table
countryCode Char 3 Yes ISO Alpha-3 (3166), selected destination country code
SendCountryCode Char 3 Conditional ISO Alpha-3, optional only if service type CREDIT

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
ServiceProvidersList Object List of service providers

Field Type Description
serviceProviderCode Char
serviceProviderName Char
requiredBranch Char YES or NO

If No: Payout anywhere

serviceType Char Service type
bankInfo Object

 

Only if service type CREDIT
Field Type Desc
accountNumberLength int
requireIBAN Char YES or

NO

requiredBICORSWIFTCode Char YES or

NO

requiredRoutingNoABA Char YES or

NO

requiredSortCode Char YES or

NO

 

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getServiceProviders>

<countryCode>BHR</countryCode>

<serivceType>CASH</serivceType>

<sendCountryCode>GBR</sendCountryCode>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:getServiceProviders>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getServiceProvidersResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:ServiceProvidersList>

<ns3:serviceProviderCode>21</ns3:serviceProviderCode>

<ns3:serviceProviderName>Test network</ns3:serviceProviderName>

<ns3:requiredBranch>NO</ns3:requiredBranch>

<ns3:serviceType>CASH</ns3:serviceType>

</ns3:ServiceProvidersList>

<ns3:ServiceProvidersList>

<ns3:serviceProviderCode>1</ns3:serviceProviderCode>

<ns3:serviceProviderName>SHIFT Network</ns3:serviceProviderName>

<ns3:requiredBranch>NO</ns3:requiredBranch>

<ns3:serviceType>CASH</ns3:serviceType>

</ns3:ServiceProvidersList>

</return>

</ns2:getServiceProvidersResponse>

</S:Body>

</S:Envelope>

1-3- Get Country Cities

Method name getCountryCities
Method purpose This method used to return list of cities for a specific country

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT

 

userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
countryCode Char 3 Yes ISO Alpha-3 (3166), selected destination country code

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
countryCode Char ISO Alpha-3 (3166)

 

citiesList Object List of cities

Field Type
cityCode int
cityEnglishName char
citySeconderyName char

 

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getCountryCities>

<countryCode>GBR</countryCode>

<agentCode>GB001</agentCode>

<userId>usertest</userId>

<userPassword>[email protected]</userPassword>

</web:getCountryCities>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>

<S:Body>

<ns2:getCountryCitiesResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:citiesList>

<ns3:cityCode>1</ns3:cityCode>

<ns3:cityEnglishName>City En name1</ns3:cityEnglishName>

<ns3:citySeconderyName>City Other name1</ns3:citySeconderyName>

</ns3:citiesList>

<ns3:citiesList>

<ns3:cityCode>15930</ns3:cityCode>

<ns3:cityEnglishName>City En name2</ns3:cityEnglishName>

<ns3:citySeconderyName>City other name2</ns3:citySeconderyName>

</ns3:citiesList>

</return>

</ns2:getCountryCitiesResponse>

</S:Body>

</S:Envelope>

    

1-4- Get Payout Branches

Method name getPayoutBranches
Method purpose This method used to return list of payout branches for a service provider (Agent or

Bank) and required if selected service provider required branches

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
cityCode int 8 Yes Selected city code
serviceProviderCode int 7 Yes Selected service provider code
serviceType Char 20 Yes See service types table

 

 Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
branchesList Object List of locations

Field Type Description
cityCode int
branchCode Char
branchName Char
branchTelephone Char
branchOpeningHours Char
branchAddress Char

 

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getPayoutBranches>

<cityCode>177</cityCode>

<serviceProviderCode>41</serviceProviderCode>

<serviceType>CASH</serviceType>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:getPayoutBranches>

</soapenv:Body>

</soapenv:Envelope>
Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getPayoutBranchesResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>             <ns3:branchesList>

<ns3:cityCode>177</ns3:cityCode>

<ns3:branchCode>EG0020003</ns3:branchCode>

<ns3:branchName>Banque Misr – AL KALAAH</ns3:branchName>

<ns3:branchTelephone>0</ns3:branchTelephone>

<ns3:branchOpeningHours>Sun – Thu  8:30 AM – 5:00 PM</ns3:branchOpeningHours>

<ns3:branchAddress>22 ST AL MASS AL</ns3:branchAddress>

</ns3:branchesList>

<ns3:branchesList>

<ns3:cityCode>177</ns3:cityCode>

<ns3:branchCode>EG0020001</ns3:branchCode>

<ns3:branchName>Banque Misr – CAIRO</ns3:branchName>

<ns3:branchTelephone>0</ns3:branchTelephone>

<ns3:branchOpeningHours>Sun – Thu  8:30 AM – 2:00 PM</ns3:branchOpeningHours>

<ns3:branchAddress>151 ST MOHAMED FARID</ns3:branchAddress>

</ns3:branchesList>

<ns3:branchesList>

<ns3:cityCode>177</ns3:cityCode>

<ns3:branchCode>EG0020002</ns3:branchCode>

<ns3:branchName>Banque Misr – MOSKY – فــرع الموسكــى</ns3:branchName>

<ns3:branchTelephone>0</ns3:branchTelephone>

<ns3:branchOpeningHours>Sun – Thu  8:30 AM – 2:00 PM</ns3:branchOpeningHours>

<ns3:branchAddress>AL AZHER ST DOWN TOWN      شارع الأزهر – وسط البلد</ns3:branchAddress>

</ns3:branchesList>

</return>

</ns2:getPayoutBranchesResponse>

</S:Body>

</S:Envelope>

1-5- Get Paying Currencies

Method name getPayingCurrencies
Method purpose This method used to return list of paying currency for agent source country

 

Request Inputs

 

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT

 

 Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
CurrenciesList Object List of Currencies

Field Type Description
currencyCode Char ISO Alpha-3 (4217), Ex: USD, EUR
currencyName Char

 

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getPayingCurrencies>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:getPayingCurrencies>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getPayingCurrenciesResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>             <ns3:currenciesList>

<ns3:currencyCode>GBP</ns3:currencyCode>

<ns3:currencyName>Pound sterling</ns3:currencyName>

</ns3:currenciesList>

<ns3:currenciesList>

<ns3:currencyCode>USD</ns3:currencyCode>

<ns3:currencyName>United States of America Dollars</ns3:currencyName>

</ns3:currenciesList>

</return>

</ns2:getPayingCurrenciesResponse>

</S:Body>

</S:Envelope>

 

1-6- Get Payout Currencies

Method name getPayoutCurrencies
Method purpose This method used to return list of payout currencies for destination country depends on service type

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getPayoutCurrencies>

<destinationCountryCode>EGY</destinationCountryCode>

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
destinationCountryCode Char 3 Yes Selected destination country
serviceProviderCode int 7 Yes Selected service provider code
serviceType Char 20 Yes See service types table
payoutBranchCode Char 50 Conditional ❖ If the passed service provider required branches then this field is mandatary.

*Data source for this field is getPayoutBranches method

➢ branchesList.branchCode

❖ If the passed service provider not required branches, this field should pass blank.

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
CurrenciesList Object List of Currencies

Field Type Description
currencyCode Char ISO Alpha-3 (4217), Ex: USD, EUR
currencyName Char

 

 

         <serviceProviderCode>41</serviceProviderCode>

<serviceType>CASH</serviceType>

<payoutBranchCode>EG0020003</payoutBranchCode>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:getPayoutCurrencies>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getPayoutCurrenciesResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>             <ns3:currenciesList>

<ns3:currencyCode>EGP</ns3:currencyCode>

<ns3:currencyName>Egyptian Pound</ns3:currencyName>

</ns3:currenciesList>

<ns3:currenciesList>

<ns3:currencyCode>USD</ns3:currencyCode>

<ns3:currencyName>United States of America Dollars</ns3:currencyName>

</ns3:currenciesList>

</return>

</ns2:getPayoutCurrenciesResponse>

</S:Body>

</S:Envelope>

 

 

 

1-7- Get Price

Method name getPrice
Method purpose This method used to calculate remittance financial information as paying amount, payout amount, charges, rates and other information depends on the destination countries and currencies.
Notes NOTE: All optional fields default value will be blank if no data to be filled,              Ex <Field1></Field1>    Object.Field1(“”)

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
serviceType Char 20 Yes See service types table
serviceProviderCode int 7 Yes Selected service provider code
sendCountryCode Char 3 Yes The sending country code of sending agent.
destinationCountryCode Char 3 Yes Selected destination country code
payingCurrencyCode Char 3 Yes Selected paying currency in sending country
payoutCurrencyCode Char 3 Yes Selected payout currency in destination country
payingAmount Decimal 12,2 Yes Optional to pass paying amount or payout amount.

❖ If paying amount filled then payout amount should pass with zero value

❖ (Revers) If payout amount filled paying amount should pass with zero value.

Ex: Paying amount = 100, Payout amount = 0

Paying amount = 0, Payout amount = 140

payoutAmount Decimal 12,2 Yes
chargesIncluded Char 3 Yes Values for this field [YES or NO].

❖  If passed YES (charges will be included with paying amount) then the system will calculate payout amount and charges depends on filled paying amount

❖  This option available only in case paying amount is filled and payout amount is zero

CityCode Int 8 Conditional Selected city code

Mandatory only if selected service provider required branch (requiredBranch = YES) else pass it blank

payoutBranchCode Char 50 Conditional Mandatory only if selected service provider required branch (requiredBranch = YES) else pass it blank
creditCardNumber Char 100 Conditional
promoCode char 50 No Mandatory if customer has available promotion code to get special discount.

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
payingAmount Decimal Paying amount from customer
payoutAmount Decimal Payout amount to beneficiary
payingCurrencyCode Char Paying currency from customer
payoutCurrencyCode Char Payout currency to beneficiary
Charges Decimal Remittance charges
discount Decimal Discount in paying currency / will not deducted from agent share
TaxPercent Decimal Tax percent
TaxAmount Decimal Tax amount in paying currency
totalPayingAmount Decimal Total paying amount from customer

(Paying amount + Charges + Tax amount) – discount

payingToPayoutRate Decimal Customer exchange rate
PayingSettlementRate Decimal Cost rate / Agent rate for send agent
settlementPayingAmount Decimal Paying amount in settlement currency / Agent settlement
SettlementCharges Decimal Remittance charges in settlement currency / Agent settlement
agentChargesShare Decimal Agent charges share in settlement currency / Agent settlement
agentFXChargesShare Decimal Agent FX share in settlement currency / Agent settlement
priceOrderCode Char Price order code

❖ Required to be pass in send remittance method

❖ Price order will be available 10 minutes otherwise it will be expired.

agentDailyLimit Decimal The allowed daily limit for the send agent’s
agentAvailableLimit Decimal Available daily limit for the send agent to send remittances
TaxName char Tax name (hint for the tax name)
settlementDiscount Decimal Discount in settlement currency / will not deducted from agent share

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getPrice>

<serviceType>CASH</serviceType>

<serviceProviderCode>41</serviceProviderCode>

 

         <sendCountryCode>JOR</sendCountryCode>

<destinationCountryCode>EGY</destinationCountryCode>

<payingCurrencyCode>JOD</payingCurrencyCode>

<payoutCurrencyCode>USD</payoutCurrencyCode>

<payingAmount>100</payingAmount>

<payoutAmount></payoutAmount>

<chargesIncluded>NO</chargesIncluded>

<cityCode>177</cityCode>

<payoutBranchCode>EG0020001</payoutBranchCode>

<creditCardNumber></creditCardNumber>

<promoCode></promoCode>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:getPrice>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>

<S:Body>

<ns2:getPriceResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:maxSendLimit>70905.09</ns3:maxSendLimit>

<ns3:remittancePrice>

<ns3:priceOrderCode>568651</ns3:priceOrderCode>

<ns3:payingAmount>100.0</ns3:payingAmount>

<ns3:payoutAmount>141.03</ns3:payoutAmount>

<ns3:payingCurrencyCode>JOD</ns3:payingCurrencyCode>

<ns3:payoutCurrencyCode>USD</ns3:payoutCurrencyCode>

<ns3:charges>2.75</ns3:charges>

<ns3:taxPercent>0.05</ns3:taxPercent>

<ns3:totalPayingAmount>102.75</ns3:totalPayingAmount>

<ns3:payingToPayoutRate>1.410322</ns3:payingToPayoutRate>

<ns3:payingSettlementRate>0.709</ns3:payingSettlementRate>

<ns3:settlementPayingAmount>141.04</ns3:settlementPayingAmount>

<ns3:settlementCharges>3.88</ns3:settlementCharges>

<ns3:agentChargesShare>1.55</ns3:agentChargesShare>

<ns3:agentFXChargesShare>0.0</ns3:agentFXChargesShare>

<ns3:agentDailyLimit>9999999.0</ns3:agentDailyLimit>

<ns3:agentAvailableLimit>9999999.0</ns3:agentAvailableLimit>

<ns3:taxAmount>0.0</ns3:taxAmount>

<ns3:taxName> </ns3:taxName>

<ns3:discount>0.0</ns3:discount>

<ns3:settlementDiscount>0.0</ns3:settlementDiscount>

</ns3:remittancePrice>

</return>

</ns2:getPriceResponse>

</S:Body>

</S:Envelope>

 

 

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
priceOrderCode Char 10 Yes Returned in getPrices method

➢ remittancePrice.priceOrderCode

sender Object Field Type Size Mandatory
customerId Char 11 Conditional Mandatory in case using exist sender
type Int 1 Yes See customer type table accept values (1,2)

1-8- Send Remittance

Method name sendRemittance
Method purpose This method used to create remittance on SHIFT system and returns the RTC, this method request to pass the required remittance information

The response for send remittance may require authentication process (Tow steps mode: Create and authenticate)

Note Send remittance can execute in two scenarios:

•       One step: Send remittance without authenticate (It will ready for payout)

•       Two steps (Creator and authenticator): Authenticate remittance method should call after send remittance

If the resultCode in sendRemittance = 9995 that mean the remittance need authentication by calling Authenticate remittance method

 

If send remittance return result error customer/sender already exist, then agent integrated system should allow to search for customer by using method customer lookup, in this case agent integrated system will pass selected customer Id.

 

NOTE: All optional fields should be passed blank if no data to be filled,

Ex <Field1></Field1>    Object.Field1(“”)

Request Inputs

 

firstName Char 50 Conditional Mandatory if customer

type 1

(Only English)

middelName Char 50 Conditional Mandatory if send country required middle name and customer type 1 (Only English) *If this field not required pleas pass it blank
lastName Char 50 Conditional Mandatory if customer

type 1

(Only English)

enName Char 100 Conditional Mandatory if customer

type 2

(Only English)

telephone Char 20 Conditional Mandatory if mobile is empty

(+ or ++ not accepted)

mobile Char 20 Conditional Mandatory if telephone is empty (+ or ++ not accepted)
email Char 100 No Email should be in correct format if filled
address Char 200 Yes
nationalityCountryCo de Char 3 Yes ISO Alpha-3 (3166)
identityTypeCode int 4 Yes Selected Identity type
identityNumber Char 20 Yes
identityIssuePlace Char 100 Yes
identityIssueDate Date Yes Format: dd/MM/yyyy
identityExpiryDate Date Yes Format: dd/MM/yyyy
birthDateOrEstablishD ate Date Yes Format: dd/MM/yyyy

If sender type is 1 then sender birthday will be passed, if sender type is 2 then company establish date will be passed

birthPlace Char 50 Conditional Mandatory if customer type 1

 

gender Int 1 Conditional Mandatory if customer type 1

See gender types table accept values (1,2)

occupationOrSector Char 100 Yes Depends on customer type

See get Occupations or sector

postalCode Char 50 No
nationalNumber Char 50 No *If this field not required pleas pass it blank
sourceOfFund Char 50 No See get source of fund
receiver Object Field Type Size Mandatory  
receiverID Char 11 No
type Int 1 Yes See customer type table accept values (1,2)
firstName Char 50 Conditional Mandatory if customer type 1 (Only English)
middelName Char 50 Conditional Mandatory if send country required middle

name and customer type

1

(Only English)

*If this field not required pleas pass it blank

lastName Char 50 Conditional Mandatory if customer

type 1

(Only English)

enName Char 100 Conditional Mandatory if customer

type 2

(Only English)

telephone Char 20 Conditional Mandatory if mobile is empty

(+ or ++ not accepted)

mobile Char 20 Conditional Mandatory if telephone is empty

(+ or ++ not accepted)

email Char 100 No Email should be in correct format if filled
address Char 200 Yes

 

  nationalityCountryCo de Char 3 Yes ISO Alpha-3 (3166)
gender int 1 Conditional Mandatory if customer type 1

See gender types table accept values (1,2)

occupationOrSector Char 100 No Depends on customer type

See get Occupations and sectors

relationship Char 50 No See get relationship list
sendReason Char 100 Yes Reason of the remittance
receiverBankAccountNo Char 50 Conditional Mandatory if service type CREDIT

❖ This field may require to pass IBAN instead of AccountNo in case selected service provider is bank and required IBAN

See get service providers

BankInfo:requireIBAN= YES

receiverSwiftBIC Char 50 Conditional Mandatory if service type Credit and in case selected service provider is bank and required

Swift/BIC

See get service providers

BankInfo:requiredBICORSWIFTCode = YES

receiverRoutingNoABA Int 50 Conditional Mandatory if service type Credit and in case selected service provider is bank and required

Routing No or ABA

See get service providers

BankInfo:requiredRoutingNoABA = YES  

receiverSortCode Char 50 Conditional Mandatory if service type Credit and in case selected service provider is bank and required

SortCode

See get service providers

BankInfo:requiredSortCode = YES  

sendMessage Char 100 Conditional A message to the receiver
senderIdDocumentFile BASE64   No Sender Identity attachment. The max size for file is 2MB
senderIdDocumentFileExt ension Char 3 No Mandatory if senderIdDocumentFile is filled

Supported format (png, jpg, pdf)

lstSupprotiveDocuments list   Optional

Max number of documents is 4

 

Note: if there is no supportive document this list tag “lstSupprotiveDocuments“ should not be passed
  Field Type Size Mandatory
documentName Char 100 Document name
imageDocument BASE

64

200 BASE64 format

Max file size 2MB

fileExtention Char 3 allow images  format

(png, jpg, pdf)

 

secretKey Char   Yes MD5 Hashed 128-bit,  use concat the below fields to generator MD5 hash of a string:

–        Sender firstName if sender type 1

–        Sender lastName if sender type 1

–        Sender enName if sender type 2

–        Paying currency code

–        Account number if service type CREDIT

–        Receiver firstName if sender type 1

–        Receiver lastName if sender type 1

–        Sender enName if sender type 2

–        Payout currency code

apiAgentReferenceNumber Char 20 Conditional Required if agent allow to pass his reference number

*Pass it blank if not required.

       

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/” xmlns:apis=”http://xml.netbeans.org/schema/ApiSchema”>

Response outputs

Field Type Description
resultCode Char see return error messages and codes table

 

If the resultCode in sendRemittance = 9995 that mean the remittance need authentication by calling Authenticate remittance method

resultMessage Char
remittaceTrackingCode Char RTC (Remittance tracking code), this field is the tracking code number for the remittance and should be show on voucher.
apiAgentReferenceNumber Char Will be returned if available

 

 

   <soapenv:Header/>

<soapenv:Body>

<web:sendRemittance>

<priceOrderCode>568659</priceOrderCode>

<sender>

<apis:customerId></apis:customerId>

<apis:type>1</apis:type>

<apis:firstName>Rami</apis:firstName>

<apis:middelName></apis:middelName>

<apis:lastName>Sami</apis:lastName>

<apis:enName></apis:enName>

<apis:telephone></apis:telephone>

<apis:mobile>962788888888</apis:mobile>

<apis:email>[email protected]</apis:email>

<apis:address>test address</apis:address>

<apis:nationalityCountryCode>JOR</apis:nationalityCountryCode>

<apis:identityTypeCode>1</apis:identityTypeCode>

<apis:identityNumber>123456</apis:identityNumber>

<apis:identityIssuePlace>amman</apis:identityIssuePlace>

<apis:identityIssueDate>11/11/2018</apis:identityIssueDate>

<apis:identityExpiryDate>11/11/2028</apis:identityExpiryDate>

<apis:gender>1</apis:gender>

<apis:occupationOrSector>Engineer</apis:occupationOrSector>

<apis:postalCode></apis:postalCode>

<apis:birthDateOrEstablishDate>27/02/1980</apis:birthDateOrEstablishDate>

<apis:birthPlace>amman</apis:birthPlace>

<apis:nationalNumber>98411417444</apis:nationalNumber>

</sender>

<receiver>

<apis:receiverId></apis:receiverId>

<apis:type>1</apis:type>

<apis:firstName>Jamal</apis:firstName>

<apis:middelName>Samer</apis:middelName>

<apis:lastName>Yaser</apis:lastName>

<apis:enName></apis:enName>

<apis:telephone></apis:telephone>

<apis:mobile>1258888888</apis:mobile>

<apis:email></apis:email>

<apis:address>test receiver address</apis:address>

<apis:gender>1</apis:gender>

<apis:nationalityCountryCode>EGY</apis:nationalityCountryCode>

<apis:occupationOrSector>Doctor</apis:occupationOrSector>          </receiver>

<sendReason>test</sendReason>

<receiverBankAccountNo></receiverBankAccountNo>

         <receiverSwiftBIC></receiverSwiftBIC>

<receiverRoutingNoABA></receiverRoutingNoABA>

<receiverSortCode></receiverSortCode>

<sendMessage>test message</sendMessage>

<senderIdDocumentFile></senderIdDocumentFile>

<senderIdDocumentFileExtension></senderIdDocumentFileExtension>

<lstSupprotiveDocuments>

<apis:documentName></apis:documentName>

<apis:documentFile></apis:documentFile>

<apis:fileExtension></apis:fileExtension>

</lstSupprotiveDocuments>

<secretKey>469e6008fcee49b9d8cf39e7e32bcbcc</secretKey>

<agentReferenceNumber></agentReferenceNumber>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:sendRemittance>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>

<S:Body>

<ns2:sendRemittanceResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:remittaceTrackingCode>45430102206</ns3:remittaceTrackingCode>

</return>

</ns2:sendRemittanceResponse>

</S:Body>

</S:Envelope>

 

 

 

1-9- Authenticate Remittance

Method name authenticateRemittance
Method purpose This method is required to authenticate remittance after send process in case agent working using two steps mode (creator-authenticator).
 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT

 

 Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
remittancTrackingCode Char 20 Yes Remittance number

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:authenticateRemittance>

<remittancTrackingCode>43043156742</remittancTrackingCode>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:authenticateRemittance>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:authenticateRemittanceResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>          </return>

</ns2:authenticateRemittanceResponse>

</S:Body>

</S:Envelope>

1-10- Reject Remittance

Method name rejectRemittance
Method purpose This method used to reject remittance by agent after send process in case agent working using two steps mode (creator-authenticator).
 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT

 

userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
remittancTrackingCode Char 20 Yes Remittance number

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:rejectRemittance>

<remittancTrackingCode>43043156742</remittancTrackingCode>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:rejectRemittance>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>

<S:Body>

<ns2:rejectRemittanceResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation Successfully</ns3:resultMessage>          </return>

</ns2:rejectRemittanceResponse>

</S:Body>

</S:Envelope>

2- Receive

SHIFT API provides set of web methods for accessing SHIFT API; these methods are required to receive and payout remittance from SHIFT system to Agent system.

The agent should follow the below diagrams to execute receive process

Receive Remittance Flow Diagram – Cash pickup

The below diagram illustrates how receive cash pickup remittance flow work:

 

 

The below diagram illustrates how receive cash pickup remittance flow sequence:

 

 

Receive Remittance Flow Diagram – Account Deposit

The below diagram illustrates how receive credit to account remittance flow work:

 

The below diagram illustrates how receive credit to account remittance flow sequence:

 

 

 

2-1- Get Remittance For receive

Method name getRemittanceForReceive
Method purpose This method used to retrieve remittance information (cash pickup), then lock it to complete receive process.

Agent can retrieve and show remittance info if remittance status is READY “unpaid” and not locked by other users.

 

Note This method retrieves field “receiveOrderCode” and this code should be passed in receive remittance method.

 

Once Agent call this method and retrieve remittance information, the remittance will be available 10 minutes to perform receiving process “calling receiveRemittance”.

 

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Receive agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
remittancTrackingCode Char 20 Yes Remittance number that receiver should provide to agent.

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
remittanceInfo Object Field Type Description
remittanceTrackingCode char
remittanceRecodingDate Date Format: dd/MM/yyyy
sendingCountryCode char ISO Alpha-3 (3166)
destintationCountryCode char ISO Alpha-3 (3166)
PayoutAmount Decimal
payingCurrencyCode char ISO Alpha-3 (4217)
PayoutCurrencyCode char ISO Alpha-3 (4217)
payoutSettlementRate Decimal Cost rate for payout amount, payout currency to settlement currency

 

 

settlementPayoutAmount Decimal Payout amount in settlement currency
remittanceStatus Char Remittance will be available if

current remittance status is READY

receiveOrderCode Char This code should provide in receive remittance method
sendingReason

 

Char

 

 

 

sender Object Field Type Size
senderId Char 11
type Int 1 See type table
  firstName Char 50 Available if sender type 1 (Only English)
middelName Char 50 Available sender type 1 (Only English)
lastName Char 50 Available if sender type 1 (Only English)
enName Char 100 Available if sender type 2 (Only English)
telephone Char 20
mobile Char 20
address Char 200
nationalityCountryCode Char 3 ISO Alpha-3 (3166)
birthDateOrEstablishDate Date Format: dd/MM/yyyy

If sender type is 1 then sender birthday will be available, if sender type is 2 then company establish date will be available

identityTypeCode int
identityTypeName Char
identityNumber Char
receiver Object Field Type Size
receiverId Char 11
type Int 1 See type table
  firstName Char 50 Available if sender type 1 (Only English)
middelName Char 50 Available sender type 1 (Only English)
lastName Char 50 Available if sender type 1 (Only English)
enName Char 100 Available if sender type 2 (Only English)
telephone Char 20
mobile Char 20
address Char 200
nationalityCountryCode Char 3 ISO Alpha-3 (3166)

 

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getRemittanceForReceive>

<remittancTrackingCode>41941038491</remittancTrackingCode>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:getRemittanceForReceive>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getRemittanceForReceiveResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:remittanceInfo>

<ns3:remittanceTrackingCode>41941038491</ns3:remittanceTrackingCode>

<ns3:remittanceRecordingDate>12/07/2020 10:31:44 PM</ns3:remittanceRecordingDate>

<ns3:sendingCountryCode>JOR</ns3:sendingCountryCode>

<ns3:destintationCountryCode>JOR</ns3:destintationCountryCode>

<ns3:payingAmount>0.0</ns3:payingAmount>

<ns3:PayoutAmount>100.0</ns3:PayoutAmount>

<ns3:payoutCurrencyCode>JOD</ns3:payoutCurrencyCode>

<ns3:remittanceStatus>READY</ns3:remittanceStatus>

<ns3:payoutSettlementRate>0.7089</ns3:payoutSettlementRate>

<ns3:settlementPayoutAmount>141.06</ns3:settlementPayoutAmount>

<ns3:receiveOrderCode>I1926761987</ns3:receiveOrderCode>

<ns3:sender>

<ns3:senderId>198408</ns3:senderId>

<ns3:type>1</ns3:type>

<ns3:firstName>Ahmad</ns3:firstName>

<ns3:lastName>Rami</ns3:lastName>

<ns3:telephone/>

<ns3:mobile>00962799999990</ns3:mobile>

<ns3:address>test</ns3:address>

<ns3:nationalityCountryCode>JOR</ns3:nationalityCountryCode>

<ns3:birthDateOrEstablishDate>27/07/1980</ns3:birthDateOrEstablishDate>

<ns3:identityTypeCode>1</ns3:identityTypeCode>

<ns3:identityTypeName>Passport</ns3:identityTypeName>

<ns3:identityNumber>1236587888</ns3:identityNumber>

</ns3:sender>

<ns3:receiver>

<ns3:receiverId>271581</ns3:receiverId>

<ns3:type>1</ns3:type>

<ns3:firstName>Jamal</ns3:firstName>

<ns3:lastName>Hasan</ns3:lastName>

<ns3:telephone/>

<ns3:mobile>224232321312</ns3:mobile>

<ns3:address>test address</ns3:address>

<ns3:nationalityCountryCode>JOR</ns3:nationalityCountryCode>

</ns3:receiver>

<ns3:payingToPayoutRate>0.0</ns3:payingToPayoutRate>

<ns3:sendingReason>Tourism Expenses</ns3:sendingReason>

</ns3:remittanceInfo>

</return>

</ns2:getRemittanceForReceiveResponse>

</S:Body>

</S:Envelope>

 

      

2-2- Receive Remittance

Method name receiveRemittance
Method purpose This method used to complete receive process for cash pickup remittance “payout remittance into receiver by agent”
Note This method required to pass field “receiveOrderCode” that returned from getRemittanceForReceive method.

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Receive Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT

 

remittancTrackingCode Char 20 Yes The number that receiver should provide to agent.
receiveOrderCode Char 10 Yes Provided from getRemittanceForReceive
receiver Object Field Type Size Mandatory
telephone Char 20 Conditional, you can pass same retrieved value from method getRemittanceForReceive (+ or ++ not accepted)
mobile Char 20
email Char 100 No
address Char 200 Yes, you can pass same

retrieved value from

method

getRemittanceForReceive

nationalityCountryCode Char 3 Yes, ISO Alpha-3 (3166), or pass same retrieved value from method getRemittanceForReceive
identityTypeCode int 4 Yes
identityNumber Char 20 Yes
identityIssuePlace Char 100 Yes
identityIssueDate Date Yes,

Format:  dd/MM/yyyy

identityExpiryDate Date Yes,

Format:  dd/MM/yyyy

birthDateOrEstablishDate Date Yes,

Format:  dd/MM/yyyy

birthPlace Char 50 Yes, you can pass same

retrieved value from

method

getRemittanceForReceive

gender int 1 Yes

1: Male, 2 Female or you can pass same

retrieved value from

method

getRemittanceForReceive

occupationOrSector Char 100 Yes, you can pass same

retrieved value from

method

getRemittanceForReceive

postalCode Char 50 No
nationalNumber Char 50 No

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
agentChargesShare Decimal
agentFXChargesShare Decimal

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/” xmlns:apis=”http://xml.netbeans.org/schema/ApiSchema”>

<soapenv:Header/>

<soapenv:Body>

<web:receiveRemittance>

<remittancTrackingCode>41941038491</remittancTrackingCode>          <receiveOrderCode>I1926761987</receiveOrderCode>

<receiver>

<apis:telephone></apis:telephone>

<apis:mobile>9854555555</apis:mobile>

<apis:email></apis:email>

<apis:address>test receiver address</apis:address>

<apis:nationalityCountryCode>JOR</apis:nationalityCountryCode>

<apis:identityTypeCode>1</apis:identityTypeCode>

<apis:identityNumber>12344100014</apis:identityNumber>

<apis:identityIssuePlace>amman</apis:identityIssuePlace>

<apis:identityIssueDate>11/12/2019</apis:identityIssueDate>

<apis:identityExpiryDate>10/12/2024</apis:identityExpiryDate>

<apis:birthDateOrEstablishDate>01/04/1985</apis:birthDateOrEstablishDate>

<apis:gender>1</apis:gender>

<apis:occupationOrSector>Engineer</apis:occupationOrSector>

<apis:birthPlace>amman</apis:birthPlace>

<apis:postalCode></apis:postalCode>

<apis:nationalNumber></apis:nationalNumber>

</receiver>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:receiveRemittance>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>

<S:Body>

<ns2:receiveRemittanceResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:agentChargesShare>2.0</ns3:agentChargesShare>

<ns3:agentFXChargesShare>0.0</ns3:agentFXChargesShare>

</return>

</ns2:receiveRemittanceResponse>

</S:Body>

</S:Envelope>

2-3- Get Ready Account Deposit Remittances List

Method name getReadyAccountDepositRemittancesList
Method purpose This method used get all credit to account remittances (List of RTC’s: remittances numbers) with status READY and sent to the same Agent.

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Receive agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
RemittanceList List of Strings List of Remittance number

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getReadyAccountDepositRemittancesList>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:getReadyAccountDepositRemittancesList>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getReadyAccountDepositRemittancesListResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:remittancesList>46355266381</ns3:remittancesList>             <ns3:remittancesList>42144170400</ns3:remittancesList>          </return>

</ns2:getReadyAccountDepositRemittancesListResponse>

</S:Body>

</S:Envelope>

2-4- Get and Process Account Deposit Remittance

Method name getAndProcessAccountDepositRemittance
Method purpose This method used to retrieve Credit to account remittance information and change remittance status to be IN PROCESS, once agent complete deposit process in his system he should complete receiving process in SHIFT system by calling method PayAccountDepositRemittance

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Receive agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
remittanceTrackingCode Char 20 Yes The number that retrieved from getReadyAccountDepositRemittancesList

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
remittanceInfo Object Field Type Description
remittanceTrackingCode char
remittanceRecordingDate Date Format: dd/MM/yyyy
sendingCountryCode char ISO Alpha-3 (3166)
destintationCountryCode char ISO Alpha-3 (3166)
PayoutAmount Decimal
PayoutCurrencyCode Char
remittanceStatus Char Status READY
payoutSettlementRate Decimal

 

settlementPayoutAmount Decimal
receiveBankName Char Bank name
receiveBranchName Char Branch name
receiveAccountNumber Char Bank account number
otherBank Char YES or NO
receiveBankCode Char Bank code
receiveBranchCode Char Bank branch code
receiveRoutingNumbe Char Routing Number
receiverSortCode Char Sort Code
receiverSwiftBIC Char Swift/BIC
sendingReason Char
sender Object Field Type Description
senderID Char
type Int See type table
firstName Char Available if sender type 1 (Only English)
middleName Char Available sender type 1 (Only English)
lastName Char Available if sender type 1 (Only English)
enName Char Available if sender type 2 (Only English)
telephone Char
mobile Char
address Char
nationalityCountryCode Char ISO Alpha-3 (3166)
birthDateOrEstablishDate Date Format: dd/MM/yyyy
identityTypeCode int
identityTypeName Char
identityNumber Char
receiver Object Field Type Description
receiverID Char
type Int See type table
firstName Char Available if sender type 1 (Only English)
middleName Char Available sender type 1 (Only English)
lastName Char Available if sender type 1 (Only English)
enName Char Available if sender type 2 (Only English)
telephone Char
mobile Char
address Char
nationalityCountryCode Char ISO Alpha-3 (3166)

 

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getAndProcessAccountDepositRemittance>

<remittancTrackingCode>46355266381</remittancTrackingCode>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:getAndProcessAccountDepositRemittance>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getAndProcessAccountDepositRemittanceResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:remittanceInfo>

<ns3:remittanceTrackingCode>46355266381</ns3:remittanceTrackingCode>

<ns3:remittanceRecordingDate>13/07/2020 09:56:09 AM</ns3:remittanceRecordingDate>

<ns3:sendingCountryCode>JOR</ns3:sendingCountryCode>

<ns3:destintationCountryCode>JOR</ns3:destintationCountryCode>

<ns3:payingAmount>0.0</ns3:payingAmount>

<ns3:PayoutAmount>100.0</ns3:PayoutAmount>

<ns3:payoutCurrencyCode>JOD</ns3:payoutCurrencyCode>

<ns3:remittanceStatus>READY</ns3:remittanceStatus>

<ns3:payoutSettlementRate>0.7084</ns3:payoutSettlementRate>

<ns3:settlementPayoutAmount>141.16</ns3:settlementPayoutAmount>

<ns3:sender>

<ns3:senderId>200299</ns3:senderId>

<ns3:firstName>Mohammed</ns3:firstName>

<ns3:lastName>Alsheik</ns3:lastName>

<ns3:telephone/>

<ns3:mobile>962798420540</ns3:mobile>

<ns3:email>[email protected]</ns3:email>

<ns3:address>Test AddressssseeeTRETRETRET</ns3:address>

<ns3:nationalityCountryCode>JOR</ns3:nationalityCountryCode>

<ns3:birthDate>07/11/1979</ns3:birthDate>

<ns3:identityTypeCode>1</ns3:identityTypeCode>

<ns3:identityTypeName>Passport</ns3:identityTypeName>

<ns3:identityNumber>1236587888</ns3:identityNumber>

</ns3:sender>

<ns3:receiver>

<ns3:receiverId>271588</ns3:receiverId>

<ns3:type>1</ns3:type>

<ns3:firstName>Sdfs</ns3:firstName>

<ns3:lastName>Sdf</ns3:lastName>

<ns3:telephone/>

<ns3:mobile>242342332424</ns3:mobile>

<ns3:address>dfdsdsfsd</ns3:address>

<ns3:nationalityCountryCode>JOR</ns3:nationalityCountryCode>

</ns3:receiver>

<ns3:receiveBankName>Arab Bank</ns3:receiveBankName>

<ns3:receiveAccountNumber>3234234234</ns3:receiveAccountNumber>

<ns3:otherBank>YES</ns3:otherBank>

<ns3:payingToPayoutRate>0.0</ns3:payingToPayoutRate>

<ns3:receiveBankCode>A12345</ns3:receiveBankCode>

<ns3:receiveRountringNumber>111110000</ns3:receiveRountringNumber>

<ns3:receiveSortCode>453543543</ns3:receiveSortCode>

<ns3:receiveSwiftBic>BJORJOAX</ns3:receiveSwiftBic>

<ns3:sendingReason>Travel Expenses</ns3:sendingReason>

</ns3:remittanceInfo>

</return>

</ns2:getAndProcessAccountDepositRemittanceResponse>

</S:Body>

</S:Envelope>

 

 

 

2-5- Pay Account Deposit Remittance

Method name PayAccountDepositRemittance
Method purpose This method used to pay “complete receive” credit to account remittance after finish deposit process by agent, this method should be call to change remittance status to be PAID otherwise the remittance status will keep IN PROCESS (in deposit process) until call this method.

 

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Receive agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
remittanceTrackingCode Char 20 Yes

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:PayAccountDepositRemittance>

<remittancTrackingCode>46355266381</remittancTrackingCode>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:PayAccountDepositRemittance>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:PayAccountDepositRemittanceResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>          </return>

</ns2:PayAccountDepositRemittanceResponse>

</S:Body>

</S:Envelope>

 

 

3- SHIFT Utility Web service

3-1- Inquiry Remittance

Method name inquiryRemittance
Method purpose This method used to retrieve remittance information that related to the agent *This method will retrieve data if requested agent execute send or receive of remittance.

 

 Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
remittancTrackingCode Char 20 Yes *The agent can pass apiAgentReferenceNumber if available instead of remittancTrackingCode in this field

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
remittanceInfo Object Field Type Description
remittanceTrackingCode char
remittanceRecodingDate Date Format: dd/MM/yyyy
sendingCountryCode char ISO Alpha-3 (3166)
destintationCountryCode char ISO Alpha-3 (3166)
payingAmount decimal
PayoutAmount decimal
payingCurrencyCode Char
PayoutCurrencyCode Char
remittanceStatus Char
sendingReason Char
payingSettlementRate Decimal
payoutSettlementRate Decimal
settlementPayingAmount Decimal
settlementPayoutAmount Decimal
payingToPayoutRate Decimal
receiveBankName Char

 

receiveBankCode Char
receiveAccountNumber Char
receiveBankBranchCode Char
receiveCityName Char
serviceType char
  apiAgentReferenceNumber    Char

 

Will returned if available

 

sender Object Field Type Description
senderId Char
type Int See type table
firstName Char Available if sender type 1 (Only English)
middleName Char Available sender type 1 (Only English)
lastName Char Available if sender type 1 (Only English)
enName Char Available if sender type 2 (Only English)
telephone Char
mobile Char
address Char
nationalityCountryCode Char ISO Alpha-3 (3166)
birthDateOrEstablishDate Date Format: dd/MM/yyyy
identityTypeCode int
identityTypeName Char
identityNumber Char
identityIssuePlace Char
identityExpiryDate Date dd/MM/yyyy
receiver Object Field Type Description
receiverId Char
type Int See type table
firstName Char Available if sender type 1 (Only English)
middleName Char Available sender type 1 (Only English)
lastName Char Available if sender type 1 (Only English)
enName Char Available if sender type 2 (Only English)
telephone Char
mobile Char
address Char
nationalityCountryCode Char ISO Alpha-3 (3166)
identityTypeCode int
identityTypeName Char
identityNumber Char
identityIssuePlace Char
identityExpiryDate Date dd/MM/yyyy

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:inquiryRemittance>

<remittancTrackingCode>43827107816</remittancTrackingCode>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:inquiryRemittance>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>

<S:Body>

<ns2:inquiryRemittanceResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:remittanceInfo>

<ns3:remittanceTrackingCode>43598199835</ns3:remittanceTrackingCode>

<ns3:apiAgentReferenceNumber></ns3:apiAgentReferenceNumber>

<ns3:remittanceRecordingDate>13/07/2020 11:03:30 AM</ns3:remittanceRecordingDate>

<ns3:sendingCountryCode>JOR</ns3:sendingCountryCode>

<ns3:destintationCountryCode>EGY</ns3:destintationCountryCode>

<ns3:payingAmount>0.0</ns3:payingAmount>

<ns3:PayoutAmount>1080.99</ns3:PayoutAmount>

<ns3:payoutCurrencyCode>EGP</ns3:payoutCurrencyCode>

<ns3:remittanceStatus>PAIDOUT</ns3:remittanceStatus>

<ns3:payoutSettlementRate>15.95</ns3:payoutSettlementRate>

<ns3:settlementPayoutAmount>67.77</ns3:settlementPayoutAmount>

<ns3:settlementPayingAmount>0.0</ns3:settlementPayingAmount>

<ns3:payingSettlementRate>0.0</ns3:payingSettlementRate>

<ns3:sender>

<ns3:senderId>198420</ns3:senderId>

<ns3:type>1</ns3:type>

<ns3:firstName>Ahmad</ns3:firstName>

<ns3:lastName>Qudimat</ns3:lastName>

<ns3:mobile>0096799923341</ns3:mobile>

<ns3:address>amman</ns3:address>

<ns3:nationalityCountryCode>JOR</ns3:nationalityCountryCode>

<ns3:birthDateOrEstablishDate>27/02/1980</ns3:birthDateOrEstablishDate>

<ns3:identityTypeCode >1</ns3:identityTypeCode >

<ns3:identityTypeName >Passport</ns3:identityTypeName >

<ns3:identityNumber >123123</ns3:identityNumber >

<ns3:identityIssuePlace >issuer place</ns3:identityIssuePlace >

<ns3:identityExpiryDate >27/02/2025</ns3:identityExpiryDate >

</ns3:sender>

<ns3:receiver>

<ns3:receiverId>271593</ns3:receiverId>

<ns3:type>1</ns3:type>

<ns3:firstName>Sami</ns3:firstName>

<ns3:middelName>Moha</ns3:middelName>

<ns3:lastName>Dawwod</ns3:lastName>

<ns3:mobile>2011123455555</ns3:mobile>

<ns3:address>test</ns3:address>

<ns3:nationalityCountryCode>EGY</ns3:nationalityCountryCode>

<ns3:identityTypeCode >1</ns3:identityTypeCode >

<ns3:identityTypeName >Passport</ns3:identityTypeName >

<ns3:identityNumber >123123</ns3:identityNumber >

<ns3:identityIssuePlace >issuer place</ns3:identityIssuePlace >

<ns3:identityExpiryDate >27/02/2025</ns3:identityExpiryDate >

</ns3:receiver>

<ns3:receiveAccountNumber>00/2011123455555</ns3:receiveAccountNumber>

<ns3:payingToPayoutRate>0.0</ns3:payingToPayoutRate>

<ns3:sendingReason>Study Expenses</ns3:sendingReason>

</ns3:remittanceInfo>

</return>

</ns2:inquiryRemittanceResponse>

</S:Body>

</S:Envelope>

 

 

3-2- Get Remittance status

Method name getRemittanceStatus
Method purpose This method used to retrieve current remittance status from SHIFT system

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
remittancTrackingCode Char 20 Yes *The agent can pass apiAgentReferenceNumber if available instead of remittancTrackingCode in this field

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
remittanceStatus Char Status Description
READY Remittance sent and available to payout
PAIDOUT Remittance paid
CANCELED Send reversal
REFUNDED Refund
FREEZED Over 45 rule
SUSPENDED Paused
BLOCKED Fund reservation
UNDER CHECK Under Check
IN PROCESS

 

In process

 

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getRemittanceStatus>

<remittancTrackingCode>46355266381</remittancTrackingCode>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

      </web:getRemittanceStatus>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getRemittanceStatusResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:remittanceStatus>PAIDOUT</ns3:remittanceStatus>          </return>

</ns2:getRemittanceStatusResponse>

</S:Body>

</S:Envelope>

3-3- Agent Suspend Remittance

Method name agentSuspendRemittance
Method purpose This method used to suspend remittance that send from agent, Remittance will stay in suspend status until agent call reinstate suspend remittance method.

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
remittancTrackingCode Char 20 Yes
reason Char 200 Yes Reason of suspend remittance

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:agentSuspendRemittance>

<remittancTrackingCode>40957140070</remittancTrackingCode>

<reason>test reason</reason>

 

3-4- Agent Reinstate Suspended Remittance

Method name agentReinstateSuspendRemittance
Method purpose This method used to reinstate suspended remittance by agent.

 

         <agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:agentSuspendRemittance>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:agentSuspendRemittanceResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>          </return>

</ns2:agentSuspendRemittanceResponse>

</S:Body>

</S:Envelope>

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:agentReinstateSuspendRemittance>

<remittancTrackingCode>40957140070</remittancTrackingCode>

 Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
remittancTrackingCode Char 20 Yes
reason Char 200 Yes Reason of reinstate suspend remittance

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char

 

3-5- Get Agent Remittances List

Method name getAgentRemittancesList
Method purpose This method used to retrieve executed remittances list by the agent.

 

         <reason>test reason</reason>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:agentReinstateSuspendRemittance>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:agentReinstateSuspendRemittanceResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>          </return>

</ns2:agentReinstateSuspendRemittanceResponse>

</S:Body>

</S:Envelope>

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
fromDate Date Yes Format: dd/MM/yyyy
toDate Date Yes Format: dd/MM/yyyy

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
remittanceTrackingCode Char
status Char
serviceType Char
recordingDate Date Format: dd/MM/yyyy
payoutDate Date Format: dd/MM/yyyy
payingAmount Decimal Paying amount from customer
payoutAmount Decimal Payout amount to beneficiary
payingCurrencyCode Char Paying currency from customer
payoutCurrencyCode Char Payout currency to beneficiary
Charges Decimal Remittance charges
TaxPercent Decimal Tax percent
totalPayingAmount Decimal Total paying amount from customer
payingToPayoutRate Decimal Customer exchange rate
payingSettlementRate Decimal Cost rate for paying amount
payoutSettlementRate Decimal Cost rate for payout amount
settlementPayingAmount Decimal Paying amount in settlement currency
settlementPayoutAmount Decimal Payout amount in settlement currency
SettlementCharges Decimal Remittance charges in settlement currency
agentChargesShare Decimal Agent charges charge in settlement currency
agentFXChargesShare Decimal Agent fx share in settlement currency
senderName Char The full name of sender
receiverName Char The full name of receiver
sendingCountry Char
receivingCountry Char
TaxAmount Decimal Tax amount in paying currency
sendingReason Char
apiAgentReferenceNumber Char Will returned if available

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getAgentRemittancesList>

<fromDate>10/07/2020</fromDate>

<toDate>13/07/2020</toDate>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:getAgentRemittancesList>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getAgentRemittancesListResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

 

 

            <ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:agentRemittancesList>

<ns3:remittanceTrackingCode>25885075399</ns3:remittanceTrackingCode>

<ns3:status>READY</ns3:status>

<ns3:recordingDate>12/07/2020 10:17:01 AM</ns3:recordingDate>

<ns3:payingAmount>10.0</ns3:payingAmount>

<ns3:payoutAmount>0.0</ns3:payoutAmount>

<ns3:payingCurrencyCode>JOD</ns3:payingCurrencyCode>

<ns3:charges>10.0</ns3:charges>

<ns3:taxPercent>0.05</ns3:taxPercent>

<ns3:totalPayingAmount>20.5</ns3:totalPayingAmount>

<ns3:payingToPayoutRate>0.0</ns3:payingToPayoutRate>

<ns3:payingSettlementRate>0.709</ns3:payingSettlementRate>

<ns3:payoutSettlementRate>0.0</ns3:payoutSettlementRate>

<ns3:settlementPayingAmount>14.1</ns3:settlementPayingAmount>

<ns3:settlementPayoutAmount>0.0</ns3:settlementPayoutAmount>

<ns3:settlementCharges>14.1</ns3:settlementCharges>

<ns3:agentChargesShare>4.94</ns3:agentChargesShare>

<ns3:agentFXChargesShare>0.32</ns3:agentFXChargesShare>

<ns3:senderName>Ali  Khalil</ns3:senderName>

<ns3:receiverName>Gfg  Fdgfd</ns3:receiverName>

<ns3:sendingCountry>JOR</ns3:sendingCountry>

<ns3:receivingCountry>LTU</ns3:receivingCountry>

<ns3:serviceType>CASH</ns3:serviceType>

<ns3:taxAmount>0.5</ns3:taxAmount>

<ns3:sendingReason>Study Expenses</ns3:sendingReason>

</ns3:agentRemittancesList>

<ns3:agentRemittancesList>

<ns3:remittanceTrackingCode>41282198157</ns3:remittanceTrackingCode>

<ns3:status>IN PROCESS</ns3:status>

<ns3:recordingDate>12/07/2020 02:30:50 PM</ns3:recordingDate>

<ns3:payingAmount>100.0</ns3:payingAmount>

<ns3:payoutAmount>0.0</ns3:payoutAmount>

<ns3:payingCurrencyCode>JOD</ns3:payingCurrencyCode>

<ns3:charges>3.55</ns3:charges>

<ns3:taxPercent>0.05</ns3:taxPercent>

<ns3:totalPayingAmount>103.73</ns3:totalPayingAmount>

<ns3:payingToPayoutRate>0.0</ns3:payingToPayoutRate>

<ns3:payingSettlementRate>0.709</ns3:payingSettlementRate>

<ns3:payoutSettlementRate>0.0</ns3:payoutSettlementRate>

<ns3:settlementPayingAmount>141.04</ns3:settlementPayingAmount>

<ns3:settlementPayoutAmount>0.0</ns3:settlementPayoutAmount>

<ns3:settlementCharges>5.0</ns3:settlementCharges>

<ns3:agentChargesShare>1.75</ns3:agentChargesShare>

<ns3:agentFXChargesShare>0.07</ns3:agentFXChargesShare>

<ns3:senderName>Jaber  Khames</ns3:senderName>

<ns3:receiverName>Jamal  Ammar</ns3:receiverName>

<ns3:sendingCountry>JOR</ns3:sendingCountry>

<ns3:receivingCountry>PHL</ns3:receivingCountry>

<ns3:serviceType>CASH</ns3:serviceType>

<ns3:taxAmount>0.18</ns3:taxAmount>

<ns3:sendingReason>Tourism Expenses</ns3:sendingReason>

</ns3:agentRemittancesList>

</return>

</ns2:getAgentRemittancesListResponse>

</S:Body>

</S:Envelope>

 

3-6- Get Identities Types

Method name getIdentities
Method purpose This method used to return list of available Identities types depends on agent country and customer nationality.
Notes Identities classified to citizen, Foreign and companies Identities depends on agent source country and customer nationality and customer type, if customer nationality same as source country then the system will return Identities for citizens else the

Identities for foreign

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
customerType Int 1 Yes See customer type table accept values (1,2)
countryCode Char 3 Yes ISO Alpha-3 (3166) / Agent source country
nationality Char 3 Yes ISO Alpha-3 (3166) / Sender nationality

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
IdentitiesList Object List of Identities

Field Type Size
identityTypeCode int 4
identityName Char 100
identitySeconderyName Char 100

 

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getIdentities>

<customerType>1</customerType>

<countryCode>JOR</countryCode>

<nationality>JOR</nationality>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:getIdentities>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>

<S:Body>

<ns2:getIdentitiesResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>             <ns3:IdentitiesList>

<ns3:identityTypeCode>1</ns3:identityTypeCode>

<ns3:identityName>Passport</ns3:identityName>

<ns3:identitySeconderyName>جواز سفر</ns3:identitySeconderyName>

</ns3:IdentitiesList>

<ns3:IdentitiesList>

<ns3:identityTypeCode>3</ns3:identityTypeCode>

<ns3:identityName>Driving License</ns3:identityName>

<ns3:identitySeconderyName>رخصة القيادة</ns3:identitySeconderyName>

</ns3:IdentitiesList>

</return>

</ns2:getIdentitiesResponse>

</S:Body>

</S:Envelope>

3-7- Change User Password

Method name changeUserPassword
Method purpose This method used to change api user password, we recommend to change the provided password at the 1st time.

 

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
newPassword Char 30 Yes User new password should contain at least eight alphanumeric characters and should not match last five used passwords
confirmNewPassword Char 30 Yes Confirm new password

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:changeUserPassword>

<newPassword>a12345678</newPassword>

<confirmNewPassword>a12345678</confirmNewPassword>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:changeUserPassword>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:changeUserPasswordResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>          </return>

</ns2:changeUserPasswordResponse>

</S:Body>

</S:Envelope>

3-8- Modify Receiver

Method name modifyReceiver
Method purpose This method used to modify remittance receiver info if remittance status allowed the process “Status Ready”.

The agent can modify any field in receiver object, only need modify fields required to be passed in the request.

Note If any field send with blank tag that mean this field have a new value “blank” and the field value will be changed to blank.

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
remittancTrackingCode Char 20 Yes
receiver Object Field Type Size Mandatory
firstName Char 50 Yes, if customer type 1 (Only English)
middelName Char 50 Yes, if send country required middle name and customer type 1 (Only English)
lastName Char 50 Yes, if customer type 1 (Only English)
enName Char 100 Yes, if customer type 2 (Only English)
telephone Char 20 *One of these fields is mandatory

(+ or ++ not accepted)

mobile Char 20
email Char 100 No
address Char 200 Yes
nationalityCountryCode Char 3 Yes
gender int 1 Yes if customer type 1 See gender types table accept values (1,2)
occupationOrSector

 

Char

 

100

 

See get Occupations or sector

 

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/” xmlns:apis=”http://xml.netbeans.org/schema/ApiSchema”>

<soapenv:Header/>

<soapenv:Body>

<web:modifyReceiver>

<remittancTrackingCode></remittancTrackingCode>

<receiver>

<apis:receiverId></apis:receiverId>

<apis:type></apis:type>

<apis:firstName></apis:firstName>

<apis:middelName></apis:middelName>

<apis:lastName></apis:lastName>

<apis:enName></apis:enName>

<apis:telephone></apis:telephone>

<apis:mobile></apis:mobile>

<apis:email></apis:email>

<apis:address></apis:address>

<apis:gender></apis:gender>

<apis:nationalityCountryCode></apis:nationalityCountryCode>

<apis:occupationOrSector></apis:occupationOrSector>          </receiver>

<agentCode></agentCode>

<userId></userId>

<userPassword></userPassword>

</web:modifyReceiver>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>

<S:Body>

<ns2:modifyReceiverResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>          </return>

</ns2:modifyReceiverResponse>

</S:Body>

</S:Envelope>

 

3-9- Modify Sender

Method name modifySender
Method purpose This method used to modify remittance sender info if remittance status allowed the process “Status Ready”.

The agent can modify any field in sender object, only need modify fields required to be passed in the request.

Note if any field send with blank tag that mean this field have a new value “blank” and the field value will be changed to blank.

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
remittancTrackingCode Char 20 Yes
sender Object Field Type Size Mandatory
firstName Char 50 Yes, if customer type 1

(Only English)

middelName Char 50 Yes, if send country required middle name and customer type 1 (Only English)
lastName Char 50 Yes, if customer type 1

(Only English)

enName Char 100 Yes, if customer type 2

(Only English)

telephone Char 20 One of these fields is mandatory (+ or ++ not accepted)
mobile Char 20
email Char 100 No
address Char 200 Yes
nationalityCountryCode Char 3 Yes
identityTypeCode int 4 Yes
identityNumber Char 20 Yes
identityIssuePlace Char 100 Yes
identityIssueDate Date Yes    dd/MM/yyyy
identityExpiryDate Date Yes    dd/MM/yyyy
birthDateOrEstablish Date Yes    dd/MM/yyyy
birthPlace Char 50 Yes, if customer type 1
gender int 1 Yes, if customer type 1

See gender types table

accept values (1,2)

occupationOrSector Char 100 Yes
postalCode Char 50 No
nationalNumber Char 50 No

 

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/” xmlns:apis=”http://xml.netbeans.org/schema/ApiSchema”>

<soapenv:Header/>

<soapenv:Body>

<web:modifySender>

<remittancTrackingCode></remittancTrackingCode>

<sender>

<apis:firstName></apis:firstName>

<apis:middelName></apis:middelName>

<apis:lastName></apis:lastName>

<apis:enName></apis:enName>

<apis:telephone></apis:telephone>

<apis:mobile></apis:mobile>

<apis:email></apis:email>

<apis:address></apis:address>

<apis:nationalityCountryCode></apis:nationalityCountryCode>

<apis:identityTypeCode></apis:identityTypeCode>

<apis:identityNumber></apis:identityNumber>

<apis:identityIssuePlace></apis:identityIssuePlace>

<apis:identityIssueDate></apis:identityIssueDate>

<apis:identityExpiryDate></apis:identityExpiryDate>

<apis:gender></apis:gender>

            <apis:occupationOrSector></apis:occupationOrSector>

<apis:postalCode></apis:postalCode>

<apis:birthDateOrEstablish></apis:birthDateOrEstablish>

<apis:birthPlace></apis:birthPlace>

<apis:nationalNumber></apis:nationalNumber>

</sender>

<agentCode></agentCode>

<userId></userId>

<userPassword></userPassword>

</web:modifySender>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>

<S:Body>

<ns2:modifySenderResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>          </return>

</ns2:modifySenderResponse>

</S:Body>

</S:Envelope>

        

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
remittancTrackingCode Char 20 Yes
receiver Object Field Type Size Mandatory
identityTypeCode int 4 Yes, Selected Identity type
identityNumber Char 20 Yes
identityIssuePlace Char 100 Yes

3-10- Refund Remittane

Method name refundRemittance
Method purpose This method used to refund remittance if remittance status allowed the process.
Note The sender will lose his charges if remittance refunded.

Customer Identity required in this operation

 

Request Inputs

 

identityIssueDate Date Yes    dd/MM/yyyy
identityExpiryDate Date Yes    dd/MM/yyyy

 

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/” xmlns:apis=”http://xml.netbeans.org/schema/ApiSchema”>

<soapenv:Header/>

<soapenv:Body>

<web:refundRemittance>

<remittancTrackingCode>49670088378</remittancTrackingCode>

<receiver>

<apis:identityTypeCode>1</apis:identityTypeCode>

<apis:identityNumber>45644410011</apis:identityNumber>

<apis:identityIssuePlace>amman</apis:identityIssuePlace>

<apis:identityIssueDate>10/03/2018</apis:identityIssueDate>

<apis:identityExpiryDate>09/03/2023</apis:identityExpiryDate>          </receiver>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>a12345678</userPassword>

</web:refundRemittance>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>

<S:Body>

<ns2:refundRemittanceResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>          </return>

</ns2:refundRemittanceResponse>

</S:Body>

</S:Envelope>

     

3-11-  Add Customer

Method name addCustomer
Method purpose This method used to create new customer, this process will create customer profile Id and the customer can use it later, the agent can use lookup by customer Id to retrieve customer information.

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
Customer Object Field Type Size Mandatory
type Int 1 See customer type table accept values (1,2)
firstName Char 50 Mandatory if customer

type 1

(Only English)

middelName Char 50 Mandatory if send country required middle name and customer type 1 (Only English) *If this field not required pleas pass it blank
lastName Char 50 Mandatory if customer

type 1

(Only English)

enName Char 100 Mandatory if customer

type 2

(Only English)

telephone Char 20 One of these fields is mandatory

(+ or ++ not accepted)

mobile Char 20
email Char 100 No
address Char 200 Yes
nationalityCountryCode Char 3 Yes, ISO Alpha-3 (3166)
identityTypeCode int 4 Yes, Selected Identity type
identityNumber Char 20 Yes
identityIssuePlace Char 100 Yes
identityIssueDate Date Yes, Format:  dd/MM/yyyy
identityExpiryDate Date Yes, Format:  dd/MM/yyyy
birthDateOrEstablishDate Date Yes, Format:  dd/MM/yyyy
birthPlace Char 50 Yes or No depends on destination
gender int 1 Mandatory if customer type 1

See gender types table accept values (1,2)

occupationOrSector Char 100 Yes, Depends on customer type

See get Occupations or sector

postalCode Char 50 No
nationalNumber Char 50 No

*If this field not required pleas pass it blank

sourceOfFund Char 50 See get source of fund

 

 Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
CustomerId Int Customer Id: for new customer or exist customer in case system return error 9304 “Error Invalid Input Data customer already exists”

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/” xmlns:apis=”http://xml.netbeans.org/schema/ApiSchema”>

<soapenv:Header/>

<soapenv:Body>

<web:addCustomer>

<customer>

 

            <apis:type>1</apis:type>

<apis:firstName>Lama</apis:firstName>

<apis:middelName>Zak</apis:middelName>

<apis:lastName>Jamal</apis:lastName>

<apis:enName></apis:enName>

<apis:telephone></apis:telephone>

<apis:mobile>07888888</apis:mobile>

<apis:email></apis:email>

<apis:address>test address</apis:address>

<apis:nationalityCountryCode>JOR</apis:nationalityCountryCode>

<apis:identityTypeCode>1</apis:identityTypeCode>

<apis:identityNumber>528710122</apis:identityNumber>

<apis:identityIssuePlace>Amman</apis:identityIssuePlace>

<apis:identityIssueDate>15/03/2017</apis:identityIssueDate>

<apis:identityExpiryDate>14/03/2022</apis:identityExpiryDate>

<apis:gender>2</apis:gender>

<apis:occupationOrSector>Doctor</apis:occupationOrSector>

<apis:postalCode></apis:postalCode>

<apis:birthDateOrEstablishDate>11/01/2020</apis:birthDateOrEstablishDate>

<apis:birthPlace>amman</apis:birthPlace>

<apis:nationalNumber>9850114444</apis:nationalNumber>

<apis:sourceOfFund></apis:sourceOfFund>

</customer>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>a12345678</userPassword>

</web:addCustomer>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>

<S:Body>

<ns2:addCustomerResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:customerId>31243367</ns3:customerId>

</return>

</ns2:addCustomerResponse>

</S:Body>

</S:Envelope>

3-12- Modify Customer

Method name modifyCustomer

 

Method purpose This method used to modify some customer info.

The agent can modify some field in customer object, only modified fields required to be passed in the request.

Note If any field send with blank tag that mean this field have a new value “blank” and the field value will be changed to blank.

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
sender Object Field Type Size Mandatory
CustomerId Char 11 Yes
telephone Char 20 One of these fields is mandatory (+ or ++ not accepted)
mobile Char 20
birthDateOrEstablishDate Char Yes, Format:

DD/MM/YYYY

address Char 200 Yes
gender Int 1 Mandatory if customer type 1 See gender types table

accept values (1,2)

occupationOrSector Char 100 Yes, Depends on customer type See get

Occupations or sector

postalCode Char 50 No

 

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char

        

Soap Request

<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

   <soapenv:Header/>

<soapenv:Body>

<web:modifyCustomer>

<customerId>30545692</customerId>

<telephone>876544333</telephone>

<mobile>44444444</mobile>

<address>test</address>

<gender>1</gender>

<occupationOrSector>doctor</occupationOrSector>

<postalCode>12345</postalCode>

<birthDateOrEstablishDate>11/11/2019</birthDateOrEstablishDate>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>a12345678</userPassword>

</web:modifyCustomer>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>

<S:Body>

<ns2:modifyCustomerResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:customerId>0</ns3:customerId>

</return>

</ns2:modifyCustomerResponse>

</S:Body>

</S:Envelope>

 

3-13- Customer Lookup

Method name customerLookup
Method purpose This method used to get customer info

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
customerId Int 8 Conditional Customer Id
identityTypeCode Int 4 Conditional These two fields should pass in case search by identity number
identityNumber Char 20 Conditional

 

nationalityCountryCode Char 3 Conditional ISO Alpha-3 (3166), These two fields should pass in case search by national number
nationalNumber char 50 Conditional
mobile char 20 Conditional

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
Customer Object Field Type Size Mandatory
Id Int 8
type Int 1 See customer type table
firstName Char 50
middelName Char 50
lastName Char 50
enName Char 100
telephone Char 20
mobile Char 20
email Char 100
address Char 200
nationalityCountryCode Char 3
identityTypeCode int 4
identityNumber Char 20
identityIssuePlace Char 100
identityIssueDate Date dd/MM/yyyy
identityExpiryDate Date dd/MM/yyyy
birthDateOrEstablishDate Date dd/MM/yyyy
birthPlace Char
gender int 1 1: Male, 2 Female
occupationOrSector Char
postalCode Char
nationalNumber Char

 

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:customerLookup>

<customerId>30545692</customerId>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>a12345678</userPassword>

</web:customerLookup>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>

<S:Body>

<ns2:customerLookupResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:customerId>0</ns3:customerId>

<ns3:customer>

<ns3:id>30545692</ns3:id>

<ns3:type>1</ns3:type>

<ns3:firstName>Lama</ns3:firstName>

<ns3:middelName>Zak</ns3:middelName>

<ns3:lastName>Jamal</ns3:lastName>

<ns3:telephone>876544333</ns3:telephone>

<ns3:mobile>44444444</ns3:mobile>

<ns3:address>test</ns3:address>

<ns3:nationalityCountryCode>JOR</ns3:nationalityCountryCode>

<ns3:identityTypeCode>1</ns3:identityTypeCode>

<ns3:identityNumber>528710444443122</ns3:identityNumber>

<ns3:identityIssuePlace>Amman</ns3:identityIssuePlace>

<ns3:identityIssueDate>01/01/1970</ns3:identityIssueDate>

<ns3:identityExpiryDate>15/03/2017</ns3:identityExpiryDate>

<ns3:gender>1</ns3:gender>

<ns3:occupationOrSector>doctor</ns3:occupationOrSector>

<ns3:postalCode>12345</ns3:postalCode>

<ns3:birthDateOrEstablishDate>11/11/2019</ns3:birthDateOrEstablishDate>

<ns3:birthPlace>amman</ns3:birthPlace>

</ns3:customer>

</return>

</ns2:customerLookupResponse>

</S:Body>

</S:Envelope>

Method name getSettlementReport
Method purpose This method used to get agent settlement report

        

3-14-  Get Settlement Report

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
fromDate Char Yes Date Format: dd/MM/yyyy
toDate Char Yes Date Format: dd/MM/yyyy

 

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getSettlementReport>

</S:Body>

</S:Envelope>

 

 

3-15- Get Outstanding Remittances

Method name getOutstandingRemittancesList
Method purpose This method used to get outstanding remittances for point to point remittances. This method required special permission to receive agent.

 

 Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userID Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
destinationCountryCode Char 3 Yes The destination country code, ISO Alpha3
serviceType Char 20 Yes See service types table

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
remittanceOutstandingList Object Type Description Type
remittanceTrackingCode char
apiAgentReferenceNumber Char Will returned if available
recordingDate Date dd/MM/yyyy
payoutAmount Decimal
payoutCurrencyCode char ISO Alpha3
senderName char
receiverName char
receiverMobile char
serviceType Char CASH or CREDIT

 

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getOutstandingRemittancesList>

<destinationCountryCode>EGY</destinationCountryCode>

<serviceType>CASH</serviceType>

<agentCode>GB001</agentCode>

<userId>testuser</userId>

<userPassword>testpass</userPassword>

</web:getOutstandingRemittancesList>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getOutstandingRemittancesListResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:remittanceOutstandingList>

<ns3:remittanceTrackingCode>41687184901</ns3:remittanceTrackingCode>

<ns3:recordingDate>13/08/2018 09:37:04 AM</ns3:recordingDate>

<ns3:payoutAmount>102.0</ns3:payoutAmount>

<ns3:payoutCurrencyCode>JOD</ns3:payoutCurrencyCode>

<ns3:senderName>Sender name test</ns3:senderName>

<ns3:receiverName>receiver name test</ns3:receiverName>

<ns3:receiverMobile>009620000</ns3:receiverMobile>

<ns3:serviceType>CASH</ns3:serviceType>

</ns3:remittanceOutstandingList>

</return>

</ns2:getOutstandingRemittancesListResponse>

</S:Body>

</S:Envelope>

 

3-16- Get Country Info

Method name getCountryInfo
Method purpose This method used to retrieve country information (general restrictions and rules)

 

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
countryCode Char 3 Yes ISO Alpha3

Response Output

 

CountryInfo Object Field Type Description
legalAge Int
generalRules Char
restrictions Char
idLimit Int
sendingLimitCashPickup Int
receivingLimitCashPickup Int
sendingLimitAccountDiposit Int
receivingLimitAccountDiposit Int
sendingLimitCashToDoor Int
receivingLimitCashToDoor Int
taxPercent decimal
taxNameEnglish Char
taxNameSecondary Char
taxInfo Char

 

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getCountryInfo>

<countryCode>JOR</countryCode>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>a12345678</userPassword>

</web:getCountryInfo>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>

<S:Body>

<ns2:getCountryInfoResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>             <ns3:CountryInfo>

<ns3:legalAge>18</ns3:legalAge>

<ns3:taxPercent>0.05</ns3:taxPercent>

<ns3:generalRules>- Weekend: Friday – The receiving currency: JOD and USD Public Holidays:

1 January                New Year

  • Thou Al Hejja Yawm Arafah
  • Thou Al Hejja Eid Al Adha

1 Moharram             New Hijri Year

12 Rabee’ Awal      Memory of Prophet Mohammad’s Birth

1 May                       Labour Day

25 May                      Independence Day of Jordan

25 December           Christmas

</ns3:generalRules>

<ns3:restrictions>Legal Age:       18

Maximum Amount to send for each remittance:    20,000 USD

Maximum Amount to recieve for each remittance:    20,000 USD</ns3:restrictions>

<ns3:idLimit>0</ns3:idLimit>

<ns3:sendingLimitCashPickup>99999</ns3:sendingLimitCashPickup>

<ns3:receivingLimitCashPickup>99999</ns3:receivingLimitCashPickup>

<ns3:sendingLimitAccountDeposit>99999</ns3:sendingLimitAccountDeposit>

<ns3:receivingLimitAccountDeposit>99999</ns3:receivingLimitAccountDeposit>

<ns3:sendingLimitCashToDoor>99999</ns3:sendingLimitCashToDoor>

<ns3:receivingLimitCashToDoor>99999</ns3:receivingLimitCashToDoor>

<ns3:taxNameEnglish>VAT</ns3:taxNameEnglish>

<ns3:taxNameSecondary></ns3:taxNameSecondary>

<ns3:taxInfo>VAT depends on order number 5646546 2018 jo.gov</ns3:taxInfo>

</ns3:CountryInfo>

</return>

</ns2:getCountryInfoResponse>

</S:Body>

</S:Envelope>

 

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
remittancTrackingCode Char 20 Yes Country ISO Alpha3
lstSupprotiveDocuments object 4 Max number of documents is 4
Field Type Size Mandatory

 

 

3-17- add Supportive Documents

Method name addSupportiveDocuments
Method purpose This method used to add extra supportive documents to remittance.
Note Adding supportive documents will be available only if SHIFT operations request it.

 

Request Inputs

documentName Char 100 Document name
documentFile BASE64 200 BASE64 format

Max file size

2MB

fileExtention Char 3 allowed file  format

(png, jpg, pdf)

 

 

 

Response Output

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/” xmlns:apis=”http://xml.netbeans.org/schema/ApiSchema”>

<soapenv:Header/>

<soapenv:Body>

<web:addSupportiveDocuments>

<remittancTrackingCode>42331177296</remittancTrackingCode>

<lstSupprotiveDocuments>

<apis:documentName>test</apis:documentName>

<apis:documentFile>ASDDSFDSFXCVXVCX</apis:documentFile>

<apis:fileExtension>PDF</apis:fileExtension>

</lstSupprotiveDocuments>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>a12345678</userPassword>

</web:addSupportiveDocuments>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:addSupportiveDocumentsResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

</return>

</ns2:addSupportiveDocumentsResponse>

</S:Body>

</S:Envelope>

 

 

3-18- Get Agent Announcements

Method name getAgentAnnouncements
Method purpose This method used to load agent announcements that send from SHIFT operations.

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT

 

Response Output

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
AgentAnnouncemetsList Object Field Type Description
id Int
title Char
body Char
status Char New, Read

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getAgentAnnouncements>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>a12345678</userPassword>

</web:getAgentAnnouncements>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getAgentAnnouncementsResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:AgentAnnouncemetsList>

<ns3:id>1443569</ns3:id>

<ns3:title>test now</ns3:title>

<ns3:body>test now</ns3:body>

<ns3:status>New</ns3:status>

</ns3:AgentAnnouncemetsList>

</return>

</ns2:getAgentAnnouncementsResponse>

</S:Body>

</S:Envelope>

 

 

3-19- Read Announcement

Method name readAnnouncement
Method purpose This method used to read announcement and change status to Read

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
announcementId Int 10 Yes Announcement Id

 

Response Output

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:readAnnouncement>

<announcementId>1443569</announcementId>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>a12345678</userPassword>>

</web:readAnnouncement>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:readAnnouncementResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>          </return>

</ns2:readAnnouncementResponse>

</S:Body>

</S:Envelope>

 

3-20- Get Occupations or Sectors

Method name getOccupationsOrSectors
Method purpose This method used to return list of customers occupations and sectors depends on customer type.

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
customerType Char 20 Yes see customer types table

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
name Object List of occupation and sector providers

Field Type Description
name Char

 

 

 

 

   <soapenv:Body>

<web:getOccupationsOrSectors>

<customerType>1</customerType>

<agentCode>GB001</agentCode>

<userId>qahmad</userId>

<userPassword>123123</userPassword>

</web:getOccupationsOrSectors>

</soapenv:Body>

</soapenv:Envelope>

 

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getOccupationsOrSectorsResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:name>Doctor</ns3:name>

<ns3:name>Pharmacist</ns3:name>

<ns3:name>Engineer</ns3:name>

<ns3:name>Consultant</ns3:name>

<ns3:name>Officer</ns3:name>

<ns3:name>Lawyer</ns3:name>

<ns3:name>Teacher</ns3:name>

<ns3:name>Accountant</ns3:name>             <ns3:name>Mechanical</ns3:name>

<ns3:name>Trader</ns3:name>

<ns3:name>Student</ns3:name>

<ns3:name>Employee with a contract</ns3:name>

<ns3:name>Self Employed</ns3:name>

<ns3:name>Unemployed</ns3:name>

<ns3:name>Retired</ns3:name>

<ns3:name>Chef</ns3:name>

<ns3:name>Pilot</ns3:name>

<ns3:name>Driver</ns3:name>

<ns3:name>Technical</ns3:name>

<ns3:name>Artist</ns3:name>             <ns3:name>Fitter</ns3:name>

<ns3:name>Media</ns3:name>

<ns3:name>Farmer</ns3:name>

</return>

</ns2:getOccupationsOrSectorsResponse>

</S:Body>

</S:Envelope>

 

 

3-21- Get Source Of Fund List

Method name getSourceOfFundList
Method purpose This method used to return list of customers source of fund

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
name Object List of source of fund

Field Type Description
name Char

 

 

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getSourceOfFundList>

<agentCode> </agentCode>

<userId> </userId>

<userPassword> </userPassword>

</web:getSourceOfFundList>

   </soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getSourceOfFundListResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode></ns3:resultCode>

<ns3:resultMessage> </ns3:resultMessage>

<ns3:name></ns3:name>

</return>

</ns2:getSourceOfFundListResponse>

</S:Body>

</S:Envelope>

 

3-22- Get Relationship List

Method name getRelationshipList
Method purpose This method used to return list of customers Relationship List

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
name Object List of relationship

Field Type Description
name Char

 

 

Soap Request

<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getRelationshipList>

<agentCode> </agentCode>

<userId> </userId>

<userPassword> </userPassword>

</web:getRelationshipList>

</soapenv:Body>

</soapenv:Envelope>

 

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getRelationshipListResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode></ns3:resultCode>

<ns3:resultMessage> </ns3:resultMessage>

<ns3:name> </ns3:name>

</return>

</ns2:getRelationshipListResponse>

</S:Body>

</S:Envelope>

3-23- Get Paying Currency Exchange Rate

Method name getPayingExhangeRate
Method purpose This method used to return rate paying currency rate to USD

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
serviceType Char 20 Yes See service types table
payingCurrencyCode Char 3 Yes ISO Alpha3
sendCountryCode Char 3 Yes ISO Alpha3

 

destinationCountryCode Char 3 Yes ISO Alpha3

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
ExchangeRate Object Field Type Description
payingCurrencyCode Char
payingExchangeRate Decimal
payingExchangeRateInverse Decimal

 

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getPayingExhangeRate>

<serviceType>CASH</serviceType>

<payingCurrencyCode>EUR</payingCurrencyCode>

<sendCountryCode>LTU</sendCountryCode>

<destinationCountryCode>QAT</destinationCountryCode>

<agentCode>GB001</agentCode>

<userId>apitest</userId>

<userPassword>kt2p9td3</userPassword>

</web:getPayingExhangeRate>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getPayingExhangeRateResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:ExchangeRate>

<ns3:payingExchangeRate>0.83</ns3:payingExchnageRate>

<ns3:payingExchangeRateInverse>1.204819</ns3:payingExchnageRateInverse>

<ns3:payingCurrencyCode>EUR</ns3:payingCurrencyCode>

</ns3:ExchangeRate>

</return>

</ns2:getPayingExhangeRateResponse>

</S:Body>

</S:Envelope>

 

3-24- Get Payout Currency Exchange Rate

Method name getPayoutExhangeRate
Method purpose This method used to return rate payout currency rate to USD

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
serviceType Char 20 Yes See service types table
payoutCurrencyCode Char 3 Yes ISO Alpha3
sendCountryCode Char 3 Yes ISO Alpha3
destinationCountryCode Char 3 Yes ISO Alpha3

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
ExchangeRate Object Field Type Description
payoutCurrencyCode Char
payoutExchangeRate Decimal
payoutExchangeRateInverse Decimal

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getPayoutExhangeRate>

<serviceType>CASH</serviceType>

         <payoutCurrencyCode>EUR</payoutCurrencyCode>

<sendCountryCode>QAT</sendCountryCode>

<destinationCountryCode>LTU</destinationCountryCode>

<agentCode>GB001</agentCode>

<userId>apitest</userId>

<userPassword>kt2p9td3</userPassword>

</web:getPayoutExhangeRate>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getPayoutExhangeRateResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:ExchangeRate>

<ns3:payoutExchangeRate>0.83</ns3:payoutExchnageRate>

<ns3:payoutExchangeRateInverse>1.204819</ns3:payoutExchnageRateInverse>

<ns3:payoutCurrencyCode>EUR</ns3:payoutCurrencyCode>

</ns3:ExchangeRate>

</return>

</ns2:getPayoutExhangeRateResponse>

</S:Body>

</S:Envelope>

 

Field Type Size Mandatory Description

3-25- Get Customer Pending Remittances

Method name getCustomerPendingRemittances
Method purpose This method used to return all pending remittances created in loyalty system for customer

** This method needs a privilege to be used

 

Request Inputs

 

agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
customerID int 11 Yes
sendCountryCode Char 3 Yes ISO Alpha3

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
getRemittanceList List<GetRemittance>

 

Field Type Description
referenceId int Must be used in send customer pending remittances
remittancePrice RemittancePrice object
sendingCountryCode Char
receivingCountryCode Char
cause Char
serviceType Char
receivingCityId int
sender Sender object
receiver                              Receiver object

 

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:getCustomerPendingRemittances>

<customerId>30997420</customerId>

<sendCountryCode>JOR</sendCountryCode>

<agentCode>GB001</agentCode>

<userId>mazzi</userId>

<userPassword>123123</userPassword>

</web:getCustomerPendingRemittances>

</soapenv:Body>

</soapenv:Envelope>

 

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:getCustomerPendingRemittancesResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:getRemittanceList>

<ns3:referenceId>502</ns3:referenceId>

<ns3:remittancePrice>

<ns3:priceOrderCode>0</ns3:priceOrderCode>

<ns3:payingAmount>30.0</ns3:payingAmount>

<ns3:payoutAmount>356.94</ns3:payoutAmount>

<ns3:payingCurrencyCode>AUD</ns3:payingCurrencyCode>

<ns3:payoutCurrencyCode>EGP</ns3:payoutCurrencyCode>

<ns3:charges>23.74</ns3:charges>

<ns3:taxPercent>0.05</ns3:taxPercent>

<ns3:totalPayingAmount>53.74</ns3:totalPayingAmount>

<ns3:payingToPayoutRate>11.898005</ns3:payingToPayoutRate>

<ns3:payingSettlementRate>1.478342</ns3:payingSettlementRate>

<ns3:settlementPayingAmount>20.29</ns3:settlementPayingAmount>

<ns3:settlementPayoutAmount>0.0</ns3:settlementPayoutAmount>

<ns3:settlementCharges>16.06</ns3:settlementCharges>

<ns3:agentChargesShare>0.0</ns3:agentChargesShare>

<ns3:agentFXChargesShare>0.0</ns3:agentFXChargesShare>

<ns3:agentDailyLimit>0.0</ns3:agentDailyLimit>

<ns3:agentAvailableLimit>0.0</ns3:agentAvailableLimit>

<ns3:taxAmount>1.19</ns3:taxAmount>

<ns3:discount>0.0</ns3:discount>

<ns3:settlementDiscount>0.0</ns3:settlementDiscount>

</ns3:remittancePrice>

<ns3:sendCountryCode>JOR</ns3:sendCountryCode>

<ns3:destinationCountryCode>EGY</ns3:destinationCountryCode>

<ns3:cause>Special Occasions</ns3:cause>

<ns3:serviceType>CASH</ns3:serviceType>

<ns3:receivingCityId>0</ns3:receivingCityId>

 

               <ns3:sender>

<ns3:customerId>30997420</ns3:customerId>

<ns3:type>1</ns3:type>

<ns3:firstName>Mohannad</ns3:firstName>

<ns3:lastName>Azzi</ns3:lastName>

<ns3:mobile>798708751</ns3:mobile>

<ns3:email>[email protected]</ns3:email>

<ns3:address>Amman</ns3:address>

<ns3:nationalityCountryCode>JOR</ns3:nationalityCountryCode>

<ns3:identityTypeCode>3</ns3:identityTypeCode>

<ns3:identityNumber>125558</ns3:identityNumber>

<ns3:identityIssuePlace>Amman</ns3:identityIssuePlace>

<ns3:identityExpiryDate>27/05/2037</ns3:identityExpiryDate>

<ns3:gender>1</ns3:gender>

<ns3:occupationOrSector>Pharmacist</ns3:occupationOrSector>

<ns3:birthDateOrEstablishDate>17/05/1988</ns3:birthDateOrEstablishDate>

<ns3:birthPlace>Amman</ns3:birthPlace>

<ns3:nationalNumber>1231231231</ns3:nationalNumber>

<ns3:sourceOfFund>Test</ns3:sourceOfFund>

</ns3:sender>

<ns3:receiver>

<ns3:receiverId>0</ns3:receiverId>

<ns3:type>1</ns3:type>

<ns3:firstName>Asdf</ns3:firstName>

<ns3:middelName>Asdf</ns3:middelName>

<ns3:lastName>Asdf</ns3:lastName>

<ns3:address>asdfasfdasfdasdfa</ns3:address>

<ns3:gender>1</ns3:gender>

</ns3:receiver>

<ns3:accountDepositId>0</ns3:accountDepositId>

</ns3:getRemittanceList>

</return>

</ns2:getCustomerPendingRemittancesResponse>

</S:Body>

</S:Envelope>

 

3-26- Send Pending Customer Remittance

Method name sendPendingCustomerRemittance
Method purpose This method used to Send pending remittance created in loyalty system for customer

 

** This method needs a privilege to be used

 

Request Inputs

Field Type Size Mandatory Description
agentCode Char 5 Yes Send Agent code assigned by SHIFT
userId Char 20 Yes User ID assigned by SHIFT
userPassword Char 30 Yes User password assigned by SHIFT
customerID int 11 Yes
referenceId int 11 Yes
secretKey Char Yes MD5 Hashed 128-bit,  use concat the below fields to generator MD5 hash of a string:

–       Sender firstName if sender type 1

–       Sender lastName if sender type 1

–       Sender enName if sender type 2

–       Paying currency code

–       Account number if service type CREDIT

–       Receiver firstName if sender type 1

–       Receiver lastName if sender type 1

–       Sender enName if sender type 2

–       Payout currency code

 

Response outputs

Field Type Description
resultCode Char see return error messages and codes table
resultMessage Char
remittaceTrackingCode Char RTC (Remittance tracking code), this field is the tracking code number for the remittance and should be show on voucher.
apiAgentReferenceNumber Char

 

Soap Request
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webservice/”>

<soapenv:Header/>

<soapenv:Body>

<web:sendPendingCustomerRemittance>

         <customerId>30997420</customerId>

<referenceId>497</referenceId>

<secretKey>5266197f91e19035f8a81bb4e019f556</secretKey>

<agentCode>GB001</agentCode>

<userId>mazzi</userId>

<userPassword>123123</userPassword>

</web:sendPendingCustomerRemittance>

</soapenv:Body>

</soapenv:Envelope>

Soap Response
<S:Envelope xmlns:S=”http://schemas.xmlsoap.org/soap/envelope/”>    <S:Body>

<ns2:sendPendingCustomerRemittanceResponse xmlns:ns2=”http://webservice/” xmlns:ns3=”http://xml.netbeans.org/schema/ApiSchema”>

<return>

<ns3:resultCode>9000</ns3:resultCode>

<ns3:resultMessage>Operation successfully</ns3:resultMessage>

<ns3:remittaceTrackingCode>49940072473</ns3:remittaceTrackingCode>

<ns3:apiAgentReferenceNumber>49940072473</ns3:apiAgentReferenceNumber>

</return>

</ns2:sendPendingCustomerRemittanceResponse>

</S:Body>

</S:Envelope>

 

 

 

 

 

 

Customer Types Table

Code Type
1 Individual
2 Company

Gender Types Table

Code Type
1 Male
2 Female

Service Types Table

Type Description
CASH Cash pickup
CREDIT Bank account credit
CASH_TO_DOOR Cash to door delivery

Return Result Messages and Errors

Result Code      Result Message 
9000 Operation successfully
9002 Error Inactive user
9005 Error Service not available
9006 Error Inactive agent
9007 Error Inactive location
9011 Error Remittance amount exceeded send country limit
9012 Error Remittance amount exceeded destination country limit
9013 Error Inactive corridor no prices info available
9014 Error Agent exceeded daily limit
9015 Error Location exceed daily limit
9016 Error Illegal age
9017 Error Remittance is locked and under seeing by another user
9018 Error Remittance not available
9019 Error Invalid User Id or password
9031 Error User has no privileges to perform this operation
9032 Error New password should not match last five used passwords
9034 Error Agent not found
9038 Error Remittance status not available to proceed. Current status is
9050 Error Inactive receiving country

 

9063          Error Corridor not available for entered inputs.  No prices info available

9067          Error Receive location code ins inactive

9079          Error Invalid remittancetracking code

9080 Error Remittance iscanceled
9081 Error Remittance already paid
9083 Error Remittance amount exceedsLimit
9084 Error Insufficient funds to process
9085 Error Price order expired
9086 Error Remittance is not requested for receive
9089 Error remittance status not allow
9201 Error Invalid Input Data user Id
9202 Error Invalid Input Data User Password
9203 Error Invalid Input Data agent code
9204 Error Invalid Input Data service type
9205 Error Invalid Input Data country code
9206 Error Invalid Input Data city code
9207 Error Invalid Input Data bank code
9208 Error Invalid Input Data send country code
9209 Error Invalid Input Data paying currency code
9210 Error Invalid Input Data destination country code
9211 Error Invalid Input Data payout currency code
9212 Error Invalid Input Data Receive Agent Code
9213 Error Invalid Input Data Payout Branch Code
9214 Error Invalid Input Data remittance send reason
9215 Error Invalid Input Data receive bank account number
9216 Error Invalid Input Data receive bank branch code
9217 Error Invalid Input Data receive city code
9218 Error Invalid Input Data price order code
9219 Error Invalid Input Data send message
9220 Error Invalid Input Data no sender data provided
9221 Error Invalid Input Data no receiver data provided
9222 Error Invalid Input Data sender first name
9223 Error Invalid Input Data sender middle name
9224 Error Invalid Input Data sender last name
9225 Error Invalid Input Data sender telephone
9226 Error Invalid Input Data sender mobile
  • Error Invalid Input Data sender email
  • Error Invalid Input Data sender address
  • Error Invalid Input Data sender nationality country code
  • Error Invalid Input Data sender identity code
  • Error Invalid Input Data sender identity number
9232 Error Invalid Input Data sender identity issue place
9233 Error Invalid Input Data sender identity expiry date
9234 Error Invalid Input Data sender date/Establish date
9235 Error Invalid Input Data receiver first name
9236 Error Invalid Input Data receiver middle name
9237 Error Invalid Input Data receiver last name
9238 Error Invalid Input Data receiver telephone
9239 Error Invalid Input Data receiver mobile
9240 Error Invalid Input Data receiver email
9241 Error Invalid Input Data receiver address
9242 Error Invalid Input Data receiver nationality country code
9243 Error Invalid Input Data remittance tracking code
9244 Error Invalid Input Data from date or to date
9245 Error Invalid Input Data sender identity issue date
9246 Error Invalid Input Data receive bank code
9247 Error Invalid Input Data receive bank account number length
9248 Error Invalid Input Data charges included
9249 Error Invalid Input Data paying amount
9250 Error Invalid Input Data payout amount
9251 Error Invalid Input Data paying or payout amount must provided
9252 Error Invalid Input Data telephone or mobile must provide for sender
9253 Error Invalid Input Data telephone or mobile must provide for receiver
9254 Error Invalid Input Data receiver identity number
9255 Error Invalid Input Data receiver identity issue place
9256 Error Invalid Input Data receiver identity expiry date
9257 Error Invalid Input Data receiver birth date
9258 Error Invalid Input Data new password
9259 Error Invalid Input Data confirm new password
9260 Error Invalid Input Data new password or confirm new password should contain at least eight alphanumeric characters
9261 Error Invalid Input Data confirm new password doesn’t match new password
9262 Error Invalid Input Data third party bank name
9263 Error Invalid Input Data third party bank branch name
  • Error Invalid Input Data third party bank branch code
  • Error Invalid Input Data IBAN
  • Error Invalid Input Data charges Included field not available for receiving agent
  • Error Invalid Input Data receive order code
  • Error Remittance Status not allowed for proceed
9269 Error Invalid Input Data receiver identity issue date
9270 Error Included charges not allowed and it should be NO
9271 Error Invalid Input Data reason
9272 Error Invalid Input Data operator name “Should filled on thirdPartyBankBranchName”
9273 Error Invalid Input Data service provider code
9275 Error Invalid Input Data invalid Swift/BIC code
9276 Error Receiver gender must be either 1 for male or 2 for female
9277 Error Sender gender must be either 1 for male or 2 for female
9278 Error Invalid Input Data occupation/sector
9279 Error Invalid sender postal code
9280 Error Invalid receiver postal code
9281 Error Routing number required
9282 Error Sort code required
9283 Modify not allowed for account deposit
9284 Error receiver mobile must be 10 digits
9285 Error Invalid Input Data credit card number
9290 Error Sending amount must be more than charges
9291 Error bank payment mode should be credit to card
9292 Error bank payment mode should be credit to account or credit to any bank
9304 Error Invalid Input Data customer already exists
9305 Error Invalid Input Data sender English name
9306 Error Invalid Input Data customer first name
9307 Error Invalid Input Data customer middle name
9308 Error Invalid Input Data customer last name
9309 Error Invalid Input Data customer telephone
9310 Error Invalid Input Data customer mobile
9311 Error Invalid Input Data customer email
9312 Error Invalid Input Data customer address
9313 Error Invalid Input Data customer nationality country code
9314 Error Invalid Input Data customer identity code
9315 Error Invalid Input Data customer identity number
9316 Error Invalid Input Data customer identity issue place
9317 Error Invalid Input Data customer identity expiry date
  • Error Invalid Input Data customer birth date/Establish date
  • Error Invalid Input Data customer English name

 

  • Error Invalid Input Data telephone or mobile must provide for customer
  • Error Invalid Input Data customer identity issue date
  • Error Invalid Input Data occupation/sector
9323 Error Invalid customer postal code
9324 Error customer gender must be either 1 for male or 2 for female
9325 Error Invalid Input Data customer ID
9326 Error customer not found
9327 Error Invalid Input Data from date
9328 Error Invalid Input Data to date
9329 Error Report period max one month
9330 Error Interval “from date” should be less than or equal “to date”
9331 Error Interval “from date” or “to date” should not be more than today
9332 Error Invalid Input Data Promotion Code
9333 Error Invalid Input Data invalid sender type
9334 Error Invalid Input Data invalid receiver type
9335 Error Invalid Input Data sender English name
9336 Error Invalid Input Data receiver occupation/sector
9337 Error Invalid Input Data Main Info Changed
9338 Error not Allow Send Remittance for Companies
9339 Error Invalid Input Data Not Allowed Sender Id Image
9340 Error Invalid Input Data Sender Id Image Exceed limit 2 MB
9341 Error Invalid Input Data Sender Id Image BASE64
9342 Error Invalid Input Data Sender Id Image extension
9343 Error Invalid Input Data Supportive Document name
9344 Error Invalid Input Data Supportive Image extension
9345 Error exceeded number of documents, Maximum number 4
9346 Error Invalid Input Data Secret Key
9347 Error Invalid Input Data supportive documents
9348 Error Invalid Input Data Announcement Id
9349 Error Invalid Input Data customer establish date
9350 Error Invalid Agent Id
9351 Error Invalid Input Data invalid customer type
9352 Error validate BDC account number
9353 Error Invalid Input Data fill at least one input
9354 Error Invalid Input Data should fill identity code and identity number
9355 Error Invalid Input Data should fill nationality country code and national number
  • Error while get price, please contact SHIFT for more support
  • Error Invalid Input Data should pick source of income from list
  • Error Invalid Input Data should pick relationship from list
    • Error system is busy try again later
    • Operation successfully and need authentication
9997 Error: Other error description
9998 Unknown Error: Invalid Input Data
9999 Operation failed
9360 Error Invalid Input Data agent reference or agent reference not allowed
9361  Error Invalid Input Data agent reference already exists
9362 Error Invalid Input Data sender birth place
9363 Error Invalid Input Data receiver birth place
9364 Error Invalid Input Data customer birth place
9368 Error Invalid Input Data Sender Middle Name Not Required
9369 Error Invalid Input Data Receiver Middle Name Not Required
9370 Error Invalid Input Data Sender National Number
9371 Error Invalid Input Data Sender National Number Not Required

 

 

Deliverables and Integration Plan

SHIFT API implementation project will pass through the below phases:

 

Phase Deliverable Team Responsible
Initiation Project Charter SHIFT API Support
Technical API documents SHIFT API Support
Development Technical Design Completion SHIFT API Support & Agent IT
Development Completion SHIFT API Support & Agent IT
SIT SIT results SHIFT API Support & Agent IT
UAT UAT results SHIFT Operation& Agent IT
UAT Sign off document SHIFT Business & Agent Business
Go Live Live Credentials SHIFT Operation & Agent Operation
Test transactions if required  SHIFT Operation& Agent Operation

SHIFT Financial Services Ltd.

Regional office Tel: +962 6 59 33 091

Fax: +962 6 59 22 322       

Email: [email protected]

Website: www.shiftsg.com

 

 

 

Disclaimer The contents of this document are for general information only and do not constitute professional advice. Whilst SHIFT Financial Services Ltd makes every effort to maintain the accuracy of the information in this document, it cannot accept responsibility for any claim, loss or damage which may occur from the use of the information. The reader assumes full responsibility for using the information in this document.

Copyright The content of these pages, unless otherwise stated, is the property of SHIFT Financial Services Ltd and as such is copyright protected. All rights reserved. Material may not be copied, republished or redistributed, in full or in part, for commercial purposes or gain.