I have a tool which is in production.
The tool is: [login to view URL]
The tool is developed with the following:
- Files Included: JavaScript JS, HTML, CSS, PHP
- Software Framework: Laravel
- Software Version: PHP 8.x
The tool has an API. Has a YAML file/doc.
The issue I have is this:
1. The API CRUD has POST for creation of a link, and a PUT for update of a link. I can not create a link via a PUT and I can not update a link via a POST.
2. The links created via the API CRUD do not support unicode / asian characters.
3. The API does not have a POST/GET call that allows me to search for a link by it's Alias value and return the link record.
What I need delivered:
1. Create a new API call that is a POST or PUT that does the following:
- Searches the link table to see if the Alias field exists
- If a record does not exist - Create a new link record
- If a record exists – Update the record
2. To allow non-encoded asian / Unicode characters in the link being created via all Link API calls.
3. A new GET API call that allows me to search for a link record by it’s Alias field and returns the record.
On completion you will be required to provide support to have this moved into production. E.g. Compile locally on your computer, then I will upload the new files provided and we will need to test to confirm working in production.
A test site can be provided on a subdomain for you.
Please respond with confirming the project deliverables I've asked for and a fixed price.
Delivery must be within 7 days.
Example of a failing link due to the Unicode is:
Example 1:
[login to view URL]{"BookingInformation":{"WhereDidYouBookFrom":"ABC","BookingID":"ABC123","BookingConfirmationReferenceCode":"123ABC"},"PersonalInformation":{"Name":{"First":"请设","Last":"置姓名"}}}
Example 2:
[login to view URL]{"BookingInformation":{"WhereDidYouBookFrom":"ABC","BookingID":"ABC123","BookingConfirmationReferenceCode":"123ABC"},"PersonalInformation":{"Name":{"First":"BOB","Last":"置姓名"}}}
Example of a working URL with no Unicode / Asian characters:
[login to view URL]{"BookingInformation":{"WhereDidYouBookFrom":"ABC","BookingID":"ABC123","BookingConfirmationReferenceCode":"123ABC"},"PersonalInformation":{"Name":{"First":"BOB","Last":"ABC"}}}
The link POST call looks like this:
{
"alias": "short",
"type": "direct",
"password": null,
"name":"Apple",
"active": true,
"expires_at": "2022-05-06",
"activates_at": "2022-05-06",
"utm": "utm_source=google&utm_medium=banner",
"domain_id": null,
"title": "Google",
"name": "Apple",
"description": "Search Engine",
"pixels": [
495
],
"groups": [
54
],
"rules": [
{
"type": "geo",
"key": "us",
"value": "[login to view URL]"
}
],
"long_url": "[login to view URL]"
}
The link GET call looks like this:
"status": "success",
"link": {
"id": 1,
"title": "reddit: the front page of the internet",
"hash": "rF7r6",
"alias": "red",
"long_url": "[login to view URL]",
"short_url": "[login to view URL]",
"disabled": false,
"expires_at": "2021-05-24 18:03:59",
"description": "Reddit is a network of communities based on people's interests. Find communities you're interested in, and become part of an online community!",
"type": "direct",
"created_at": "2021-05-24 18:03:59",
"updated_at": "2021-05-24 18:03:59",
"clicked_at": "2021-05-24 18:03:59",
"deleted_at": "2021-05-24 18:03:59",
"image": "[login to view URL]",
"clicks_count": 854,
"expiration_clicks": 10,
"utm": "utm_source=google&utm_medium=banner",
"has_password": false,
"rules": [
{
"type": "geo",
"key": "us",
"value": "[login to view URL]"
}
],
"tags": [
{
"id": 1,
"name": "favorites"
}
],
"pixels": [
{
"name": "Facebook Pixel",
"type": "facebook",
"pixel_id": "4564654564",
"head_code": "string",
"body_code": "string"
}
],
"groups": [
{
"name": "Social Media",
"active": false,
"hash": "my-group",
"rotator": false,
"description": "My group containing social media links",
"created_at": "2021-05-24 18:03:59",
"updated_at": "2021-05-24 18:03:59"
}
]
}
}