API Integration for UVdesk Community Helpdesk System.

Overview

The API bundle allows integration developers to utilize uvdesk's REST api to easily communicate with their community helpdesk system.

Installation

This bundle can be easily integrated into any symfony application (though it is recommended that you're using Symfony 4 as things have changed drastically with the newer Symfony versions). Before continuing, make sure that you're using PHP 7.2 or higher and have Composer installed.

To require the api bundle into your symfony project, simply run the following from your project root:

$ composer require uvdesk/api-bundle

After installing api bundle run the below command:

$ php bin/console doctrine:schema:update --force

Finally clear your project cache by below command(write prod if running in production environment i.e --env prod):

$ php bin/console cache:clear --env dev

Getting Started

License

The API Bundle and libraries included within the bundle are released under the MIT or BSD license.

Comments
  • Unable to fetch or create tickets using Rest API.

    Unable to fetch or create tickets using Rest API.

    I created a token for the authentication in uvdesk. image

    and I'm unable to fetch tickets using it. There is an internal server error found when trying to fetch tickets. image

    May I know what did I miss or is there any log file to trace the problem?

    opened by wkm97 15
  • create with multiple attachments

    create with multiple attachments

    When i upload multiple attachments to uvdesk, it only uploads the last file in the set of files sent, and discards the rest. It does not accept an array of files when creating a ticket or replying to a ticket. It only takes one.

    opened by temiotu 8
  • Create new ticket with attachment

    Create new ticket with attachment

    Hi!

    I am using Python to create new tickets with this code:

    import requests
    
    headers = {"Authorization": "Bearer TOKEN"}
    
    payload = {
        "message": "Ticket Message",
        "actAsType": "customer",
        "name": "Name",
        "subject": "Ticket Subject",
        "from": "[email protected]",
    }
    
    r = requests.post("http://my_server/api/v1/ticket", data=payload, headers=headers)
    
    print r.content
    

    Now I want to know how can I create this same ticket but with attachment.

    Thanks!

    Fixed in master 
    opened by mikelga 8
  • Unable to assign ticket type when creating

    Unable to assign ticket type when creating

    Description
    When creating a ticket using the api bundle it gets the default ticket type even when sending a type field with the request.

    How to reproduce
    Create two Ticket Types in the dashboard

    • default
    • support

    Send a POST request to my-domain/api/v1/ticket with

    {
        "name": "John Dow",
        "from": "[email protected]",
        "subject": "Example",
        "message": "Testing example.",
        "type": "support"
    }
    

    The newly created ticket has the default ticket type.

    Possible Cause
    In Webkul\UVDesk\ApiBundle\API\Tickets::createTicket we don't do anything with $data['type']

    opened by menachemkorf 5
  •  API GET tickets ActAsType customer

    API GET tickets ActAsType customer

    Description
    Fetching all Tickets actAsType: customer responds with wrong list , same as agent, full long list of all tickets.

    How to reproduce
    API GET tickets ActAsType customer

    Possible Solution
    line 34 $data['actAsEmail'] not defined in api-bundle/API/Tickets.php line 45 similar

    opened by akaenko 3
  • I can't fetch tickets belonging to a particular email

    I can't fetch tickets belonging to a particular email

    Description

    I'm trying to fetch the tickets belonging to a particular user. As suggested by the API documentation (https://github.com/uvdesk/api-bundle/wiki/Ticket-Related-APIs) I tried: To send a GET request to this endpoint: {my_localhost_url}/api/v1/tickets?actAsEmail={[email protected]}.

    The API response is the same everytime, regardless of the email parameter. So to clarify, everytime I receive a response containing all the tickets no matter their emails.

    If I try this: {my_localhost_url}/api/v1/tickets?actAsEmail={[email protected]}&actAsType=customer The API returns an error.

    How to reproduce

    To reproduce this issue:

    1. Donwload and install uvdesk-community-skeleton.
    2. Install the api-bundle.
    3. Set up your api, following these steps: https://www.uvdesk.com/en/blog/api-resource/.
    4. Open Postman and try to fetch tickets belonging to a particular email using the above mentioned method.

    Thanks for your help.

    opened by ricardotormo 2
  • Can not reply a thread

    Can not reply a thread

    How to reproduce
    I created a ticket using the API Screenshot from 2020-12-10 19-20-04

    I made a post request http://localhost:8000/api/v1/ticket/1/thread to reply the thread, and below is the body { "message":"why should I Help you", "actAsType":"customer", "actAsEmail":"[email protected]", "threadType":"reply" } This is the response and no error message in the terminal { "status": false, "message": "An unexpected error occurred. Please try again later." }

    opened by phenomenalDenzel 2
  • API giving 404

    API giving 404

    https://www.uvdesk.com/en/blog/api-resource/

    I installed the API using the following guide the above guide, however when I attempt to pull for example tickets.json or similar using curl I get back a "404: We were not able to find the page you are looking for." page instead.

    Am I missing a step here? The API section of the panel is available, and a token has been created.

    opened by sinkillerj 2
  • consistency issue with the repositoies

    consistency issue with the repositoies

    Description
    When installing I get the message

    “Could not find package uvdesk/api-bundle. It was however found via repository search, which indicates a consistency issue with the repository”

    When specifying a release ie composer require uvdesk/api-bundle:1.0.4 i get the message

    “Yor requirements could not be resolved to an installable set of packages” (for all releases i tried this was the answer)

    min-stability is set to dev

    updated composer and symfony and no change. running php 7.4

    opened by steveb85 1
  • Fix bug. Allow to fetch tickets (of type actAsType:customer) using th…

    Fix bug. Allow to fetch tickets (of type actAsType:customer) using th…

    1. Why is this change necessary?

    There's a bug, so when you try to follow the API instructions, in order to fetch tickets, you can't fetch tickets based on a particular customer email.

    2. What does this change do, exactly?

    The code below has some problems, I guess:

     $customer = $entityManager->getRepository('UVDeskCoreFrameworkBundle:User')->findOneByEmail($data['actAsEmail']);
      if ($customer) {
          $json = $repository->getAllCustomerTickets($request->query, $this->container, $customer);
      }
    

    The first line:

     $customer = $entityManager->getRepository('UVDeskCoreFrameworkBundle:User')->findOneByEmail($data['actAsEmail']);
    

    Should be:

    $email = $request->query->get('actAsEmail');
    $customer = $entityManager->getRepository('UVDeskCoreFrameworkBundle:User')->findOneByEmail($email);
    

    Because the API should be expecting the get query params.

    The third line:

    $json = $repository->getAllCustomerTickets($request->query, $this->container, $customer);
    

    Should be:

    $json = $ticketRepository->getAllCustomerTickets($request->query, $this->container, $customer);
    

    because $repository is not defined. I guess we want to access the $ticketRepository to get the customers.

    3. Please link to the relevant issues (if any).

    I opened a issue here: https://github.com/uvdesk/api-bundle/issues/16

    It should be mentioned that if you try to filter by agent, that is still not working. If you try this endpoint: {my_localhost_url}/api/v1/tickets?actAsEmail={[email protected]}&actAsType=agent The API returns:

    {
        "status": false,
        "message": "An unexpected error occurred. Please try again later."
    }
    

    So I guess there's a problem with this line:

    $user = $entityManager->getRepository('UVDeskCoreFrameworkBundle:User')->findOneByEmail($data['actAsEmail']);
    

    You could change $data['actAsEmail'] by $request->query->get('actAsEmail') and the error disappear. The problem is that after that, if we try to filter by agent email the API returns all the tickets everytime.

    opened by ricardotormo 1
  • I can't assign a ticket using the API

    I can't assign a ticket using the API

    Description

    I'm trying to assign a ticket to a particular agent. As suggested by the API documentation (https://github.com/uvdesk/api-bundle/wiki/Ticket-Related-APIs) I tried: To send a PUT request to this endpoint: {my_localhost_url}/api/v1/ticket/{ticketId}/agent. I assume that "agent", after the last slash, is the id of the agent you want to assign the ticket, isn't it?

    The API response that I got is this:

    {
        "status": false,
        "message": "No route found for \"PUT /api/v1/ticket/2/4\""
    }
    

    I should say that I've verified and the agent id exists. Same thing for the ticket which id is 2.

    How to reproduce

    To reproduce this issue:

    1. Donwload and install uvdesk-community-skeleton.
    2. Install the api-bundle.
    3. Set up your api, following these steps: https://www.uvdesk.com/en/blog/api-resource/.
    4. Open Postman and try to assign a ticket using the above mentioned method.

    Thanks in advance!

    opened by ricardotormo 1
  • When replying from the customer account with the postman API so not going to email to the agent side

    When replying from the customer account with the postman API so not going to email to the agent side

    Description
    When replying from the customer account with the postman API so not going to email to the agent side

    How to reproduce

    Issue 1:

    Step 1: Go to the postman side and reply from the customer account Step 2: Now check the agent's email here nothing receives email notification but also going to the customer email with this email template: New Reply Added on ticket #id

    image

    Issue 2:

    With the same steps with collaborators add in the ticket and reply from the customer or collaborators side so email notifications receive to the own customer and collaborators account but not receive email notifications to agent account.

    Issue 3:

    If the customer replies from the postman API side so collaborator is not added as a CC in the ticket thread like this:

    image

    Possible Solution
    If the reply from the customer or collaborator side with the postman API side so should go to email notification to agent and collaborators side with the right email notification:

    image

    If a reply from the customer account from the postman side should be collaborator account added as a CC in ticket thread like this:

    image

    Bug 
    opened by Komal-sharma-2712 0
  • When replying with a note added to the customer account so should not be added as a note in the tickets

    When replying with a note added to the customer account so should not be added as a note in the tickets

    Description
    When replying with a note and forward option added to the customer account so should not be added as a note and forward in the ticket thread

    How to reproduce
    Step 1: Reply from the postman side with the note and forward option choose Step 2: Here added actAsType and actAsEmail is customer account Step 3: Go to the admin panel and here note and forward added from the customer account:

    Note added from the customer account:

    image

    Forward added from the customer account:

    image

    Possible Solution

    If we use reply add from the postman side with the customer account so should not be added a note and forwarded with the customer account because on uvdesk helpdesk from the customer side is not available the note and forward option.

    Bug 
    opened by Komal-sharma-2712 0
  • When ticket is in the trashed tab should not be the agent updated

    When ticket is in the trashed tab should not be the agent updated

    Description
    When the ticket is in the trashed tab should not be the agent updated at this moment

    How to reproduce
    Step 1: Create a ticket and trash the ticket Step 2: Now go to the postman and update the agent from the postman API side with the trashed ticket id

    Using this API:

    API URL: {helpdesk_url}/api/v1/ticket/{ticketId}

    Method: [PATCH]

    Authorization: Basic {API token}

    Inputs for agent Update:

    property: agent(property is agent)

    value: agent Id(agent id)

    Note: These inputs give in body -> x-www-form-urlencoded

    Step 3: Here the ticket agent is updated successfully

    Possible Solution
    If we are updating the agent with a trashed ticket id from the postman side should not be updated the agent because on the uvdesk helpdesk trashed ticket agent is not updated:

    image

    Bug 
    opened by Komal-sharma-2712 0
  • If the ticket deletes permanently from the postman side so attachments are not deleted from the physical path: [public/assets/threads]

    If the ticket deletes permanently from the postman side so attachments are not deleted from the physical path: [public/assets/threads]

    Description
    If the ticket deletes permanently from the postman side so attachments are not deleted from the physical path: [public/assets/threads]

    How to reproduce

    Step 1: Tickets delete permanently from the postman side

    Step 2: Now check in the physical path of the project here are attachments not deleted from this path:

    [public/assets/threads]

    Possible Solution
    If we delete permanently from the postman side so attachments should be deleted from the physical path: [public/assets/threads]

    Bug 
    opened by Komal-sharma-2712 0
  • If we use multiple attachments in creates tickets and replies from the postman side should be added multiple attachments

    If we use multiple attachments in creates tickets and replies from the postman side should be added multiple attachments

    Description
    If we use multiple attachments in creates tickets and replies from the postman side should be added multiple attachments

    How to reproduce
    Step 1: Tickets creates or reply from the postman's side with multiple attachments

    Step 2: Now go to the admin dashboard and here shown only one attachment:

    image

    Possible Solution

    If we use multiple attachments in creates tickets and replies from the postman side should be added multiple attachments

    Bug 
    opened by Komal-sharma-2712 0
  • If we are creating a ticket from the postman side, click on ticket view showing an error

    If we are creating a ticket from the postman side, click on ticket view showing an error

    Description
    If we are creating a ticket from the postman side, click on ticket view showing an error

    How to reproduce
    Step 1: Ticket created with this case and send:

    message : (your message) actAsType : (agent) actAsEmail: (any customer email) name: (customer name) subject: (Ticket subject) from: (Agent Email)

    API-agent,agent-id,cust-id

    Step 2: Now go to the admin panel and click on the created ticket with this case after clicking on it shows an error:

    image

    Possible Solution
    If we create a ticket and click on the ticket should be open

    Bug 
    opened by Komal-sharma-2712 0
Releases(v1.1.1)
  • v1.1.1(Sep 13, 2022)

  • v1.1.0(Mar 25, 2022)

  • v1.0.4(Nov 8, 2021)

    Release Notes v1.0.4

    :rocket: [Misc. Updates]

    • Compatibility with PHP 8.
    • Composer 2 support.

    :bug: [Bug Fixes]

    • Issue #10: API bundle compatibility with composer latest version 2.0.

    Please refer to CHANGELOG-1.0.md for more information regarding updates included in this release.

    Source code(tar.gz)
    Source code(zip)
  • v1.0.3(Mar 3, 2021)

    Release Notes v1.0.3

    :bug: [Bug Fixes]

    • Issue #16: I can't fetch tickets belonging to a particular email.
    • Issue #15: I can't assign a ticket using the API.
    • Issue #14: API GET tickets ActAsType customer.
    • Issue #13: Still Cannot Create Multiple attachments for a ticket.
    • Issue #12: create with multiple attachments.
    • Issue #11: Cannot download attachment from uvdesk api bundle.
    • Issue #9: Can not reply a thread.
    • Issue #8: Create new ticket with attachment Fixed in master.
    • Issue #7: No route found.
    • Issue #6: Unable to assign ticket type when creating.

    Please refer to CHANGELOG-1.0.md for more information regarding updates included in this release.

    Source code(tar.gz)
    Source code(zip)
  • v1.0.2(Mar 30, 2020)

    Release Notes v1.0.2

    :sparkles: New API's

    Ticket API's:

    • Getting all Ticket Types.
    • Deleting the ticket forever action after trash.
    • Assigning a ticket to agent.
    • Adding and removing collaborator for a ticket.
    • Downloading the attachent for a ticket.
    • Downloading zip file for a ticket.

    Updating the ticket properties:

    • Updating a agent on a ticket.
    • Updating a status on a ticket.
    • Updating a priority on a ticket.
    • Updating a group on a ticket.
    • Updating a team on a ticket.
    • Updating a type on a ticket.
    • Removing label on a ticket.

    Please refer to CHANGELOG-1.0.md for more information regarding updates included in this release.

    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(Feb 24, 2020)

    Release Notes v1.0.1:

    :rocket: New Updates

    • Ticket Related APIs: Added Ticket Related APIs like Ticket Create, Fetch all tickets, View or load a ticket, Trash ticket, Ticket reply (Add a reply to ticket).

    Please refer to CHANGELOG-1.0.md for more information regarding updates included in this release.

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Jan 21, 2020)

    Release Notes:

    :sparkles: Features

    • Access Token Generate: Can easily create multiple token from member panel and use it for API request.

    Please refer to CHANGELOG-1.0.md for more information regarding updates included in this release.

    Source code(tar.gz)
    Source code(zip)
