PRODUCTION API END POINTS:
...
reconStatus = 2
In live reconciliation mode, it is possible to add for each transaction an additional field that allow the user to add enter the reason for the the reconciliation . This part made in an additional field. Please note this is optional.
If included, the reason value should be added in
"change_reason"
and these are the options:Suspected Fraud
Respondent Quality (speeding, straightlining, text response...)
Ghost Completes
Client Rejected
Duplicate Respondent
Any other variation is accepted and is recorded has as
Respondent Quality
.
Example Single Survey Call:
...
Code Block | ||
---|---|---|
| ||
[ { "transaction_id": "7lNK5AGrSL3bk5tV4gw0Tr", "change_reason": "Suspected Fraud" // optional }, { "transaction_id": "7dTdSUUWkR9DBs7rUi5jdT" }, { "transaction_id": "5EmEbeX9mEblEpwP6yHG1K" }, { "transaction_id": "6HkYQWFMcIcDOTxfnIi6op" } ] |
RESPONSE PAYLOAD:
Tip |
---|
CODE: 200 OK |
Code Block | ||
---|---|---|
| ||
{ "adjustment_id": "b43ce6a3-9578-4ba6-8cc5-a4add094a352", "summary": { "currentCompletes": 16, "previouslyRejectedCompletes": 0, "rejectingCompletesInCurrentUpload": 4, "acceptingCompletesInCurrentUpload": 0, "resultingCompletes": 16, "totalRawCompletes": 20, "totalRejects": 4, "rejectPercentage": "22.50", "desiredStatus": {21/33}, "eligible": 4, "rejected": 4, "completed": 0, "test": 0, "transactions": 4, "transactionsWithDesiredStatus": 0, "summaryPerSurvey": [ { "surveyId": 38226312, "currentCompletes": 16, "previouslyRejectedCompletes": 0, "rejectingCompletesInCurrentUpload": 4, "acceptingCompletesInCurrentUpload": 0, "resultingCompletes": 16, "totalRawCompletes": 20, "totalRejects": 4, "rejectPercentage": "22.50", "desiredStatus": 33, "eligible": 4, "liveReconciled": 2 "rejected": 4, "completed": 0, "test": 0, "transactions": 4, "transactionsWithDesiredStatus": 0, "validCap": true } ], "validCap": true, "rejectedinvoiced": 0, "isApiUser": true } } |
Note |
---|
NOTE: If one or more |
Response explanation:
"eligible"
: are the transactions that are eligible and the status changed within the process
"liveReconciledrejected"
: are the transactions that are already live reconciled from the list"rejected"
changed from Complete
to Buyer_Reconciliation_Reject
"completed
”: are the transactions that changed from Complete to Buyer_Reconciliation_Reject
Buyer_*
to Complete
"test"
: are the transactions captured via the button test (available in UI)
"transactions"
: total completes uploaded
"transactionsWithDesiredStatus"
: are the transactions that already have the status requested with this reconciliation process.
Note |
---|
NOTE: to get the transactions not eligible to reconcile or not reconciled withing the recon process you can use this formula
|
Errors Codes:
All transactions are invalid or belong to another survey
The reconciliation process will not start
Warning |
---|
CODE: 400 Bad Request |
Code Block |
---|
{
"ps_api_response_code": 9999,
"ps_api_response_message": "Unable to find surveys associated with submitted transactions"
} |
Some, but not all, transactions are invalid or belong to another survey
The reconciliation process will not start
Warning |
---|
CODE: 400 Bad Request |
Code Block |
---|
{
"ps_api_response_code": 9999,
"ps_api_response_message": "Some transactions belongs to another survey, Please check the request"
} |
All transactions are ineligible for reconciliation
The reconciliation process will not start
Warning |
---|
CODE: 400 Bad Request |
Code Block |
---|
{
"ps_api_response_code": 9999,
"ps_api_response_message": "File contain transactions that are ineligible for reconciliation. You may only reconcile completes in a closed survey, or completes from a prior month calendar or the survey has been already reconciled"
} |
The total TX rejects allowed is reached. The limit set at the moment is 50%
The reconciliation process will not start
Warning |
---|
CODE: 400 Bad Request |
Code Block |
---|
{
"ps_api_response_code": 9999,
"ps_api_response_message": "The number of total rejects, for this survey exceeds our threshold of 50% and can't be processed. Please upload a new file or contact PureSpectrum for assistance"
} |
DESCRIPTION:
STAGING API and Payload:
...
Code Block | ||
---|---|---|
| ||
{ "adjustment_id": "b43ce6a3-9578-4ba6-8cc5-a4add094a352", "summary": { "currentCompletes": 16, "previouslyRejectedCompletes": 0, "rejectingCompletesInCurrentUpload": 4, "acceptingCompletesInCurrentUpload": 0, "resultingCompletes": 16, "totalRawCompletes": 20, "totalRejects": 4, "rejectPercentage": "22.50", "desiredStatus": {33}, "eligible": 4, "rejected": 4, "completed": 0, "test": 0, "transactions": 4, "transactionsWithDesiredStatus": 0, "summaryPerSurvey": [ { "surveyId": 38226312, "currentCompletes": 16, "previouslyRejectedCompletes": 0, "rejectingCompletesInCurrentUpload": 4, "acceptingCompletesInCurrentUpload": 0, "resultingCompletes": 16, "totalRawCompletes": 20, "totalRejects": 4, "rejectPercentage": "22.50", "desiredStatus": 33, "eligible": 4, "liveReconciled": 2 "rejected": 4, "completed": 0, "test": 0, "transactions": 4, "transactionsWithDesiredStatus": 0, "validCap": true } ], "validCap": true, "rejectedinvoiced": 0, "isApiUser": true } } |
2 - Reconciliation multiple surveys (Bulk Reconciliation)
...
Code Block | ||
---|---|---|
| ||
{ "adjustment_id": "46e10177b43ce6a3-c3a39578-42464ba6-a33a8cc5-0c8306f3a9a6a4add094a352", "summary": { "currentCompletes": 16, "previouslyRejectedCompletes": 0, "rejectingCompletesInCurrentUpload": 4, "acceptingCompletesInCurrentUpload": 0, "resultingCompletes": 16, "totalRawCompletes": 20, "totalRejects": 4, "rejectPercentage": "22.50", "desiredStatus": {33}, "eligible": 4, "rejected": 4, "completed": 0, "test": 0, "transactions": 6,": 4, "transactionsWithDesiredStatus": 0, "summaryPerSurvey": [ { "surveyId": 38226312, "currentCompletes": 16, "previouslyRejectedCompletes": 0, "rejectingCompletesInCurrentUpload": 4, "acceptingCompletesInCurrentUpload": 0, "resultingCompletes": 16, "totalRawCompletes": 20, "totalRejects": 4, "rejectPercentage": "22.50", "desiredStatus": 33, "eligible": 6 4, "rejected": 4, "completed": 0, "test": 0, "transactions": 4, "transactionsWithDesiredStatus": 0, "validCap": true } ], "validCap": true, "liveReconciledinvoiced": 20, "rejectedisApiUser": 2true } } |
Info |
---|
NOTE 1: The system always records any Reconciliation process made via API or UI and this information can be found on the Survey dashboard → Reconciliation Tab |
These are the label show:
Reject : Reconciliation via UI - TX changes to
buyer_rejects
Reject (API): Reconciliation via API - TX changes to
buyer_rejects
Complete: Reconciliation via UI - TX changes to
complete
Complete (API): Reconciliation via UI - TX changes to
buyer_rejects
Accept: Reconciliation via UI - Any TX in the file will changes to
complete
if they are eligible, and the TX current completes not in the file, will changebuyer_rejects
Accept (API): Reconciliation via API - Any TX in the file will changes to
complete
if they are eligible, and the TX current completes not in the file, will changebuyer_rejects
Info |
---|
NOTE 2: if you need to test the Live Reconciliation API and you want to create some test transactions, please ask your account manager or contact the PureSpectrum product team and they will give you access to a document that will allow you to create a transaction via API. |
Info |
---|
NOTE 3: 10 pm PT is the absolute latest you can submit a reconciliation for it to be included in the next month's invoice. |