Leadspedia |
New Terminology |
Retreaver |
AddContractFromOfferEndPoint = $"{APIVersion}callRoutingContracts/addToOffer.do";
requestUri = $"{BaseURL}{AddContractFromOfferEndPoint}?contractID={contractID}&offerID={offerID}&priority={priority}"
response = success/false
|
Add Target to Campaign
*
|
curl -s -X PUT \
https://api.retreaver.com/campaigns/cid/={offerId}.json \
-H "Content-Type: application/json" \
-d '{
"campaign":{
"menu_options_attributes": [{
"option": "1",
"target_cid": "{contractID}"
"priority": "{priority}"
}
]
}
}'
|
ChangeCallContractStatusEndPoint = $"{APIVersion}callRoutingContracts/changeStatus.do";
requestUri = $"{BaseURL}{ChangeCallContractStatusEndPoint}?contractID={contractID}&status={status}"
response = success/false
|
Pausing the Target
NOTE: We do not have InActive status
|
curl -s -X PUT \
https://api.retreaver.com/targets/tid/{contractId}.json \
-H "Content-Type: application/json" \
-d '{"target":{"paused":true}}'
|
CreateCallContractEndPoint = $"{APIVersion}callRoutingContracts/create.do";
requestUri = $"{BaseURL}{CreateCallContractEndPoint}?advertiserID={advertiserID}&contractName={contractName}&defaultPrice={defaultPrice}&verticalID={verticalID}";
response = contractId
|
Create a Target
NOTE: We should add verticalId and advertiserID (which is probably buyer Group)
|
curl -s -X POST \
https://api.retreaver.com/targets.json?api_key=woofwoofwoof&company_id=1 \
-H "Content-Type: application/json" \
-d '{
"target":{
"number":"+18668987878",
"name":"{contractName}",
"conversion_groups": [
{
"conversions": [{
"revenue": {defaultPrice}
}]
}
]
}
}'
|
EnableCallContractCreditEndPoint = $"{APIVersion}callRoutingContracts/enableCredit.do";
requestUri = $"{BaseURL}{EnableCallContractCreditEndPoint}?contractID={contractID}&buyerLevel={buyerLevel}"
response = success/false
|
Pause Target
|
curl -s -X PUT \
https://api.retreaver.com/targets/tid/{contractId}.json \
-H "Content-Type: application/json" \
-d '{"target":{"paused":true}}'
|
GetAllCallContractEndPoint = $"{APIVersion}callRoutingContracts/getAll.do";
requestUri = https://api.leadspedia.com/core/v2/callRoutingContracts/getAll.do?limit=100&start=0
response = contractID, contractName, contractType, status, createdOn, revenueModel, price,mode, buyerID, buyerName, verticalID, verticalName, isCreditEnabled, creditLevel, credit
|
Get all Targets
|
curl "https://api.retreaver.com/targets.json?api_key=woofwoofwoof&company_id=1"
|
GetBillableTransferCapInfoEndPoint = $"{APIVersion}callRoutingContracts/getBillableTransfersCapInfo.do";
requestUri = $"{BaseURL}{GetBillableTransferCapInfoEndPoint}?contractID={contractID}"
response = contractId, contractName, hourlyBillableCap, dailyBillableCap, weeklyBillableCap,monthlyBillableCap
|
Get Target
|
curl "https://api.retreaver.com/targets.json?api_key=woofwoofwoof&company_id=1"
|
GetCallContractEndPoint = $"{APIVersion}callRoutingContracts/getBasicInfo.do";
requestUri = $"{BaseURL}{GetCallContractEndPoint}?contractID={contractID}"
response = contractID, buyerID, verticalID, status, mode, transferPhoneNumber, transferPrice,transferRevenueModel, transferCallDuration, contractType, contractName, alternativeID,expirationDate, notes, createdOn, buyerName, verticalName
|
Get all Targets
|
curl "https://api.retreaver.com/targets.json?api_key=woofwoofwoof&company_id=1"
|
GetCallRevenueCapInfoEndPoint = $"{APIVersion}callRoutingContracts/getRevenueCapInfo.do";
requestUri = $"{BaseURL}{GetCallRevenueCapInfoEndPoint}?contractID={contractID}
response = contractID, contractName, hourlyRevenueCap, dailyRevenueCap,weeklyRevenueCap, monthlyRevenueCap
|
We don't manage revenue caps. We manage connection and conversion caps.
A target could have a connection or a conversion cap.
This should be introduced.
|
----
|
GetTransferCapInfoEndPoint = $"{APIVersion}callRoutingContracts/getTransfersCapInfo.do";
requestUri = $"{BaseURL}{GetTransferCapInfoEndPoint}?contractID={contractID}"
response = contractID, contractName, hourlyTransfersCap, dailyTransfersCap,weeklyTransfersCap, monthlyTransfersCap
|
We don't manage transfer caps. We manage connection and conversion caps.
A target could have a connection or a conversion cap.
This should be introduced.
|
|
RemoveCallContractFromOfferEndPoint = $"{APIVersion}callRoutingContracts/removeContractFromOffer.do";
requestUri = $"{BaseURL}{RemoveCallContractFromOfferEndPoint}?contractID={contractID}&offerID={offerID}"
response = success/false
|
Remove Target from Campaign. Update the campaign menu_options to a new list with _delete property
|
curl -s -X PUT \
https://api.retreaver.com/campaigns/cid/={offerId}.json \
-H "Content-Type: application/json" \
-d '{
"campaign":{
"menu_options_attributes": [{
"option": "1",
"target_cid": "{contractID}"
"_delete": true
}
]
}
}'
|
UpdateBillableTransferCapEndPoint = $"{APIVersion}callRoutingContracts/updateBillableTransfersCap.do";
requestUri = https://api.leadspedia.com/core/v2/callRoutingContracts/updateBillableTransfersCap.do?contractID=116&dailyBillableCap=101&hourlyBillableCap=102&monthlyBillableCap=103&weeklyBillableCap=104
response = success/false
|
Update Target Conversion Caps
|
curl -s -X PUT \
https://api.retreaver.com/targets/22592.json \
-H "Content-Type: application/json" \
-d '{
"target": { \
"hard_cap_attributes": { \
"cap": 100 \
"type": "Daily"
} \
}' \
}'
|
UpdateCallContractEndPoint = $"{APIVersion}callRoutingContracts/updateBasicInfo.do";
requestUri = https://api.leadspedia.com/core/v2/callRoutingContracts/updateBasicInfo.do?contractID=116&contractName=Test%20Contract%201¬es=Testing
response = success/false
|
Update Target. NOTE: There isn't a notes field, but could be added.
|
curl -s -X PUT \
https://api.retreaver.com/targets/tid/{contractId}.json \
-H "Content-Type: application/json" \
-d '{"target":{"paused":true}}'
|
UpdateRevenueCapEndPoint = $"{APIVersion}callRoutingContracts/updateRevenueCap.do";
requestUri = https://api.leadspedia.com/core/v2/callRoutingContracts/updateRevenueCap.do?contractID=116&dailyRevenueCap=201&hourlyRevenueCap=202&monthlyRevenueCap=203&weeklyRevenueCap=204
response = success/false
|
We do connection and conversions caps. We could introduce a revenue cap if needed.
|
|
UpdateRevenueModelEndPoint = $"{APIVersion}callRoutingContracts/updateRevenueModel.do";
requestUri = https://api.leadspedia.com/core/v2/callRoutingContracts/updateRevenueModel.do?contractID=116&duration=120&price=111.11&revenueModel=Duration
response = success/false
|
Update Target Conversion Groups. NOTE - Not sure what this revenueModel Duration is and how to use it.
|
curl -s -X POST \
https://api.retreaver.com/targets.json?api_key=woofwoofwoof&company_id=1 \
-H "Content-Type: application/json" \
-d '{
"target":{
"number":"+18668987878",
"name":"{contractName}",
"conversion_groups": [
{
"conversions": [{
"revenue": {defaultPrice},
"seconds": {120}
}]
}
]
}
}'
|
UpdateTransferCapEndPoint = $"{APIVersion}callRoutingContracts/updateTransfersCap.do";
requestUri = https://api.leadspedia.com/core/v2/callRoutingContracts/updateTransfersCap.do?contractID=116&dailyTransfersCap=10&hourlyTransfersCap=11&monthlyTransfersCap=12&weeklyTransfersCap=14
response = success/false
|
We manage connection and conversions caps. Are transfer caps connection on conversion?
|
|
UpdateTransferNumberEndPoint = $"{APIVersion}callRoutingContracts/updateTransferNumber.do";
requestUri = $"{BaseURL}{UpdateTransferNumberEndPoint}?contractID={contractID}&transferNumber={transferNumber}"
response = success/false
|
Update Target
|
curl -s -X PUT \
https://api.retreaver.com/targets/22592.json \
-H "Content-Type: application/json" \
-d '{"target":{"paused":true}}'
|
ChangeContractStatusEndPoint = $"{APIVersion}callRoutingContracts/changeStatus.do";
requestUri = $"{BaseURL}{ChangeContractStatusEndPoint}?contractID={contractId}&status={status}"
response = success/false
|
Update Target
|
curl -s -X PUT
https://api.retreaver.com/targets/tid/{contractId}.json \
-H "Content-Type: application/json" \
-d '{"target":{"paused":true}}'
|
CreateGeoTargetingRegionForCallContractEndPoint = $"{APIVersion}callRoutingContracts/createGeoTargetingRegion.php";
requestUri = $"{BaseURL}{CreateGeoTargetingRegionForCallContractEndPoint}?contractID={contractID}&countryCode={countryCode}®ionCode={regionCode}"
response = success/false
|
Tagging a Target
|
curl -s -X PUT \
https://api.retreaver.com/targets/22592.json \
-H "Content-Type: application/json" \
-d '{"target":{"tag_list":"<<>>"}}'
|
CreateGeoTargetingCountryForCallContractEndPoint = $"{APIVersion}callRoutingContracts/createGeoTargetingCountry.php";
requestUri = $"{BaseURL}{CreateGeoTargetingCountryForCallContractEndPoint}?contractID={contractID}&countryCode={countryCode}"
response = success/false
|
Not needed. We have no concept of Countries on their own Retreaver.
Contries are Tags on the Targets.
|
curl -s -X PUT \
https://api.retreaver.com/targets/22592.json \
-H "Content-Type: application/json" \
-d '{"target":{"tag_list":"<<>>"}}'
|
DeleteCallContractDeliveryScheduleEndPoint = $"{APIVersion}callRoutingContracts/deleteSchedule.do";
requestUri = $"{BaseURL}{DeleteCallContractDeliveryScheduleEndPoint}?callScheduleID={callScheduleID}"
response = success/false
|
Update Target Business hours
|
curl -s -X PUT \
https://api.retreaver.com/targets/22592.json \
-H "Content-Type: application/json" \
-d '{
"target":{
"business_hours_attributes":" {
"id": 156838,
"target_id": 22592,
"work_day": true,
"time_open": 0,
"time_close": 2400,
"day_of_week": 0,
"invert": false,
},
}
}'
|
CreateCallContractDeliveryScheduleEndPoint = $"{APIVersion}callRoutingContracts/createSchedule.do";
requestUri = $"{APIVersion}callRoutingContracts/createSchedule.do"
model = {
concurrentCallsCap = concurrencyCap,
contractID = leadPediaContractId,
startTime = startTimeFormatted,
endTime = endTimeFormatted,
Friday = “Yes”,
Monday = “No”,
Saturday = “Yes”,
Sunday =”No”,
Thursday =”Yes”,
Tuesday = “Yes”,
Wednesday =”No”,
}
response = success/false
|
Update business hours
|
curl -s -X PUT \
https://api.retreaver.com/targets/22592.json \
-H "Content-Type: application/json" \
-d '{
"target":{
"business_hours_attributes":" {
"id": 156838,
"target_id": 22592,
"work_day": true,
"time_open": 0,
"time_close": 2400,
"day_of_week": 0,
"invert": false,
},
}
}'
|
GetCallContractDeliveryScheduleEndPoint = $"{APIVersion}callRoutingContracts/getSchedule.do";
requestUri = $"{BaseURL}{GetCallContractDeliveryScheduleEndPoint}?contractID={contractID}&start={start}&limit={limit}"
response = callScheduleID, contractID, day, startTime, endTime, transfersCap,billableTransfersCap, revenueCap, concurrentCallsCap, overridePrice, price
|
Get Target
|
curl "https://api.retreaver.com/targets/6588.json?api_key=woofwoofwoof&company_id=1"
|
AssignMaskNumberEndPoint = $"{APIVersion}callRoutingContracts/assignMaskNumber.do";
requestUri = $"{BaseURL}{UnAssignMaskNumberEndPoint}?contractID={contractID}"
response = success/false
|
Update Target
|
curl -s -X PUT \
https://api.retreaver.com/targets/22592.json \
-H "Content-Type: application/json" \
-d '{"target":{"obfuscate":true}}'
|
UnAssignMaskNumberEndPoint = $"{APIVersion}callRoutingContracts/unassignMaskNumber.do";
requestUri = $"{BaseURL}{UnAssignMaskNumberEndPoint}?contractID={contractID}"
response = success/false
|
Update Target
|
curl -s -X PUT \
https://api.retreaver.com/targets/22592.json \
-H "Content-Type: application/json" \
-d '{"target":{"obfuscate":false}}'
|
DeleteGeoTargetingRegionForCallContractEndPoint = $"{APIVersion}callRoutingContracts/deleteGeoTargetingRegion.php";
requestUri = $"{BaseURL}{DeleteGeoTargetingRegionForCallContractEndPoint}?contractID={contractID}&countryCode={countryCode}®ionCode={regionCode}"
response = success/false
|
Update Target with the new list
|
curl -s -X PUT \
https://api.retreaver.com/targets/{contractID}.json \
-H "Content-Type: application/json" \
-d '{"target":{"tag_list":"<<>>"}}'
|
DeleteGeoTargetingCountryForCallContractEndPoint = $"{APIVersion}callRoutingContracts/deleteGeoTargetingCountry.php";
requestUri = $"{BaseURL}{DeleteGeoTargetingCountryForCallContractEndPoint}?contractID={contractID}&countryCode={countryCode}"
response = success/false
|
Update Target
|
curl -s -X PUT \
https://api.retreaver.com/targets/{contractID}.json \
-H "Content-Type: application/json" \
-d '{"target":{"tag_list":"<<>>"}}'
|
UpdateDistributionTimeoutForCallContractEndPoint = $"{APIVersion}callRoutingContracts/updateDistributionTimeout.do";
requestUri = $"{BaseURL}{UpdateDistributionTimeoutForCallContractEndPoint}?contractID={contractID}&offerID={offerID}&timeout={timeout}"
response = success/false
|
Update target
|
curl -s -X PUT \
https://api.retreaver.com/targets/{contractID}.json \
-H "Content-Type: application/json" \
-d '{"target":{"timeout":"{timeout}"}}'
|
UpdateRepeatCallsSettingsEndPoint = $"{APIVersion}callRoutingContracts/updateRepeatCallsSettings.do";
requestUri = https://api.leadspedia.com/core/v2/callRoutingContracts/updateRepeatCallsSettings.do?repeatBillable=Yes&transferRepeat=Yes&repeatCallDays=29&contractID=827
response = success/false
|
Update Target Conversion Group
|
curl -s -X POST \
https://api.retreaver.com/targets/tid/{contractID}.json \
-H "Content-Type: application/json" \
-d '{
"target":{
"conversion_groups": [
{
"dedup-days": {repeatCallDay},
"conversions": [{
"revenue": {defaultPrice},
"seconds": {120}
}]
}
]
}
}'
|
CallContractOffersEndPoint = $"{APIVersion}callRoutingContracts/getOffers.do";
requestUri = $"{BaseURL}{CallContractOffersEndPoint}?contractID={contractID}&start={start}&limit={limit}"
response = distributionID, offerID, contractID, createdOn, offerName, payoutModel,revenueModel, status
|
Get Targets
|
curl "https://api.retreaver.com/targets.json?api_key=woofwoofwoof&company_id=1"
|
GetPostBackSettingsForCallContractEndPoint = $"{APIVersion}callRoutingContracts/getPostbackSettings.do";
requestUri = $"{BaseURL}{GetPostBackSettingsForCallContractEndPoint}?contractID={contractID}"
response = postbackUrl
|
Get Target
|
curl "https://api.retreaver.com/targets/6588.json?api_key=woofwoofwoof&company_id=1"
|
Leadspedia |
New Terminology |
Retreaver |
AllOfferEndPoint = $"{APIVersion}offers/getAll.do";
requestUri = https://api.leadspedia.com/core/v2/offers/getAll.do?start=0&limit=100
response = offerID, offerName, revenueModel, payoutModel, defaultPayout, visibility, status,createdOn, callTrackingEnabled, mode, previewURL, featured, enableRPS, enablePPS,paySalePercentage, leadsPayoutMethod, leadsPayoutAmount, leadsPayoutPercentage,callsPayoutMethod, callsPayoutDuration, buyerID, buyerName, verticalID, verticalName,defaultRevenue
|
CreateCallOfferEndPoint = $"{APIVersion}custom/15552107/create-call-offer.php";
requestUri = https://api.leadspedia.com/core/v2/custom/15552107/create-calloffer.php?verticalID=200&transferType=Direct%20Transfer&offerName=%5BDemo%5D%20%20Test&advertiserID=412&payoutMethod=Pay%20Per%20Transfer%20Duration&duration=120&payout=25
response = offerId
|
requestUri = https://api.leadspedia.com/core/v2/custom/15552107/create-leadoffer.php?verticalID=200&postType=Host-n-Post&offerName=%5BDemo%5D%20%20Test&advertiserID=412&payoutMethod=Fixed%20Payout&duration=120&payout=25&percentage=23.1
response = offerId
|
CreateTrafficOfferEndPoint = $"{APIVersion}custom/15552107/create-traffic-offer.php";
requestUri = https://api.leadspedia.com/core/v2/custom/15552107/create-trafficoffer.php?verticalID=200&offerName=%5BDemo%5D%20%20Test&advertiserID=412&revenue=10&payout=5&url=https%3A%2F%2Fwww.example.com%2F%3Flp_request_id%3D1%2526sub1%3D1%2526sub2%3D3
response = offerId
|
GetOfferEndPoint = $"{APIVersion}offers/getBasicInfo.do";
requestUri = https://api.leadspedia.com/core/v2/offers/getBasicInfo.do?offerID=106
response = offerID, offerName, mode, status, approval, alternativeID, offerDescription,testingInstructions, offerRestrictions, offerExpirationDate, previewURL, notes
|
GetOfferLeadContractEndPoint = $"{APIVersion}offers/getLeadContracts.do";
requestUri = https://api.leadspedia.com/core/v2/offers/getLeadContracts.do?start=0&limit=100
response = offerID, offerName, contractID, contractName, contractStatus, buyerID, buyerName,buyerStatus, priority
|
GetOfferCallContractEndPoint = $"{APIVersion}offers/getCallRoutingContracts.do";
requestUri = https://api.leadspedia.com/core/v2/offers/getCallRoutingContracts.do?start=0&limit=100
response = offerID, offerName, contractID, contractName, contractStatus, buyerID, buyerName,buyerStatus, priority
|
UpdateOfferEndPoint = $"{APIVersion}offers/updateVisibility.do";
requestUri = $"{BaseURL}{UpdateOfferEndPoint}?offerID={offerID}&visibility={visibility}"
response = success/false
|
ChangeOfferStatusEndPoint = $"{APIVersion}offers/changeStatus.do";
requestUri = $"{BaseURL}{ChangeOfferStatusEndPoint}?offerID={offerID}&status={status}"
response = success/false
|
RenameOfferEndPoint = $"{APIVersion}offers/rename.do";
requestUri = $"{BaseURL}{RenameOfferEndPoint}?offerID={offerID}&offerName={offerName}"
response = success/false
|