Owner
UVdesk
UVdesk is an online SAAS based customer support helpdesk software which allows customers to communicate over email , Social media with task management.
UVdesk
Spotweb is a decentralized usenet community based on the Spotnet protocol.

Spotweb is a decentralized usenet community based on the Spotnet protocol. Spotweb requires an operational webserver with PHP5.6 installed, it

Spotweb 433 Jan 1, 2023
This is a community-based project designed in the view of R.V.R & J.C College of Engineering hostel mess maintenance.

Hostel-Maintenance-System Introduction This is a community-based project designed in the view of R.V.R & J.C College of Engineering hostel mess mainte

 Datta Sai Mallipeddi 1 Oct 23, 2021
Spotweb is a decentralized usenet community based on the Spotnet protocol.

Spotweb Spotweb is a decentralized usenet community based on the Spotnet protocol. Spotweb requires an operational webserver with PHP5.6 installed, it

[sCRiPTz-TEAM] 2 Nov 29, 2021
The Laravel.io Community Portal.

Laravel.io This is the repository for the Laravel.io community portal. The code is entirely open source and licensed under the MIT license. We welcome

Laravel.io 2.2k Dec 23, 2022
Community-created, unofficial PHP SDK for the Skynet Decentralized Internet Network. siasky.net

Skynet PHP SDK This SDK is a community-created, unofficial SDK in PHP for the Skynet Decentralized Internet Network. It is taken as primarily a port f

Derrick Hammer 4 Dec 26, 2022
Thirdweb-wp - A community WordPress plugin for thirdweb. Turn your WordPress website into Web3 instantly and easily with thirdweb. 💻🌏

Thirdweb WP ?? Nominate (@WarenGonzaga) as GitHub Star. If you appreciate his hardwork and dedication to open source. A community WordPress plugin for

Waren Gonzaga 8 Dec 19, 2022
Official OpenMage LTS codebase | Migrate easily from Magento Community Edition in minutes

Official OpenMage LTS codebase | Migrate easily from Magento Community Edition in minutes! Download the source code for free or contribute to OpenMage LTS | Security vulnerability patches, bug fixes, performance improvements and more.

OpenMage 782 Jan 3, 2023
Magento - Magento Community Editions

Magento Community Edition /// THIS REPOSITORY IS DEPREACTED /// 1.9.4.1 will be the last version update. Please switch over to OpenMage! Either to the

FireGento e. V. 107 Oct 17, 2022
A htaccess boilerplate for all Magento Community installations. Features focus on speed, SEO and security.

magento-htaccess A htaccess boilerplate for all Magento Community installations. Features focus on speed, SEO and security. The file should be placed

Creare 114 Sep 18, 2022
A Magento 1.x module which facilitates automatic purging of static assets from HTTP caches such as browser cache, CDN, Varnish, etc using best practices outlined within the HTML5 boilerplate community.

Magento Cachebuster Cachebuster is a Magento module which facilitates automatic purging of static assets from HTTP caches such as browser cache, CDN,

Gordon Knoppe 129 Apr 1, 2022
A Magento community sourced security pre-flight checklist.

Magento Security Checklist This is a community sourced checklist of security measures to take before launching your store. Think of it as a pre-flight

Talesh Seeparsan 119 Oct 27, 2022
Magento React Native Community

Magento React Native Community New version of the https://github.com/troublediehard/magento-react-native based on GraphQL api. Which will be covered w

Dima Portenko 52 Dec 21, 2022
Magento2 Spanish (Argentina) language pack build from Crowdin community translation tool.

Magento2-language-es_ar Magento2 Spanish (Argentina) language pack build from Crowdin community translation tool. Paquete de idioma de Español (Argent

SemExpert 2 Apr 7, 2021
Deutsches Sprachpaket für Magento 2 Community Edition

Magento 2 German LocalePack de_DE Deutsches Sprachpaket für Magento 2 Community Edition (Version 2.4.2) Die Übersetzung wurde von deutschen Mutterspra

Splendid Internet GmbH 87 Sep 25, 2022
A dockerized magento 2 community environment ready for development or production.

Painless Magento 2 & 1 A dockerized magento 2 community environment ready for development or production. It supports magento 1.9.x for development Ins

Cocoa Web Studio 10 Apr 23, 2022
CodeFever Community Edition (A Self-hosted Git Services)

CodeFever Community Edition (A Self-hosted Git Services)

PGYER 2.3k Jan 7, 2023
Raspberry Pi wifi hotspot with an offline-first community portal. Optionally shares internet access over Tor.

Raspberry Pi wifi hotspot with an offline-first community portal. Optionally shares internet access over Tor.

Martti Malmi 17 Dec 15, 2022
Enabling community-powered extension and improvements of the best time indications given.

Enabling community-powered extension and improvements of the best time indications given.

Digital Markethingz 2 Jun 29, 2022